Scaling App Engine services
App Engine has been designed from the ground up to make scaling a non-issue. Because of this, scalability has become one of the platform's strongest attractors. When designing services to run on App Engine, it is important to understand the nature of App Engine scaling to fully realize the platform's potential. We've covered many of these design considerations earlier in this chapter, but here are a few of the key points:
- Services should have a low startup time
- Requests should be fulfilled quickly, using minimal resources
- Long-running workloads can be offloaded to task queues
- Leverage microservice patterns to increase elasticity
Services vary by nature, and so will their scaling needs and capabilities. To this end, App Engine offers three distinct scaling strategies—autoscaling, basic scaling, and manual scaling. Each of these scaling types make trade-offs between scaling performance, complexity, and flexibility.
Autoscaling
By far the most powerful form of scaling is...