- 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
- Supports all popular languages (and you can even bring your own language runtime)
- Built-in automatic scaling is great
- Lags behind competing platforms (Azure, AWS) in terms of features
- Less documentation, examples, etc. as compared to competitors' platforms
- Client SDK and examples for integrating with services (Datastore/Storage/Pub/Sub).
- Lightweight deployment code/config (lightweight YAML).
- Autoscale (configuration and runtime).
- Flexible runtimes.
- Missing scheduler as a service. Has static cron, but no fault-tolerant, dynamic scheduling as a service. Azure has this.
- Documentation. Documentation can be stale, to terse, cumbersome to navigate.
- Deploy time and CI. Azure has Git hooks and auto update built in. So from commit to live can be under one minute. GCP more manual, and closer to 5+ min for same.
Less well suited. When higher (more granular) level of control is needed, AWS is still superior.
- Works with OSx
- Creates cohesive workflow
- Allows for easy collaboration
- Sheets is not as robust as Excel.
- Hangouts seems to lack some of the resolution you get with Skype.
- It does not tie well with AD when using another solution like Office 365.
- Quick to develop, quick to deploy. You can be up and running on Google App Engine in no time.
- Flexible. We use Java for some services and Node.js for others.
- Great security features. We have been consistently impressed with the security and authentication features of Google App Engine.
- Documentation does not always keep up with the latest changes to the service. Google App Engine has undergone a lot of changes these past couple of years. At times, we were surprised to find out that something we didn't think was possible was, or, conversely, something that was supposed to work fine which had been deprecated. We also ended up using some undocumented features and weren't sure whether they would keep working or not.
- Price. Google App Engine isn't cheap. But, you get what you pay for. Rock solid service, great tools, at a hefty price.
- Difficult to tell how to optimize costs. We racked up the expenses and it is still a mystery where all the costs are being incurred.
- Some intimidating or arcane aspects of configuration. Most of it was a breeze but every now and then something would be pretty far out and require a few of us developers putting our heads together to figure it out.
- Sometimes required reading source code to figure out how to do something. Not a ton of examples of how to do various things, nor Stack Overflow posts, at least in the beginning. I imagine this will change as the community grows. But sometimes it felt like we were all alone trying to figure out how to do things.
- Well suited for doing asynchronous long running process jobs through task queues
- Supports for huge files upload process (fast and efficient)
- Integrates pretty well with Java and Spring MVC technologies
- Although GAE does support relational databases if you pay for it, developers wanting to try GAE for free are forced to use cloud datastore which is a NoSQL database.
- Logging is recorded and accessible through a web console. However, there is no easy way (I mean through the console) to display a custom log line format like it's possible with slf4j or log4j logging patterns. This makes reading log inefficient.
- The GAE plugins for Eclipse are buggy and inconsistent. Many times we are forced to reboot the local server after a full webapp recompile, and the command line SDK is not intuitive.
- Allows endpoints for automatic email retrieval process which acts as long running jobs processes
- "Cron" like web process launchable through simple endpoint URL
- Java Spring MVC web application or RESTful web services integrated with single page applications (SPA)
- If your web application requires a short starting time GAE does not perform fast startups. However once started the web app has constant and stable processing speed
- If the development team is looking for very well integrated product suite (like IDE well integrated with the backend server) then GAE requires much more improvements
Google App Engine Review: "PaaS from Google, give it some code and it will run it and scale it automatically"
- Serving traffic to end users. It can scale automatically when traffic spikes.
- The standard environment has some limitations, but it encourages you to write "scalable" code.
- With Flexible Environment, you can serve any Docker container you want, still taking advantage of auto scaling.
- Easy integration with other Google Cloud products, e.g. Datastore, Pub/Sub, Cloud Storage, etc.
- Flexible environment needs scaling to zero and support for all APIs available in Standard Environment like ndb for Python and Task Queue.
- Standard Environment needs to update some outdated libraries like lxml for Python.
- Instance pricing of Standard Environment could be lowered, since it wasn't updated for many years.
- Very flexible, runs PHP, Node, Java, Go, etc.
- Standard environments with regards to the stack being used.
- Now part of Google Cloud.
- Documentation for certain things is lacking.
- Better tutorials for certain stacks.
- Multiple backend frameworks to choose from
- Reasonable pricing and generous free quotas
- Not every language/framework is supported
- Certain APIs have somewhat lower quotas
- Google can choose to deprecate features at any time
We are currently evaluating Google App engine as a platform as a service to our customers. The Google App Engine cloud endpoints is equivalent to Microsoft Azure's web apps or API apps. We are impressed with its ability to deploy Java or Python based RestFul API directly to Cloud endpoints. I coded the logic in the RestFul API to access Google's Cloud DataStore (kind-entity-property type of data store). Google's SDK made it easy to integrate its App Engine with its storage solutions. I have not tried its Cloud Bigtable from Cloud endpoints but I'm sure it's on our next task list.
Google App Engine's primary programming language is Java. I tried JetBrain's IntelliJ IDEA for managing Google App engine cloud endpoint projects. I used the community edition, which had less support for Google App Engine Cloud endpoint. The enterprise edition should have better support.
For those who prefer to use Python, JetBrains may have just released PyCharm for $99. Nothing comes for free. If you work at a company that has those licenses, you should feel lucky. Having a good IDE is critical to productivity. It has a "PyCharm Free Educational (Classroom) License" for free.
- Auto scale application load.
- Platform as a Service feature abstracts the web server layer.
- Perfect for Android or iOS app server logic development.
- Connect to different Google storage types.
- Able to use C# as the programming language in its SDK.
- Integration with Visual studio C# for using Google app engine cloud endpoint SDK.
- Documentation on choosing a IDE to get started. Doing things in the command line is too basic. It's good to know them but having a sophisticated IDE is the next step to achieve higher productivity.
- What kind of data store do you plan to use for your server side application? Make sure Google App Engine SDK supports them.
- Will your server applications be REST based? Think about using cloud endpoint.
- Do you plan to use a JSP page with servlet class?
- Cloud based RESTful APIs
- Access to big data resources for reporting and analytics
- Custom Cloud web hosted applications
- Cost, speed, ease of adoption
- Implemented a custom company based web site using Vosao on GAE CMS
- Administration and management - more Azure like portal
- Better reporting on forecasted and actual usage via notifications.
- Better documentation, examples. More use case centric documentation.
- Learning curve is relatively short.
- Integration to Eclipse is awesome.
- Integration with standard frameworks is getting better - I would not recommend loading entire spring framework on it, but aspects of it are more useful.
- There's a fairly high free quota which makes it easy for startup to use a cloud database.
- It's extremely scalable if you need it to be.
- If you know Python, it's fairly easy setup
- Google App Engine has it's own SQL (called GQL) that takes some getting used to.
- It's based on Python 2.7, which is an old version and it doesn't have support for every module.
- The scalability testing of Google App Engine is top notch. You can quickly and efficiently test if your new app will support millions of users.
- Google App Engine is an out-of-box platform, in that it allows the user to begin development and testing immediately, with no further services needed.
- Google App Engine's version controlling allows for effective quality assurance. If you make a mistake and the app breaks, you can rollback the update and debug.
- With a 99.9+% uptime, Google App Engine is very reliable (as are all Google products).
- Google App Engine has its own version of SQL called GQL which is inferior to straight SQL. This means a steeper learning curve.
- The documentation on best practices for the platform is lacking.
- No support for C# is a frustrating limitation.
- Robust email system.
- Easy to understand document sharing.
- The calendar integrates well with email.
- The Apps have limitations. Be sure you are OK with those limitations before you install. Google has not been responsive to feature requests.
- Managing Calendar without a third-party tool is nearly impossible.
- Integration with Active Directory is kludgy at best. Do NOT expect the integration to be smooth or the functionality robust.
- On demand quota change.
- Almost good admin control panel.
- They should provide more examples for developers.
- They should decrease their prices.
- They should improve the quota notification system.
- Google App Engine offers the platform to develop an end to end application without the need of having any other software installed.
- Google App Engine allows rapid deployment of applications and immediate availability of the code deployed in the cloud.
- Google App Engine offers services that allow you to quickly prototype any application and have it deployed at a minimal cost. The console allows you to view and manage the status of your application so that everything can be done from a developer perspective without the involvement of the Ops team.
- I feel that the restrictions regarding no threads, no writing of files to the disk and so on, are great for keeping things secure however they can be real blockers sometimes and make it very difficult to find workarounds for problems that you are trying to solve while developing your application.
- The 12 simultaneous connections limit to the database instance from an instance cannot be increased, so the available performance options can sometimes be not enough for heavy load apps.
- The customer service is always responsive when we open support tickets however there isn't an offering for assistance on site if needed or consultations regarding best practices.
- The APIs for accessing the datastore are very easy to use.
- Implementing text indexing and search related applications perform better on Google App Engine compared to other app engines.
- Reliable NoSQL datastore, including atomic transactions and a query engine.
- Developers have read-only access to the filesystem on Google App Engine.
- Google App Engine limits the maximum rows returned from an entity get to 1000 rows per Datastore call.
- Not suitable for CPU intensive calculations.
- Building an application that uses Google's Authentication, means users no longer need to remember an different user id and password. Once they are logged into to Google, they can seamlessly access your application hosted on Google App Engine.
- Google App Engine automatically scales up and down. SO if your application receives a spike in user traffic, App Engine automatically launches additional instances of your application to cater for the increased traffic. Once App Engine detects that the spike is usage is over, it automatically scales down to handle the current traffic.
- Google App Engine can be easily integrated with Google Cloud SQL, Google Compute Engine, Google Cloud Storage etc, so that you can build out a full application using one or more of Google's Cloud Platform products.
- There is a slight learning curve to getting used to code on Google App Engine.
- Google Cloud Datastore is Google's NoSQL database in the cloud that your applications can use. NoSQL databases, by design, cannot give handle complex queries on the data. This means that sometimes you need to think carefully about your data structures - so that you can get the results you need in your code.
- Setting up billing is a little annoying. It does not seem to save billing information to your account so you can re-use the same information across different Cloud projects. Each project requires you to re-enter all your billing information (if required)
Google App Engine Scorecard Summary
Feature Scorecard Summary
About Google App Engine
Google App Engine Integrations
Google App Engine Competitors
Google App Engine Technical Details