1
Munish K Gupta
Patterns for Building High Performance Applications in Cloud
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
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
4
Patterns for building High Performance Applications
Reduce Latency
Scalability
High Availability
Application requirements
5
Scalability
No Load Balancing vs Load Balanced
Stateful vs Stateless
Synchronous vs Asynchronous
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
7
Fail Over
Master - MasterMaster - Slave
Write
WriteRead
Read
Update
High Availability
Master - Master Replication mode
Master-Slave replications mode
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
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
10
Munish K Gupta
write2munish (at) gmail dot com
Twitter @write2munish
Blog(s) www.techspot.co.in
www.akkaessentials.in