What is App Engine?
App Engine is a platform for building scalable web applications and mobile backends. It allows you to concentrate on innovating your applications by managing the application infrastructure for you. For example, App Engine manages the hardware and networking infrastructure required to run your code.
What are the benefits of App Engine?
- Build and deploy apps quickly using popular languages or bring your own language runtimes and frameworks. It also provides you with built-in services and APIs such as NoSQL
datastores, memcache, load balancing, health checks, application logging, and
a user authentication API, common to most applications.
- App Engine will scale your application automatically in response to the amount
of traffic and use resources accordingly hence you only pay for what you use.
- App Engine works with popular development tools such as Eclipse, IntelliJ,
Maven, Git, Jenkins, and PyCharm. So you can build your apps with the tools you
love without changing your workflow.
There are two types of App Engine Environment, which are : Google App Engine Standard Environment and Google App Engine Flexible Environment .
Google App Engine Standard Environment:
The App Engine standard environment makes it easy to build and deploy an application that runs reliably even under heavy load and with large amounts of data. The App Engine standard environment is based on container instances running on Google’s infrastructure. Containers are preconfigured with one of several available runtimes (Java 7, Python 2.7, Go and PHP). Each runtime also includes libraries that support App Engine standard APIs. For many applications the standard environment is sufficient enough to run an application.
Requirements for an App Engine standard are that is supports specific versions of Java, Python, PHP and Go, and that must conform to the sandbox constraints such as no writing to local file system, all requests time out at 60 seconds and third party software installations are limited.
The App Engine standard environment distributes requests over numerous servers and scales servers to match traffic demands, allowing applications to execute in a safe, sandboxed environment. Your application runs in its own secure, dependable environment, regardless of the server’s hardware, operating system, or geographical location.
Google App Engine Flexible Environment:
If you want to use App Engine with all of its advantages but dont want to conform to the sandbox constraints then App Engine Flexible Environment would be a good choice. Instead of the sandbox, App Engine Flexible Environment lets you specify the container your application runs in. Application runs inside Docker containers on Google Compute Engine virtual machines (VMs). App Engine manages these Compute Engine machines for you. They’re health-checked, healed as necessary, and you get to
choose what geographical region they run in. And critical, backward-compatible updates to their operating systems are automatically applied.
App Engine flexible environment allows you to customize your runtime and even the operating
system of your virtual machine using Docker files.
App Engine flexible environment apps that use standard runtimes can access App Engine services: Datastore, Memcache, task queues, logging, users, and so on.