O'Reilly logo
live online training icon Live Online training

Developing Applications on Google Cloud Platform

Build and deploy scalable applications using Google’s capabilities for secure, cloud-native solutions

Lucas Arruda

Develop and deploy scalable applications from scratch, and make them globally available in almost any language. The course will guide you in designing, deploying, and managing applications running on Google Cloud. You will learn how to use and operate applications properly, through hands-on demonstrations, and you'll also learn how to design cloud-native solutions that are scalable, reliable and secure.

We’ll begin by covering Cloud Functions, the most popular Serverless offering on GCP. We’ll move on to App Engine, a fully-managed PaaS that scales from zero to thousands of instances. Next, we’ll cover Kubernetes Engine, which provides more flexibility but still with the advantages of a managed service. You’ll also learn about Compute Engine, for maximum control over your infrastructure. We’ll be also leveraging some really neat publicly available APIs from Google that can take your new or existing application to the next level. You’ll also learn how to integrate your new applications with the various storage solutions on GCP, including Cloud SQL (a relational database service), Firestore (NoSQL document-based database), and Cloud Storage. By the end of this course, you’ll be well-versed with the development tools and workflows of Google Cloud Platform, and you’ll be able to develop, deploy, and manage highly scalable and reliable applications.

What you'll learn-and how you can apply it

  • Get to know the various options for hosting an application on GCP, from Serverless and PaaS to Containers and IaaS.
  • Understand the differences (pros and cons) of each offering and which key aspects are relevant when choosing one or another.
  • Deploy to Cloud Functions, App Engine, Kubernetes Engine and GCE, learning each one’s characteristics and limitations.
  • Integrate with Cloud SQL and Firestore and understand recommended use-cases for relational and NoSQL databases.
  • Improve an application’s capabilities by adding a storage layer using Google Cloud Storage.
  • Enhance an application’s experience by leveraging some interesting APIs provided by Google.

This training course is for you because...

You are a application developer and solution architect who want to fully leverage the power of Google Cloud Platform to build resilient and intelligent software solutions.

Prerequisites

  • Although we use code snippets in popular languages such as Python, Node.js and Java, we do not expect you to know any of those languages in particular. The examples are very straight-forward and self-explained, thus some basic programming knowledge should be enough.

  • If you’re not familiar with Cloud Computing at all, we strongly suggest you to go for a quick research around terms such as “Iaas”, “Paas”, “SaaS” and “FaaS”. Those are all acronyms for common cloud service models and should make it easier for you to understand the “spectrum” of services that will be presented throughout the course.

Course Setup

In order to follow the hands-on labs you will need: - A valid Google account (either Gmail or G Suite) - A project created at Google Cloud Platform. Go to http://console.cloud.google.com and create one. - A billing account enabled for the project. More info at https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_new_project - If you’re new to GCP, don’t forget to apply for the Free Tier and earn $300 for 12 months you can use to do the labs and much more. Check out https://cloud.google.com/free/

NOTE: We will NOT cover the steps above as part of the live training session. Please make sure to reserve some time prior to the course to prepare yourself. You can still join and follow the contents without the preparation steps, but you will not be able to execute the labs without a GCP project with billing enabled.

Resources

Google Cloud Platform for Developers

About your instructor

  • Lucas is a software architect specialized in cloud computing, web applications and data engineering. In the past years he’s been working on projects for Fortune 500+ companies who want to move their workloads to the cloud and leverage data analytics tools to empower their business decision processes. He’s been recognized by Google as a Cloud Developer Expert by his community activities and being an active speaker in conferences and meetups.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

DAY 1

SECTION 1: Course Intro and GCP Overview – 45 Minutes

  • Welcome & General Instructions
  • Introducing Google Cloud Platform
  • Understanding the Basics
  • Cloud SDK
  • Pricing Philosophy
  • The Cloud Platform Spectrum

Q&A – 5 Minutes

Break – 10 Minutes

SECTION 2: Getting started with Google Cloud Functions – 35 Minutes

  • Cloud Functions: an event-driven serverless platform
  • Use-cases
  • Runtimes
  • Connect and extend services
  • Client Libraries

Lab Activity: Real-time data processing with Cloud Functions (10 mins)

Q & A – 5 Minutes

Break – 10 Minutes

SECTION 3: Google App Engine: a fully managed platform – 35 Minutes

  • App Engine Basic concepts
  • Runtimes & Environments
  • Application Scaling Options
  • Versions
  • Traffic Splitting

Lab Activity: A/B Testing on App Engine (10 mins)

Q & A – 5 Minutes

Break – 10 Minutes

SECTION 4: Cloud Firestore: a highly-scalable NoSQL database – 35 Minutes

  • Overview of Cloud Firestore
  • Cloud Firestore Data Model
  • Supported Data Types
  • Indexes
  • Queries & Transactions
  • Offline Data
  • Realtime updates

Lab Activity: Aggregating data with Real Time updates on Cloud Firestore (10 mins)

Q&A – 5 Minutes

Break – 10 Minutes

DAY 2

SECTION 5: Spinning up containers on Kubernetes Engine – 60 Minutes

  • Overview of Kubernetes
  • Clusters & Node Pools
  • Networking
  • Storage
  • Auto-scaling
  • Stateless vs. Stateful
  • GKE Dashboards

Lab Activity: Deploying Wordpress on GKE (10 mins)

Q&A – 5 Minutes

Break – 10 Minutes

SECTION 6: Cloud SQL: Fully-Managed PostgreSQL & MySQL – 35 Minutes

  • MySQL or PostgreSQL
  • Instance settings
  • Connection Options
  • Configuration for High-Availability
  • Replication options
  • Importing/Exporting Data

Lab Activity: Migrating from MySQL to Cloud SQL in minutes. (10 mins)

Q&A – 5 Minutes

Break – 10 Minutes

SECTION 7: High-Performance Virtual Machines with GCE – 35 Minutes

  • Machine Types
  • Disks & Images
  • Networking
  • Instance Templates & Groups
  • Startup Scripts
  • Instance Metadata

Lab Activity: Load balancing a globally available application (10 mins)

Q&A – 5 Minutes

Break – 10 Minutes

SECTION 8: Unified object storage with Cloud Storage – 35 Minutes

  • GCS Concepts
  • Storage Classes & Locations
  • gsutil
  • Object Change Notification
  • Object Versioning & Lifecycle Management
  • Static Website Hosting

Lab Activity: Migrating to a scalable file-system on GCE (10 mins)

Final Q&A – 5 Minutes

Wrap up: Session Summary, Discussion - 10 minutes