Its portability and scalability were the main reasons we …
Platform access control (30)
Development environment creation (28)
Platform management overhead (31)
Entry-level set up fee?
- No setup fee
- Free Trial
- Free/Freemium Version
- Premium Consulting / Integration Services
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
Frequently Asked Questions
- Google App Engine is perfect for web applications running a number of services at scale.
- App Engine is flexible enough to run any runtime using the flexible edition.
- App Engine takes a lot of the work off of supporting and maintaining the application
- App Engine could be a little easier to adopt, but it makes sense given the complexity of web applications.
- Apps get automatically scaled based on the users, more users more instances and app runs smoothly.
- Debugging and monitoring applications is easy even in production it automatically debugs the code.
- It supports a lot of languages like Java, Python, Php, Ruby, etc which adds to the ease of development.
- For beginners, there is a learning curve that can be reduced by decluttering the functionalities.
- For much big migrations it takes to a lot of time to deploy which can be reduced.
- The scaling of applications based on the user count is not seamless and it requires improvement.
Its portability and scalability were the main reasons we used it.
The app-engine manageability was totally on Google
- Fully Managed by Google
- Completely auto-scalable
- Easy to deploy and monitor
- We need to be careful while deployment, there are some drops of requests
- Time in deployment is slightly high
- Exceptions during deployment
No manageability, just write code and deploy
- Google's Marketplace is a great resource. I did not find this on other cloud services.
- Google's billing system is easy and straightforward to understand.
- Google's project based management of resources is good.
- Google dashboard is not so helpful. It does not give a summary of the resource like in AWS.
- Google console should have something like "Recently visited services" of AWS.
- It is hard to install Google Cloud SDK.
Google App Engine is not good for beginners in cloud hosting, since it's hard to configure.
- 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.
- It's very simple to integrate in the application.
- Provides deployment history, so that you can switch back to any instance.
- Fully scalable, so that you can add power as needed.
- They can improve on their documentation.
- Navigation can be made more simple.
- Pricing can be reduced.
- Serverless is easy to manage and scale up and down resources.
- Ease to deploy.
- Monitoring and troubleshooting are not so easy.
- Creates vendor lock-in
- It is one of the best alternatives of full machine for small applications.
- It takes less time to implement/deploy or run applications on GAE.
- According to me, worst thing with GAE is it's very expensive when we compare with regular implementations.
- It has fewer tutorials or documentations, so a little bit hard to implement at the first time.
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
- Monitoring and operations.
- SSL security.
- No multi-threading.
- 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?
- 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.
- 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.
- Google App Engine APIs to build and deploy the web app was straightforward and very easy.
- Since Google App Engine is fully managed and serverless, the web app auto scales up and down based on the workload.
- Google App Engine is expensive in the long run and cost adds up pretty quickly.
- Since it is fully managed and serverless, you have no access to underlying infrastructure and OS that may be needed for some fine tuned and complex web apps.
- 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.
- It helped us to maintain mass data like live location data.
- They offered some free quota as well.
- We noticed that sometimes the backend returns the connection exception, but the data is inserted successfully in the database. This needs to resolve as per my experience on this.
- Coding environment
- Create test environments
- Have a history of all builds
- Not free
- 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.
- Database management
- User Friendly
- Excellent GUI
- Provide webinars
- Implement modules in college and Universities to use the product
- Give regular seminars to students and businesses