SlideShare une entreprise Scribd logo
1  sur  14
Developing Scalable Apps for
      deploying on IaaS Cloud
              Munish K Gupta




1
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.in


2
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 applications




3
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 Planning


4
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
Darshini Model


                     • Stateful
                     • Synchronous
                     • No Load
                       Balancing
                     • No failover




6
McDonald’s Model


                       • Load Balanced
                       • Stateless
                       • Asynchronous
                       • Event Driven /
                         Message based
                       • Partition by
                         function




7
Go Stateless!

    • State == Sessions !



              Local
             Sessions



       Centralized
        Session



               No
             Sessions




8
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 servers


9
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
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 application



11
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
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
Munish K Gupta
     write2munish (at) gmail dot com

       Twitter
       @write2munish
                           Blog(s)
                 www.techspot.co.in
14             www.akkaessentials.in

Contenu connexe

Plus de Munish Gupta

Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Munish Gupta
 
Websphere Portal V6.1 Security Overview
Websphere Portal V6.1 Security OverviewWebsphere Portal V6.1 Security Overview
Websphere Portal V6.1 Security OverviewMunish Gupta
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalMunish Gupta
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWSMunish Gupta
 
Web Sphere Portal Security
Web Sphere Portal SecurityWeb Sphere Portal Security
Web Sphere Portal SecurityMunish Gupta
 
Best of open source in applications
Best of open source in applicationsBest of open source in applications
Best of open source in applicationsMunish Gupta
 

Plus de Munish Gupta (7)

Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012Patterns for Building High Performance Applications in Cloud - CloudConnect2012
Patterns for Building High Performance Applications in Cloud - CloudConnect2012
 
Websphere Portal V6.1 Security Overview
Websphere Portal V6.1 Security OverviewWebsphere Portal V6.1 Security Overview
Websphere Portal V6.1 Security Overview
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWS
 
Evolution Of Java
Evolution Of JavaEvolution Of Java
Evolution Of Java
 
Web Sphere Portal Security
Web Sphere Portal SecurityWeb Sphere Portal Security
Web Sphere Portal Security
 
Best of open source in applications
Best of open source in applicationsBest of open source in applications
Best of open source in applications
 

Dernier

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Dernier (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Developing Scalable Apps for deploying on IaaS Cloud CDC April 2012

  • 1. Developing Scalable Apps for deploying on IaaS Cloud Munish K Gupta 1
  • 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.in 2
  • 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 applications 3
  • 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 Planning 4
  • 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. Darshini Model • Stateful • Synchronous • No Load Balancing • No failover 6
  • 7. McDonald’s Model • Load Balanced • Stateless • Asynchronous • Event Driven / Message based • Partition by function 7
  • 8. Go Stateless! • State == Sessions ! Local Sessions Centralized Session No Sessions 8
  • 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 servers 9
  • 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. 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 application 11
  • 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. 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. Munish K Gupta write2munish (at) gmail dot com Twitter @write2munish Blog(s) www.techspot.co.in 14 www.akkaessentials.in

Notes de l'éditeur

  1. 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
  2. Blank slideyou may use this to insert or show screenshots etcIf content is added in this slide you will need to use bulleted text
  3. 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
  4. 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
  5. 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
  6. 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