10
1 Munish K Gupta Patterns for Building High Performance Applications in Cloud

Patterns for Building High Performance Applications in Cloud - CloudConnect2012

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

1

Munish K Gupta

Patterns for Building High Performance Applications in Cloud

Page 2: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

2

Who am I? Twitter - @write2munish

• Current Avatar• Practice Lead – Architecture for High Performance Applications

(AHiPA) @ Wipro Technologies• Work with lot of open source stuff – Play Framework, Akka,

Scala, mongodb, redis, LAMP stack

• Previous Avatar• Chief Architect for ideaken.com • Worked @ Wipro, Sapient, MindTree and Siemens

• My Blogs• http://www.techspot.co.in• http://www.akkaessentails.in

Page 3: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

3

Expectation(s)

• This session will not solve your problems !

• My goals are• To make you think harder about your problems• Help you evaluate possible solutions

• Agenda• Patterns for building High Performance Applications

Page 4: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

4

Patterns for building High Performance Applications

Reduce Latency

Scalability

High Availability

Application requirements

Page 5: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

5

Scalability

No Load Balancing vs Load Balanced

Stateful vs Stateless

Synchronous vs Asynchronous

Page 6: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

6

Reduce Latency

ESB

SOA

Simplify – Not too many moving parts, simple

application tiering

Bring data close to customer – Cache (browser, edge, webserver, data cache)

Host closer to Customer – choose Cloud Vendor wisely

Page 7: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

7

Fail Over

Master - MasterMaster - Slave

Write

WriteRead

Read

Update

High Availability

Master - Master Replication mode

Master-Slave replications mode

Page 8: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

8

High Performance Applications – Impact Factors

• Topology of the Solution

• Single Point of Failure(s)

• Chosen Product Stack

• Product Integration Strategy

Solution Architecture

• Application Design• Choice of

Frameworks• Standards

Enforcement• Build & Release

Application Architecture

• Hardware Choices made

• Hardware/Software Sizing

• System Configuration(s)

• Hosting Environment• Application/System

Monitoring• Capacity Planning

Deployment Architecture

Reduce Latency

Scalability

High Availability

Application requirements

Page 9: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

9

Summary

• Patterns• Scalability

• Load Balancer• Asynchronous• Stateless

• Reducing Latency• Bring data closer to end user• Do not have too many moving parts• Host your application close to users!

• High Availability• Fail Over• Redundancy

You can read all the books in the world about riding a bicycle, but you will not be able to ride one until you

get on it and fall off a few times.

Cloud Attributes

Service based

Scalable and Elastic

SharedMetered usage

Uses Internet

Technologies

Page 10: Patterns for Building High Performance Applications in Cloud - CloudConnect2012

10

Munish K Gupta

write2munish (at) gmail dot com

Twitter @write2munish

Blog(s) www.techspot.co.in

www.akkaessentials.in