Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Microsoft Dynamics CRM 2013 Customization
Next
Download to read offline and view in fullscreen.

0

Share

Download to read offline

Developing Scalable Apps for deploying on IaaS Cloud CDC April 2012

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Developing Scalable Apps for deploying on IaaS Cloud CDC April 2012

  1. 1. Developing Scalable Apps for deploying on IaaS Cloud Munish K Gupta1
  2. 2. Who am I? • 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.in2
  3. 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 that help improve Scalability of Application • Best Practices when building scalable applications3
  4. 4. High Performance Applications – Impact Factors • Topology of the Reduce Solution Latency • Single Point of Solution Failure(s) Architecture • Chosen Product Stack • Integration Strategy • Application Design Application • Choice of requirements Application Frameworks Architecture • Standards Enforcement • Build & Release High Scalability Availability • Hardware Choices made • Hardware/Software Deployment Sizing Architecture • System Configuration(s) • Hosting Environment • Application/System Monitoring • Capacity Planning4
  5. 5. What is Scalability? Scalability means ability of an application to handle growing amount of data and concurrency in an efficient manner without impacting performance.5
  6. 6. Darshini Model • Stateful • Synchronous • No Load Balancing • No failover6
  7. 7. McDonald’s Model • Load Balanced • Stateless • Asynchronous • Event Driven / Message based • Partition by function7
  8. 8. Go Stateless! • State == Sessions ! Local Sessions Centralized Session No Sessions8
  9. 9. Load Balancing Load Balanced the DB Servers with active sync Load Balanced the DB Servers using Master-Slave replications mode Amazon RDS or SQL Azure options Adding more web server and application servers9
  10. 10. Go Asynchronous ! • Break down the request into parts – Go Event Driven all the way ! Architecture • Isolate those that can be executed in non blocking mode (asynchronously) • Queue the information needed to complete the Task (messages) • Process the queues on the background thread (non blocking)10
  11. 11. Best Practices • Partition by Function - Shard/Segment your Application.. Spread Out ! • Think Horizontal, Not Vertical • Scale Out • Use commodity equipment • Hardware and Memory is cheap - Add plenty of RAM and use 64bit hardware • Design application with failure in mind • Use caching wherever possible ! • Bring homogeneity in your application • Do not have too many moving parts • Think Simplicity • Define the QoS for your application11
  12. 12. Best Practices • Continuous Application Monitoring • Test your ability to scale ! • Do not underestimate the importance of Processes & related documentation • Configuration Management • Release Management • Change Management • Source Control • Issue Tracking • Coding Standards • Minimize human intervention • Learn from Others !12
  13. 13. Summary • What is Scalability? • Factors that impact Application Scalability • Darshini vs McDonald Model • Scalability Patterns and Best Practices 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.13
  14. 14. Munish K Gupta write2munish (at) gmail dot com Twitter @write2munish Blog(s) www.techspot.co.in14 www.akkaessentials.in

Views

Total views

2,498

On Slideshare

0

From embeds

0

Number of embeds

585

Actions

Downloads

21

Shares

0

Comments

0

Likes

0

×