Reviews (1-25 of 30)
Our internal IT team uses it to deploy other systems like a Grab and Go program for Chromebooks (open sourced) and time approval mechanisms.
- Extremely low cost option for web page deployment. It so simple to prototype or even offer a service by using your favourite app servering platform like Django, Flask, etc.
- Incredible scaling. App Engine scales up and down with ease, automatically, and never fails to serve your app.
- Ease of deployment. Google documentation is clear and concise, plus it's extremely extensible. It's easy to learn how to do this!
- Support. It's not frequent at all that we reach out with support questions, but it is sometimes hard to get answers.
- Roadmap visibility. Transitions and deprecations are hard to track and therefore may be hard to plan for!
If you are serving something back-end, like an automation or ETL workflow, you should be a little considerate or careful with how you are structuring that job. For instance, the Standard environment in Google App Engine will present you with a resource limit for your server calls. If your operations are known to take longer than, say, 10 minutes or so, you may be better off moving to the Flexible environment (which may be a little more expensive but certainly a little more powerful and a little less limited) or even moving that workflow to something like Google Compute Engine or another managed service.
- 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.
- 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
- Minimizing maintenance overhead
- Multiple languages supported
- Decouples need for platform support knowledge and experience
- Less configurability than conventional infrastructure based solutions
- Creates vendor lock-in with platform specific options and tuning
- Limited points of presence when compared with Amazon Web Services (AWS)
- 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
- 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.
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?
- Easy to integrate with other Google services such as Datastore, Database...
- Allow us to create our own dashboard and monitor our application running in Google App Engine
- Requires little effort for configuration of our application and has a very simple deployment process
- Good documentation and easy to find support from the community
- Very stable and easy to scale up and down our resources
- It does not provide full-text search API
- It is hard to deploy multiple applications in the same Google App Engine services
- Scale - we can scale instances up/down based on business needs allowing us to meet demand without wasting money for extra capacity
- Cloud Task Queues
- Documentation - The documentation across the board is lacking and often times out of date or just plain wrong.
- Standard instances could provide better support for more tech stacks so that flex and/or custom instances are not required.
- Ease to deploy.
- Flexible ability to scale to meet increases in users.
- Ability to program in various languages allowing for different development teams to work with it.
- The ability to only run web applications. If it could also run self-executing non-web based applications it could be used more heavily.
- It only allows the use of the Google Cloud store which limits the ability to use other cloud stores already in use in the enterprise.
- It's a closed API that can lock into being dependent entirely on Google. There are many open-source projects ongoing that can help to alleviate.
Initially, we were using a mix of ec2 instance and AWS EBS stack but the development to deployment process seemed was a bit more complicated than it is on Google App Engine.
- Automatic scaling of instances based on load.
- Configurability of the instances, it's easy to get up and running with app engine services. Using the YAML file to configure your environment is simple and straightforward.
- Google Cloud DNS is easier to configure than it's AWS counterpart.
- Support for Golang is better.
- Logging on the cloud console and the debugging feature are amazing.
- Better documentation and more examples. (Things are already good).
- Customer support is terrible at times and you have to pay extra to talk to a real person.
- Cheaper instances.
Google App Engine feels like its a bit pricier than it's AWS counterpart though and the whole idea of a free tier isn't that clear like AWS.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- 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.
Google App Engine Scorecard Summary
Feature Scorecard Summary
About Google App Engine
Google App Engine is Google Cloud's platform-as-a-service offering. It features pay-per-use pricing and support for a broad array of programming languages.
Build applications in Node.js, Java, Ruby, C#, Go, Python, or PHP—or bring a custom language runtime
Open & Flexible
Custom runtimes allows developers to bring any library and framework to App Engine by supplying a Docker container
A fully managed environment lets developers focus on code while App Engine manages infrastructure concerns
Monitoring, Logging & Diagnostics
Google Stackdriver provides application diagnostics to debug and monitor the health and performance of apps
Host different versions of applications, create development, test, staging, and production environments
Route incoming requests to different app versions, A/B test, and do incremental feature rollouts
Help safeguard applications by defining access rules with App Engine firewall and leverage managed SSL/TLS certificates* by default on a custom domain at no additional cost
Tap a growing ecosystem of GCP services from applications including a suite of cloud developer tools
Google App Engine Integrations
Google App Engine Competitors
Google App Engine Technical Details