Why you should try App Engine Flexible for your next project
About 3 weeks ago, we organized the first ever Google Cloud Platform Meetup Vancouver. It was a great event, completely to the capacity and very well received. During the meetup I had a presentation about App Engine Flexible Environments and why everyone should try it for their next project. We tried to capture the video to share with the community afterwards, but the sound quality of the video was not to our standard. I thought I can still share my presentation deck with a quick blog post that explains why App Engine Flexible is worth the try.
To start with, you can checkout my presentation deck here: App Engine Flexible, by Amin Yazdani
Platform as a Service (PaaS)
Released in 2008, App Engine was way ahead of its time. At a time when Cloud computing was still a concept most people were not familiar with, Google provided App Engine for people to build and host web applications in Google-managed data centers. Not only that, but Google managed scaling up/down the applications and automatically allocating resources that each application needed to run. It was providing a Zero Operations approach to building and running web applications.
The first languages supported by App Engine were Java and Python. Although the list is now expanded, the limitation was there for a long time. In addition to that, even the standard libraries you could use in your Java app was limited. The same was true for Python support (2.7 vs 3.5) and also Java Servlet support (2.5 vs 3.x). Of course these limitations were holding App Engine back, but the benefits of Platform as a Service was keeping it a great tool if your web applications was the right match for App Engine.
App Engine Flexible Environment
With the advancement of cloud platforms and more companies providing more PaaS offerings, Google was losing its market share due to the limitations mentioned above. People wanted Google’s quality but they couldn’t compromise their application’s quality anymore. That’s when App Engine Flexible Environment was introduced as the solution.
The App Engine Flexible Environments are Based on Docker images and deployed on Google Compute Engine. They provide all the goodness of Google App Engine. In addition to that, they bring total flexibility with new base docker images and support of many more languages and frameworks. App Engine Flexible Environments now support Java 8 / Servlet 3.1 / Jetty 9, Python 2.7 and Python 3.5, Node.js, Ruby, PHP, .NET core, and Go.
Deploying on App Engine Flexible is very easy. We have covered that in our blog post Deploying Dropwizard on App Engine Flexible. Basically what you need is a app.yaml file and a Dockerfile.
runtime: custom env: flex service: hello-world
FROM gcr.io/google_appengine/openjdk8 VOLUME /tmp ADD app.jar app.jar ADD config.yaml config.yaml CMD [ "java","-jar","/app.jar", "server", "config.yaml"]
Similar to App Engine, with the Flexible Environments you would get PaaS benefits such as automatic health-check for all your instances. All the instances are always load-balanced and optimized with other services you use for co-location. You can easily define where you want your instances to be, and Google will optimize everything for you. You would also have a layer of separation form the underlying OS which means that updates can be applied to your instances without any interruption. In addition to all of that, you would also get a root access to your instances!
Migrating to Compute Engine
As I said, App Engine Flexible is based on Compute Engine. All your instances are deployed on Compute Engine infrastructure and you have the App Engine goodness on a layer on top of that. This means that if you need to migrate to Compute Engine for any reason, you would be able to easily do that. That’s the ultimate flexibility that none of other PaaS platforms can provide. You can easily start building your app with App Engine Flexible, grow it and once you need to do fully customized operation, move it to Compute Engine and have 100% control over everything, risk free!
Give it a Try for Free!
Trying App Engine Flexible for your next project can be free for you! You can get up to $500 of GCP trial credits through Google Cloud Platform Partners like us. Simply send us an email and we will hook you up with free credit to try GCP.
In the long run, using Google Cloud Platform is going to reduce your operations cost as well. You would spend more of your time building amazing apps instead of keeping them running.