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.

Google App engine

307 views

Published on

Google App Engine is a platform as a service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers.

Published in: Education
  • Be the first to comment

Google App engine

  1. 1. Indika Munaweera
  2. 2. Topics We Cover In This Session Designing for Scale and Reliability •What problems App Engine resolve? •App Engine Stack •App Engine design motivations How Front End works •Edge Caching •Load Balancing How App Server works •Frontend and Backend instances •Pending Latency and Idle Instance
  3. 3. Designing for Scale and Reliability
  4. 4. Designing for Scale and Reliability
  5. 5. Designing for Scale and Reliability
  6. 6. Designing for Scale and Reliability A Case Study : Real time Earthquake Monitor •By NIED Japan in collaboration with Google •The blinking dots represents real time Peak Ground Acceleration •20,000 concurrent users, 10000 req/sec at peak
  7. 7. Designing for Scale and Reliability
  8. 8. Designing for Scale and Reliability The important requirements for Earthquake monitor site •Scalability - As it gets spike of traffic at the event of earthquake •Reliability - It’s useless if it does not work at the time of disaster •Cost efficiency - It’s too expensive to prepare for enough hardware resources that can handle the peak traffic. They would be idle for the rest of the time.
  9. 9. Designing for Scale and Reliability How do I design a web service that is scalable and reliable like this?
  10. 10. Designing for Scale and Reliability
  11. 11. Designing for Scale and Reliability
  12. 12. Designing for Scale and Reliability
  13. 13. Designing for Scale and Reliability Any Standard Cloud Offering
  14. 14. Designing for Scale and Reliability Any Standard Cloud Offering IaaS
  15. 15. Designing for Scale and Reliability VM MANAGEMENT SOFTWARE MANAGEMENT WEB SERVER DISTRIBUTED DATABASE DISTRIBUTED FILE SYSTEM APPLICATION MONITORING SECURITY LOAD BALANCING ???????
  16. 16. Designing for Scale and Reliability
  17. 17. Designing for Scale and Reliability
  18. 18. Designing for Scale and Reliability
  19. 19. Designing for Scale and Reliability Google App Engine is a platform for building scalable web applications and mobile backends. App Engine provides you with built-in services and APIs such as NoSQL datastores, memcache, and a user authentication API, common to most applications. App Engine will scale your application automatically in response to the amount of traffic it receives so you only pay for the resources you use. Just upload your code and Google will manage your app's availability. There are no servers for you to provision or maintain
  20. 20. Designing for Scale and Reliability Key Features of Google App Engine •Start Quickly, Build Faster built-in services such as load balancing, health checks, and application logging •Automatic Scaling App Engine offers built-in auto-scaling so that your apps can instantly scale automatically based on need, from zero to millions of users. •Automated Security Scanning Security Scanner automatically scans and detects common web application vulnerabilities. •Use the Tools You Love App Engine works with popular development tools such as Eclipse, IntelliJ, Maven, Git, Jenkins, and PyCharm
  21. 21. Designing for Scale and Reliability The App Engine Encapsulate Them All What if you have: •Hardware failures •Traffic Spike •Growing Big Data •No initial fund •No one to build/operate
  22. 22. Designing for Scale and Reliability App Engine design motivations Encourage Google’s best practice for scalability and reliability Non-relational data model by Datastore/Bigtable  Sharding, Denormalization… Portable and fine-grained app design  Fast request handling to optimize server resource utilization  Independent to each physical server It’s not just a hosting service: App Engine empowers you to design your app in Google way!
  23. 23. How Front End works
  24. 24. hat Benefits will Front End provide? Huge difference between the traffic volume on the orange line (the number of requests) and blue line (the number of requests handled by application) How Front End works
  25. 25. hat Benefits will Front End provide? Huge difference between the traffic volume on the orange line (the number of requests) and blue line (the number of requests handled by application) How Front End works
  26. 26. Life of a Request in Front End How Front End works GFE closest to the user provides edge caching capability AE FE provides load balancing on App Servers and Static Servers
  27. 27. How App Engine works
  28. 28. How App Engine works How App Server works
  29. 29. How App Engine works What is an Application Instance? Similar to a virtual machine, provides a runtime environment for your app •has dedicated memory for your app •but fully managed No burden of managing OS; the overhead, device drivers, security..
  30. 30. How App Engine works ntend and Backend Instances Frontend instances (not App Engine Front End) •Dynamically created and deleted = low cost •Enforce fast response and stateless design •Suitable for processing short-lived requests Backend instances •Statically created and deleted = higher cost •No limit for response time, support stateful design •Suitable for batch processing
  31. 31. How App Engine works How Frontend instances Scale •App Engine watches pending request queue of each instances •Let’s see what would happen if your app gets a traffic spike •Instances dynamically added/removed based on queue size Pending request queue
  32. 32. How App Engine works How Frontend instances Scale •App Engine watches pending request queue of each instances •Let’s see what would happen if your app gets a traffic spike •Instances dynamically added/removed based on queue size Pending request queue Idle Instances Pending Latency
  33. 33. How App Engine works Pending Latency •Time to hold request in pending queue before creating new instances •Less latency responds faster but costs more
  34. 34. How App Engine works What are idle instances? •Number of instances always available •Higher number responds faster but costs more
  35. 35. How App Engine works Key Takeaways App Engine encapsulate all the cost and effort •To build and operate a web app with Google scale and reliability •Encourage Google’s best practices for scalability and reliability •Significantly lower Total Cost of Ownership Front End provides scalability and reliability by: •Edge Caching by Google Front End •Load Balancing by App Engine Front End App server controls scalability by: •Dynamic control of Frontend and Backend instances •Managing Pending Latency and Idle Instances
  36. 36. Thank you !

×