Google App Engine Deep Dive
April 30th, 2018
Google Cloud Training Architect II in Content
This course is designed for those who want to learn how to use Google App Engine, when App Engine is an appropriate choice, which App Engine environment to choose and how to build an app and then manage it.
This lesson provides an overview of the course: what it covers, how it's structured and who it's for.
About the Training Architect
Meet our course author Joseph Lowery. Joe has been working with Google Cloud for over four years, transitioning websites to the cloud via App Engine, Compute Engine, Cloud Storage, Cloud Datastore and other services.
Working with the App Engine Interactive Diagram
The App Engine Interactive Diagram is a tool to provide both an overview and a detailed breakdown of the process of building an App Engine application. You'll see it incorporated into the course when we build and extend our application, and in this lesson, you'll learn how you can also use it independently to fortify your understanding of the App Engine workflow. Download App Engine Interactive Chart
Course Features and Tools
This course, like all Linux Academy courses, is more than just a series of video lessons. In this lesson, I'll detail the other features available for students, both online and off.
Exploring Google App Engine
What is Google App Engine?
This lesson explores the fundamentals of Google App Engine: its key characteristics and primary use cases. You'll also see how developers and App Engine relate and how App Engine fits into the overall Google Cloud Platform.
Examining App Engine Capabilities
This lesson describes App Engines key features and abilities: important information when it comes to deciding if App Engine is the most appropriate service for your project.
In this lesson, you’ll see which App Engine services are free of charge, their limitations, and at which point charges are applied.
QUIZ: Google App Engine Overview
GAE in the Real World
What's the best way to understand what App Engine can actually do? Explore a number of examples from the real world, as you'll see in this lesson.
App Engine vs. Other Services
In this lesson, we'll compare App Engine to other services, both within the Google Cloud Platform and outside of it, to services on AWS and Microsoft Azure.
Signing on to Google Cloud Platform
This lesson will take you through the steps for getting started on Google Cloud Platform so you can begin working with App Engine. If you already have a GCP account, click the Complete Section button to continue.
QUIZ: Google App Engine in the Real World
Integrating with other Cloud Platform services
Exploring Integration Use Cases
In this lesson, I'll show you a range of use cases that where App Engine combines with one or more other GCP services to provide viable, robust solutions.
Integration Example: Cloud Storage
This lesson dives deeper into the connection between App Engine and a GCP service, Cloud Storage, to clarify just how the services work together.
QUIZ: Exploring Google App Engine
Working with Google App Engine
Focusing on Python: Mac
This lesson covers setting up Python 2 and Python 3 on the Mac, along with the recommended accompanying toolset. Commands used Install XCODE: xcode-select --install Go to: https://brew.sh/ and then run the command below: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" Once HomeBrew is installed we can install Python 2 and Python 3 with one command: brew install python python3 Install the virtualenv package pip3 install --upgrade virtualenv
Focusing on Python: Windows
This lesson covers setting up Python 2 and Python 3 on Windows, along with the recommended accompanying toolset.
Focusing on Python: Linux
This lesson covers setting up Python 2 and Python 3 on Linux, along with the recommended accompanying toolset. We will also demonstrate how to use the Linux Academy Linux Cloud Servers so that you have everything you need to follow along with us as we build our application together.
Establishing a Project
Learn how to create a project for your App Engine application, with a couple of tips designed to make your continued work more efficient.
Setting up your Development Environment
In this lesson, you'll complete the necessary steps for preparing your development environment to build an App Engine application. If you are new to using GIT we recommend checking out the following course: https://linuxacademy.com/cp/modules/view/id/88 (GitHub Quickstart)
QUIZ: Setting up a Google App Engine Project
Building an app
Configuring your project
This lesson begins the process of actually building our App Engine application by detailing the initial configuration necessary.
Establishing the Back End
In this lesson, we'll dive into the back end and I'll show you exactly how our app connects to the data sources as well the core functionality.
Coding the Front End
You'll learn, in this lesson, how the visible portion of our application - the front end - is coded, and utilizes the access to Cloud Datastore.
Deploying your App
Deploying your developed app is obviously a critical step and one you'll take many times when working with App Engine; this lesson shows you how to achieve that goal from the command line.
Testing your App
In this lesson, we'll cover the final step in building an app: run initial tests to verify everything is working as expected.
QUIZ: Building Your Application in Google App Engine
Extending your App
Integrating Images with Cloud Storage
This chapter shows how to extend the functionality of your app, starting with connecting to Google Cloud Storage to manage image files.
Enhancing the Front End
This lesson details how the front end files connect to the back end and shows how to use the local development server included in the Google Cloud SDK.
Incorporating CSS, Images, and other Static Files
Discover a specific technique for handling an app's static files: CSS stylesheets, background and foreground images and more.
QUIZ: Extending Google App Engine Applications
Migrating to a Flexible Environment
Why Go Flexible?
Get a better grasp of the differences and similarities between App Engine's Standard Environment and its Flexible Environment before diving into the code.
Updating the Code
This lesson covers all the code variations when transitioning from an App Engine standard environment to a flexible one, in addition to detailing how to work with the local development server and deploy your app.
QUIZ: Migrating Your Application from a Standard Environment to a Flexible Environment
Next Steps with your App
Testing your App
In this lesson, you'll see how App Engine provides a powerful mechanism for managing your out-going traffic: splitting and migrating as desired.
App Engine's Memcache service can enhance app performance significantly. Learn how to take advantage of this service and the available options.
Handling Security Scans
Learn how to use App Engine Security Scans to identify and fix common application vulnerabilities.
QUIZ: Testing Your Google App Engine Application
Managing your Project
Touring the App Engine Console
Familiarize yourself with the App Engine dashboard and console so that you can find the services and functions you need to get the job done.
Implementing a Custom Domain
In this lesson, we'll walk through all the steps necessary to connect a custom domain to an App Engine app, running on Google's appspot.com.
Working with the App Engine Admin API
App Engine is an integral part of the Google Cloud Platform and in this lesson, you'll see how that status allows your apps to connect to a myriad of services, both on and off the Platform, everything from Adsense to YouTube. You'll also see how to programmatically provision and manage your app with the Admin API's RESTful interface.
Examining Available Statistics
Understanding how your app is being used is extremely important and App Engine provides connections to two robust services: Google StackDriver and Google Analytics. In this lesson, you'll learn how to connect your app to these services and gain access to logs, errors, traces, and the full range of user statistics.
Keeping within Budget
Every App Engine project uses resources and once the use of those resources exceed the limits of the free tier, costs are involved. In this lesson, you'll see how to limit your daily costs for Standard environment apps and how to set budgets and alerts for those using the Flexible environment.
QUIZ: Managing Google App Engine Projects
After finishing the Google App Engine Deep Dive course what should you do next?
How to get recognized for your certification.