Join Joseph Lowery for an in-depth discussion in this video Understanding Google App Engine, part of Google App Engine Essential Training.
- All apps start with an idea. As a developer your focus is to turn that idea into a reality. Part of bringing the app to life is writing the code. The other part is deploying it to a viable platform where your app can be accessed by all the people who want to run it. No matter how good your code, without the second part, an accessible platform, your app pretty much remains an idea. The purpose of Google App Engine is to provide the secure, robust platform you need to make your app a reality.
Google App Engine is in the category known as Platform as a Service, or PaaS. Generally, a PaaS provides the networks, servers, storage and other services needed to host applications. The infrastructure that App Engine uses is of course Google Zone, which spans the world. With it, you can host your Web and mobile applications as well as games. Once your app is deployed, App Engine manages the server side and because all you have to worry about is the code, suddenly your app becomes automatically scalable, available to an unlimited number of users working with an unlimited number or size of assets.
This auto-scaling means that new instances are generated, databases are shared, bandwidth is increased, all as needed. Google's infrastructure also brings terrific performance, robust security where all apps are instantly sandboxed, and a high degree of reliability. So, how do you work with App Engine? Google App Engine currently supports four different run-time environments including Java and Python, both fully, as well as Go and PHP, each of which are currently now in Beta.
To work with App Engine, you'll need to choose one of the supported language options and install its SDK. There's a good gateway to these environments at the link now shown. Although all the application environments are tailored for a specific language, they do have many similarities. They all include a full featured local development environment to simulate the App Engine, authentication and email APIs integrated with Google Accounts, and the ability to run "cron" jobs that trigger events at specific times.
Finally, they all run in a secure sandbox. In the computing world a sandbox is defined by the degree of access to the underlying system, which has the benefit of protecting both your app and those of others. Besides providing security, the sandbox makes it possible for App Engine to distribute web requests to multiple servers and to start and stop the servers as needed. Let's look at each of these specific development environments a little closer, starting with Java.
The Java SDK works with any platform, but you'll need to use Java 7 specifically. Java 8 is not yet supported. Google has a very robust plugin for the Eclipse IDE. And with it, you can create, test, and upload your apps to App Engine. The Python SDK also works on Linux, Mac and Windows. It requires the Python 2.7 version.
Python 3 support is under development, but not yet fully implemented. The Python 2.7 SDK was written in Python and downloads as a zip file. The Go SDK currently supports the 1.2 version of Go in Linux, Mac and Windows. You don't need to have Go installed locally; the installation is stand alone and one that automatically compiles Go apps. Again, the SDK is available as a zip download.
Finally there's the PHP SDK. Like it's other App Engine cousins, the PHP implementation works on all platforms. You'll need PHP 5.4 or higher installed. And, also like the others, it comes as a zip download. Now you may be wondering how much all this functionality costs. Well, the great news is that you can get started pretty much at no cost. The Google Cloud platform, which includes App Engine, currently offers a free trial for 60 days, or $300 in credit, whichever limit you reach first.
There are also resources available for free up to a particular quota. You can, for example, use up to 28 instance hours per day. You're allowed 1 GB of free incoming network traffic and 1 GB of free outgoing network traffic. You can also store up to 5 GB of asset in Google Cloud storage at no charge. As you can probably tell from this brief overview, Google App Engine is totally robust and usable by a great many developers.
In the next lesson, I'll show you how you can increase the App Engine's usability even further by working with its fellow members of the Google Cloud platform.
- Understanding the Google App Engine
- Using the Google Cloud Console
- Setting App Engine services
- Coding your app
- Working with images, style sheets, and other static files
- Incorporating HTML templates
- Uploading and deploying your app
- Implementing Google Cloud Storage
- Setting up a custom domain