Overall Satisfaction with Google App Engine
App Engine is a fantastic service for developers who want to be able to run their code in an environment that they do not have to provision -- there is no manual server configuration or maintenance, etc, and all the developer needs to be concerned about is how their code works.
- Removes the need for manual server configuration, management, orchestration, etc
- Interfaces incredibly well with other GCP services, like Cloud Functions and Firebase
- It is not the most cost-efficient hosting provider and could continue to improve from a cost basis
- Google's UI can be confusing for newcomers when managing an App Engine deployment
- App Engine is a great starting point for customers who are already invested or want to become further invested in the Google Cloud Platform environment
- App Engine removes the need for manual server management, which saves a lot of developer time and money
We commonly decide between App Service, Elastic Beanstalk, and App Engine. Normally, we do not have a strong preference for the services, it really comes down to whether or not there are other factors drawing us toward a particular platform. In the case of App Engine, it is a great choice for situations that leverage other Google Cloud products, like Firebase.
App Engine is well suited to customers who want to use Google Cloud as their primary cloud service and is similar in role to Elastic Beanstalk from AWS and App Service from Azure. It's particularly suited to developers with standard needs (e.g. nothing so sophisticated that manual server management would be necessary) who value the simplicity over deeper customizability.
Google App Engine Feature Ratings
Using Google App Engine
15 - App Engine provides scalable compute resources for internet-based applications, with Google handling much of the server administration work for you. The result is that deploying, managing, and updating web infrastructure deployments is greatly simplified, leading to fewer devops cycles spent on deployment resources and more time spent on application development and quality control.
3 - Part of the reason we utilize a platform like Google App Engine, or just App Engine, is to greatly reduce the resource needs for managing scalable web and application infrastructure. Rather than employ a large number of people responsible for the roll-out of infrastructure, developers can simply leverage App Engine to quickly and efficiently deploy and test their own code. As a result, very few internal resources are needed -- just a few folks with training in how App Engine's settings works is generally sufficient.
- Web Infrastructure Hosting
- Automated Scaling for Infrastructure Management
- Rapid Prototyping and Deployment
- Continuous Delivery with Automated Versioning and Rollbacks
- Easily capable of hosting more backend worker-like tasks, not just web-facing applications
- Rapid prototyping of new types of applications
- We'd like to take advantage of some of the other platforms that App Engine supports, having been mainly focused on Python development
- We'd like to see better support for Java EE and Spring, as some of the functionality that we like to implement often involves complicated workarounds to deal with how App Engine generally behaves
App Engine is a solid choice for deployments to Google Cloud Platform that do not want to move entirely to a Kubernetes-based container architecture using a different Google product. For rapid prototyping of new applications and fairly straightforward web application deployments, we'll continue to leverage the capabilities that App Engine affords us.