Developing Scalable Apps for      deploying on IaaS Cloud              Munish K Gupta1
Who am I?    • Current Avatar       • Practice Lead – Architecture for High Performance Applications         (AHiPA) @ Wip...
Expectation(s)    • This session will not solve your problems !    • My goals are        • To make you think harder about ...
High Performance Applications – Impact Factors                                                                           •...
What is Scalability?    Scalability means ability of an application to handle growing amount    of data and concurrency in...
Darshini Model                     • Stateful                     • Synchronous                     • No Load             ...
McDonald’s Model                       • Load Balanced                       • Stateless                       • Asynchron...
Go Stateless!    • State == Sessions !              Local             Sessions       Centralized        Session           ...
Load Balancing                                               Load Balanced the DB                                         ...
Go Asynchronous !     • Break down the request into parts – Go      Event Driven       all the way !                      ...
Best Practices     • Partition by Function - Shard/Segment your Application..       Spread Out !     • Think Horizontal, N...
Best Practices     • Continuous Application Monitoring     • Test your ability to scale !     • Do not underestimate the i...
Summary     •   What is Scalability?     •   Factors that impact Application Scalability     •   Darshini vs McDonald Mode...
Munish K Gupta     write2munish (at) gmail dot com       Twitter       @write2munish                           Blog(s)    ...
Upcoming SlideShare
Loading in …5
×

Developing Scalable Apps for deploying on IaaS Cloud CDC April 2012

2,165 views
2,075 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,165
On SlideShare
0
From Embeds
0
Number of Embeds
582
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • The below and following notes on the template slides are to guide you only. In your final presentation, you may delete these notes and add relevant notes if any.Title slide:Title– should not exceed beyond 3 lines, font size 30-34, Arial Bold (Font size for the title of the PPT can vary between 30-34, Arial, Bold depending on the amount of text, however should not be smaller than 30 font size)Name should not exceed beyond 1 line, Designation; font size to remain at 16, Arial normalPlease keep the title slide simple, just the logo, title and name and designation to appear. No other graphic elements or any design, photograph, image can be added to this slide, alignment to remain the same
  • Blank slideyou may use this to insert or show screenshots etcIf content is added in this slide you will need to use bulleted text
  • Vertical Image slide – Use this slide for a vertical image with text that flows in a running paragraphText– font size 20, ArialClick on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the imageIn the text box on the right the font size should not be beyond 20, Arial normal, and ensure the maximum content used is aligned to the size of the image, content should not exceed beyond the size of the image
  • Vertical Image slide – Use this slide for a vertical image with bulleted textText– font size 20, ArialClick on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the imageIn the text box on the right the font size should not be beyond 20, Arial normal, and ensure the maximum content used is aligned to the size of the image, content should not exceed beyond the size of the image
  • Horizontal Image slide – Horizontal image with text that flows in a running paragraphTitle – font size 20, ArialClick on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the imageIn the text box below the image the font size should not be beyond 18, Arial normal, and ensure the maximum content used is aligned to 5 lines, content should not exceed beyond the image size
  • Horizontal Image slide – Horizontal image with bulleted textTitle – font size 20, ArialClick on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the imageIn the text box below the bulleted text should not be beyond one lineFont size should be 20, Arial normal and should not exceed beyond 4 bullet points
  • 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

    ×