Deploying an Application to the Cloud, Step by Step

Deploying an Application to the Cloud is an intermediate-level course of 5 lessons (about 1 h 30 min), with 15 exercises and 15 quiz questions. Prerequisites: Cloud Fundamentals, Docker and Deployment. The course needs a full project environment, planned for a later phase of the platform.

  • Cloud and DevOps
  • Intermediate
  • 5 lessons
  • 1 h 30 min
  • 15 exercises
  • Full project environment (phase 2)

The course in brief

This course takes a ready-made Docker image and puts it into production on managed services. You will deploy a container with revisions and rollback, connect it to a managed PostgreSQL database without exposing it, store files in a private bucket, protect secrets with dedicated identities and set up logs, metrics and alerts. The examples use Google Cloud, with the AWS and Azure equivalents.

What you will be able to do

  • Deploy an image to a managed container platform and master revisions, traffic and scaling
  • Connect an application privately to a managed PostgreSQL database, with controlled backups and migrations
  • Store and share files in private object storage with minimal permissions and a lifecycle
  • Manage secrets in a dedicated manager and apply least privilege with service accounts
  • Monitor a service with structured logs, metrics, alerts and a budget alert

Syllabus: 5 lessons

    • Deploy a container image to a managed service (Cloud Run) on the command line
    • Understand revisions, traffic splitting, scaling and cold starts
    • Roll back to a previous revision without rebuilding the image

    Managed containersRevisions and trafficAutomatic scaling

  1. 02

    Using a Managed Database

    20 min
    • Create a managed PostgreSQL instance, a database and an application user
    • Connect a container service to the database without exposing it to the Internet
    • Set up backups, restore and migrations

    Managed databasesBackups and restorePrivate database connection

  2. 03

    Storing Files in Object Storage

    15 min
    • Create a private bucket and upload files on the command line
    • Give an application limited access with a service account
    • Automate the object lifecycle (storage class, deletion)

    Object storageIAM permissionsObject lifecycle

  3. 04

    Managing Secrets and Identities

    15 min
    • Store a secret in a secret manager and manage its versions
    • Inject a secret into a service without writing it in the code or the image
    • Apply least privilege with a dedicated service account per application

    Secret managerService accountsLeast privilege

  4. 05

    Monitoring: Logs, Metrics and Alerts

    20 min
    • Write structured logs and query them
    • Track a service's key metrics (traffic, errors, latency, saturation)
    • Configure useful alerts: availability, error rate, budget

    Structured logsMetricsAlerts and budgets

Final project

Put an API into Production with Database, Files and Monitoring

Deploy a containerized API from the path (for example the notes or booking API) to a managed container platform. It uses a managed PostgreSQL database reachable only through a connector or private IP, stores attachments in a private bucket shared through signed URLs, reads its secrets from the secret manager with a dedicated service account, and has structured logs, an uptime check, an error-rate alert and a budget alert.

Deliverables

  • The script or list of gcloud commands (or AWS/Azure equivalent) that create all the resources
  • The service's HTTPS URL and proof of a no-traffic deployment followed by a cutover and then a rollback
  • The service account's permissions matrix (role, resource, justification)
  • A screenshot or export of the configured alerts and a short response procedure
  • Proof of a database restore test into a separate instance

Assessment criteria

  • No secret appears in the repository, the image or the service's plain-text configuration
  • The database and bucket are not publicly accessible
  • The service account has only the necessary roles, on the narrowest scope
  • Migrations run in a separate task and the rollback is demonstrated
  • Logs are structured and alerts have a threshold, a duration and a procedure

Frequently asked questions

Do you need a paid cloud account to follow the course?

The hands-on tasks are done in a test project at a cloud provider. Check the provider's trial terms, create a budget alert right at the start and delete the resources after each exercise. Some of the exercises (calculations, logs, rules) can be done without an account.

Is the course limited to Google Cloud?

The commands are written with gcloud, but each lesson gives the AWS and Azure equivalents: the concepts (managed containers, managed database, object storage, secrets, monitoring) are the same.

How is this different from the Docker course?

The Docker course teaches you to build and publish an image. This one runs it on managed services and adds database, files, secrets and monitoring.

What about Kubernetes or Terraform?

They come after: Terraform (CL3) describes in code the infrastructure created here by hand, and Kubernetes (OP3) addresses the needs of many services and platform teams.

This course, told for your job

Say what you want to be able to do: “Deploying an Application to the Cloud” takes its place in your path, with examples from your field. The concepts stay those of the course.

The preview is free, and you can take the courses one at a time without paying. The path only contains lessons from the catalogue.