Build robust and highly scalable web applications with Google App Engine
About This Book
- Get an in-depth look at how Google App Engine works under the hood
- Design and model your application around Google's highly scalable distributed NoSQL datastore to unlock its full potential
- A comprehensive guide to ensure your mastery of Google App Engine
Who This Book Is For
If you have been developing web applications in Python or any other dynamic language but have always wondered how to write highly scalable web applications without getting into system administration and other plumbing, then this is the book for you. No experience in writing scalable applications is required.
What You Will Learn
- Scale and develop your applications with Google App Engine's runtime environment
- Get to grips with request handling mechanism and write request handlers
- Deep dive into Google's distributed NoSQL and highly scalable datastore and design your application around it
- Implement powerful search with scalable datastore
- Perform long-running tasks in the background using task queues
- Write compartmentalized apps using multi tenancy, memcache, and other Google App Engine runtime services
- Handle web requests using the CGI, WSGI, and multi-threaded configurations
- Deploy, tweak, and manage apps in production on Google App Engine
Developing web applications that serve millions of users is no easy task, as it involves a number of configurations and administrative tasks for the underlying software and hardware stack. This whole configuration requires not only expertise, but also a fair amount of time as well. Time that could have been spent on actual application functionality.
Google App Engine allows you develop highly scalable web applications or backends for mobile applications without worrying about the system administration plumbing or hardware provisioning issues. Just focus writing on your business logic, the meat of the application, and let Google's powerful infrastructure scale it to thousands of requests per second and millions of users without any effort on your part.
This book takes you from explaining how scalable applications work to designing and developing robust scalable web applications of your own, utilizing services available on Google App Engine.
Starting with a walkthrough of scalability is and how scalable web applications work, this book introduces you to the environment under which your applications exist on Google App Engine. Next, you will learn about Google's datastore, which is a massively scalable distributed NoSQL solution built on top of BigTable. You will examine the BigTable concepts and operations in detail and reveal how it is used to build Google datastore. Armed with this knowledge, you will then advance towards how to best model your data and query that along with transactions. To augment the powerful distributed dataset, you will deep dive into search functionality offered on Google App Engine. With the search and storage sorted out, you will get a look into performing long running tasks in the background using Google App Engine task queues along with sending and receiving emails. You will also examine the memcache to boost web application performance, image processing for common image manipulation tasks. You will then explore uploading, storing, and serving large files using Blobstore and Cloud storage.
Finally, you will be presented with the deployment and monitoring of your applications in production along with a detailed look at dividing applications into different working modules.
Style and approach
This book is an in-depth guide where you will examine the problems in the context of highly scalable web applications. This book will take you through the libraries, services, and required configuration and finally puts everything together into a small web application that showcases all the capabilities of Google App Engine.