Glossary
149 terms from Cloud Deployment, in plain words, each with the chapter that teaches it.
#
- --allow-unauthenticated
- A `gcloud run deploy` flag that makes the service's URL public so anyone can call it. The orders API needs it because it does its own logins instead of relying on Google credentials.
- --cpu-boost
- A Cloud Run setting that gives an instance extra CPU while it starts, which shortens cold starts for Kettle & Crane's API.
- --max / --min (Cloud Run)
- Flags that set the most and fewest instances Cloud Run keeps. `--max 3` protects both the bill and the database's connection limit, and `--min 0` allows scale to zero.
A
- A record
- A DNS record that points a name at an IP address: A for IPv4, AAAA for IPv6. It is used where a CNAME isn't allowed, such as the apex domain.
- action (GitHub Actions)
- A published, ready-made building block that a workflow step can use with `uses:`, such as checking out your code.
- actionlint
- A free checker for GitHub Actions workflow files. It catches mistakes in `deploy.yml` before you push it.
- Alembic
- The migration tool for SQLAlchemy. It records each database schema change as a numbered script, so tables can change safely after launch.
- ALIAS record
- A DNS record offered by some DNS hosts that behaves like a CNAME but is allowed at the apex domain.
- Amazon CloudWatch
- AWS's logs, metrics and alarms service, equivalent to Cloud Logging and Cloud Monitoring.
- Amazon ECR
- AWS's container registry, where the orders API's image would be stored on AWS. It is the equivalent of Artifact Registry.
- Amazon RDS
- AWS's managed PostgreSQL service, the equivalent of Cloud SQL.
- Amazon Route 53 and ACM
- Route 53 is AWS's DNS service and ACM (AWS Certificate Manager) issues HTTPS certificates. Together they handle the custom domain on AWS.
- amd64
- The 64-bit Intel-style processor type Cloud Run uses. Apple-silicon Macs are ARM, so images built there must be built with `--platform linux/amd64` or they won't start in the cloud.
- apex domain
- The bare domain with no subdomain in front, such as `kettlecrane.example`. DNS rules don't allow a CNAME here, so you use an A or ALIAS record.
- ARN
- AWS's full unique name for any resource, such as the role a GitHub workflow assumes.
- Artifact Registry
- Google Cloud's container registry, where Kettle & Crane stores its Docker images so Cloud Run can pull them.
- autoscaler
- The part of a platform that adds instances when load rises and removes them when it falls.
- AWS (Amazon Web Services)
- Amazon's cloud platform, the largest of the major cloud providers. It offers services comparable to Google Cloud's, such as ECS for running containers and Lambda for serverless functions.
- AWS App Runner
- AWS's service closest to Cloud Run. It is closed to new customers as of October 2026, and AWS recommends ECS Express Mode instead.
- AWS Budgets
- AWS's budget and alert service, equivalent to Google Cloud budgets. Like them, it warns but doesn't stop spending.
- AWS Secrets Manager
- The AWS equivalent of Secret Manager, which stores secrets such as the database URL.
B
- backup
- A copy of data from before a mistake. It is what you restore from when bad data, not bad code, is the problem.
- billing account
- The Google Cloud object that holds your payment card. Each project is linked to one billing account, and its costs land there.
- Blueprint
- A `render.yaml` file in your repository that describes your Render services and databases, so the whole setup can be recreated from one file.
- budget
- A spending amount, such as Kettle & Crane's $25, that emails you at chosen percentages. It only warns and never stops spending.
C
- CAA record
- A DNS record listing which certificate authorities may issue certificates for your domain. It must include your host's CA.
- canary release
- Another name for a gradual rollout: sending a small share of real traffic to a new version first.
- certificate authority
- An organization that browsers trust to sign HTTPS certificates, such as Let's Encrypt or Google Trust Services.
- CI/CD
- CI tests every change automatically when it's pushed, and CD releases every change that passes. Together they make the pipeline from a push to a live release.
- cleanup policy
- Rules on an Artifact Registry repository that delete old images automatically, such as images older than 30 days while keeping the newest 5.
- Cloud Armor
- Google Cloud's protection service that can block abusive addresses before they reach your app. It needs the load balancer setup.
- Cloud Build
- Google's build service. `gcloud run deploy --source .` uses it to build your Dockerfile in the cloud.
- Cloud Logging
- Google Cloud's log store, which collects Cloud Run's output. The Logs Explorer is its search page.
- Cloud Monitoring
- Google Cloud's service for uptime checks, metrics and alert policies.
- Cloud Run
- Google's serverless container service. It runs your image, starts instances on demand, scales to zero, and bills only for use.
- Cloud Run domain mapping
- A free, Preview-status way to put your own domain on a Cloud Run service. Kettle & Crane uses it for `api.kettlecrane.example`.
- Cloud Run job
- A container on Google Cloud Run that runs a command to completion instead of serving requests. It is useful for one-off or scheduled tasks such as running database migrations with the same image, identity and secrets as the service.
- Cloud Run service
- Your app's permanent home on Cloud Run: a name, a URL and its settings. Each deploy adds a revision to it.
- Cloud SQL
- Google's managed database service. Google runs, updates and backs up the PostgreSQL server for you.
- Cloud SQL Auth Proxy
- A small program from Google that runs on your laptop and forwards a local port to your Cloud SQL instance over an encrypted, identity-checked connection.
- Cloud SQL connection name
- The identifier of a Cloud SQL instance in the form `PROJECT:REGION:INSTANCE`. It names the instance in `--add-cloudsql-instances` and in the `/cloudsql/` socket path.
- CNAME record
- A DNS record that points one name at another name, such as `api` pointing at `kettle-api.onrender.com`. It can't be used at the apex.
- cold start
- The short delay when the first request after a quiet spell has to wait for a new instance to start. It is the price of scale to zero.
- commit SHA
- A Git commit's unique ID. The pipeline pins actions to one and tags images with it, so you know exactly which code is running.
- concurrency
- How many requests one instance handles at the same time. Cloud Run's default is 80.
- connection pool
- A set of open database connections that an app reuses, because opening one is slow. Each instance has its own pool.
- connection pooler
- A service in front of the database that lets many app connections share a few database connections.
- connection URL
- A database's address and login in one string, such as `postgresql://user:pw@host/db`. On Cloud Run it points at a Unix socket instead of a host.
- container registry
- A server that stores container images so hosts can pull them. Google's is Artifact Registry.
- CORS
- The browser rule that only lets websites call your API from origins you list. Kettle & Crane's shop website has to be in `CORS_ORIGINS`.
- curl -I
- A command-line HTTP client. With `-I` it shows only the status line and headers, which is handy for checking HTTPS and redirects.
D
- Dependabot
- A GitHub feature that opens a pull request when a newer version of one of your dependencies exists. It keeps packages, the Dockerfile base image and actions up to date.
- deploy
- To run an app on an always-on computer, at a public address, with real data, so real users can use it.
- deque
- A list that is fast to add to at one end and remove from at the other. The login limiter uses one to hold the times of recent attempts.
- dig
- A command that asks DNS what a name points at, used to check your records. On Windows use `nslookup`.
- DNS
- The internet's phone book. It turns a name like `api.kettlecrane.example` into the address of a computer.
- Docker Compose
- A Docker tool that runs several containers together from one file. Here it runs the API and a PostgreSQL 17 database on your laptop.
- Docker image
- A packaged snapshot of your app and everything it needs. A container is a running image, and one running copy on a host is an instance.
- Dockerfile
- The recipe for building a container image of your app. Render and `docker build` both read it.
- domain verification
- Proving you own a domain before Google lets you map it, by adding a TXT record that Google Search Console asks for.
- driver
- The package a library uses to talk to a database. The orders API uses psycopg for PostgreSQL, hence `postgresql+psycopg://`.
E
- ECS Express Mode
- AWS's recommended Cloud Run-like service. ECS runs containers and Fargate runs them without servers to manage. It needs an image, a task execution role and an infrastructure role, and it creates an hourly-billed load balancer.
- edition (Cloud SQL)
- Cloud SQL's Enterprise or Enterprise Plus level. For PostgreSQL 16 and later the default is the far costlier Enterprise Plus, so you must pass `--edition=enterprise`.
- environment variable
- A named value the operating system hands to a program. Hosts use them to pass in settings and secrets, so one image works everywhere.
- ephemeral container storage
- Files written inside a container last only as long as that container, so they vanish on every redeploy or restart. This is why production data belongs in a managed database, not a SQLite file.
- expression (GitHub Actions)
- A `${{ ... }}` placeholder that GitHub fills in when a workflow runs, such as `github.sha` or `vars.DEPLOY_SA`.
F
- Firebase Hosting
- A Google service that can sit in front of Cloud Run to give it a custom domain, and can also serve a static website.
- Fly.io and Railway
- Platform-as-a-service hosts, like Render, that run your app for a price. Fly.io bills per second while a machine runs, and Railway charges a $5 monthly plan plus usage.
- forecast
- Google's projection of the month's final spend. A forecast alert warns you days before the money is spent.
- free tier
- Usage a provider gives free every month, such as Cloud Run's 2 million requests. It is separate from the one-off free trial credit.
G
- gcloud
- Google Cloud's command-line tool. You use it to create projects, push images, deploy services and manage secrets.
- GiB-second
- The units Cloud Run bills in. A vCPU-second is one core busy for one second, and a GiB-second is one gibibyte (about 1.07 GB) of memory held for one second.
- GitHub Actions
- GitHub's service for running automated pipelines on your repository, described in YAML workflow files.
- gradual rollout
- Moving traffic to a new version in steps, such as 10% first, while watching for errors.
H
- health check
- An endpoint or test that reports whether an app works. Kettle & Crane's `/health` runs a database query and returns 503 on failure.
- host
- A company or service that runs your app for you, such as Render or Google Cloud.
- Host addresses (127.0.0.1, 0.0.0.0)
- `0.0.0.0` means 'listen on every network interface', which a container needs so the host can reach it. `127.0.0.1` (localhost) accepts connections only from inside the same machine or container.
- HTTP status codes
- Three-digit replies that say how a request went: 200 OK, 3xx redirect, 401 Unauthorized (bad login), 403 Forbidden (not allowed), 404 Not Found, 429 Too Many Requests (limit reached, as with `--max` or the login limiter), 503 Service Unavailable (such as `/health` when the database is down), and 5xx for server faults.
- HTTPS
- HTTP over an encrypted TLS connection. It needs a certificate proving the server owns the name.
I
- IAM
- Google Cloud's system for who can do what. Every person and program has an identity, and identities are granted roles.
- infrastructure as code
- Describing servers, databases and settings in files you can review and reuse, like `render.yaml`. Terraform and OpenTofu do this for any cloud.
- instance
- One running copy of your container. There may be zero, one or many.
- Internal and External Database URL
- Render's two connection URLs for a database. The Internal one works only from Render services in the same region and is faster and private; the External one works from anywhere, such as your laptop, so treat it like a password.
- IP allow list
- A list of IP addresses permitted to connect to a database from outside. In `render.yaml` it limits who can use the External Database URL, and `/32` means exactly one address.
K
- Kubernetes
- An open-source system for running and managing containers at scale. It underlies many large platforms and is common at bigger companies.
L
- least privilege
- Giving each identity only the smallest set of permissions it needs, such as letting the app read just its three secrets.
- liveness probe
- A check that shuts down a running instance that stops answering. Don't point it at a health check that includes the database.
- load balancer
- A program that spreads incoming requests across instances. On AWS it bills every hour, even when idle.
M
- managed database
- A database server that the host runs, patches and backs up for you, such as Render Postgres or Cloud SQL.
- max_connections
- The hard limit on simultaneous connections a PostgreSQL server accepts. Maximum instances × connections per instance must stay below it.
- middleware
- Code that a web framework such as FastAPI runs around every request. It is commonly used for cross-cutting tasks like logging each request's status and duration.
N
- Neon
- A managed PostgreSQL provider with a free plan, mentioned as an alternative to Cloud SQL.
O
- OIDC
- The standard behind GitHub's identity tokens. On AWS you register GitHub as an OIDC identity provider to get keyless deploys.
P
- PaaS
- A host that runs your app on its own machines and handles HTTPS, restarts and deploys. Render is an example.
- pg_dump / pg_restore
- PostgreSQL tools that write a database to a file and load it back. They make backups that live outside the cloud account.
- pipeline
- The automated steps from a push to a running release: test, build, push and deploy.
- point-in-time recovery
- Restoring a database to any moment within a retention window, not just to last night's backup. In Cloud SQL you do it by cloning to a new instance.
- PORT
- The environment variable a host uses to tell your app which port to listen on. Render uses 10000 and Cloud Run 8080.
- PostgreSQL
- The open-source database the orders API uses in production, in place of SQLite.
- Preview
- A Google Cloud feature offered before general availability, with limited support. Cloud Run domain mapping is one.
- production
- The live copy of the app that real users depend on.
- project (Google Cloud)
- A Google Cloud container for services, databases, secrets, permissions and costs. Its project ID must be unique worldwide.
- psql
- PostgreSQL's command-line client for connecting to a database and running SQL. For example, `SHOW max_connections;` reports how many connections the database allows.
- pull request
- A proposed change on GitHub, waiting for review. In the pipeline, pull requests run the tests but are never deployed.
- pydantic-settings
- The library that fills the app's `Settings` fields from environment variables of the same name, falling back to a `.env` file.
R
- rate limit
- A cap on how often something may happen. The login limiter allows 5 attempts per username per minute and answers 429 with a `Retry-After` header.
- region
- A group of data centers in one area, such as `us-west1` (Oregon). Keep the app and database in the same region.
- registrar
- A company that sells and registers domain names.
- Render
- A platform-as-a-service host that builds and runs your app, for example from a Dockerfile in a GitHub repository. It charges fixed monthly prices per instance, which makes costs predictable.
- repository variable
- A non-secret setting stored on GitHub for workflows, read with `vars.`, such as `WIF_PROVIDER`.
- revision
- A frozen copy of one image plus one set of settings in a Cloud Run service. Every deploy or settings change adds one, and old ones stay for rollbacks.
- role
- A named bundle of permissions in IAM, such as `roles/cloudsql.client`.
- rollback
- Sending traffic back to a previous version. It fixes bad code but not bad data.
- rotate
- To replace a secret with a new value, on a schedule or right away if it may have leaked.
- runner
- The fresh virtual machine that runs a GitHub Actions job.
S
- scale to zero
- Running no instances when there is no traffic, so you pay nothing for compute. The cost is a cold start on the next request.
- scale up / scale out
- Scaling means matching capacity to demand. Scale up uses a bigger instance, and scale out uses more instances.
- schema migration
- A change to the structure of database tables, such as adding a column. Make migrations additive so old code keeps working, and run them with a tool like Alembic, for example as a Cloud Run job.
- secret
- Any setting that would let someone in if they saw it, such as `SECRET_KEY`, the partner key or the database password. Keep secrets out of code and Git.
- Secret Manager
- Google Cloud's encrypted store for secrets. It controls who can read each one and keeps every version.
- secret version
- Each change to a secret in Secret Manager creates a numbered version. Pinning a version, such as `:1`, means a new version only reaches the app when you deploy.
- serverless
- A style where you never see the servers. The host starts instances when requests arrive and stops them when they don't, and you pay only for use.
- service account
- An identity for a program rather than a person. The app runs as `kettle-api-runtime` and the pipeline as `kettle-deployer`.
- service account key
- A JSON file that works like a never-expiring password for a cloud service account. If it leaks, anyone can use it until it is found and revoked, so short-lived credentials such as Workload Identity Federation are safer.
- service container
- A container, such as PostgreSQL, started alongside a CI job so the tests can use it.
- shared-core machine
- A small database machine that shares a processor with other customers. It exists only in the Enterprise edition and has no uptime guarantee.
- SIGTERM
- The signal a host sends before stopping an instance, so it can finish its requests. Cloud Run allows 10 seconds.
- smoke test
- A quick check you run right after a deploy. `check_live.py` calls `/health` and exits with an error if the API isn't healthy.
- spend cap
- A budget setting for some services, including Cloud Run, that pauses new usage when the cap is reached. Enforcement isn't instant, so set it well above normal spend.
- SQLAlchemy
- The Python database library under SQLModel. It needs a driver name in the URL, such as `postgresql+psycopg://`.
- SQLite
- A database stored in a single file. It is fine locally but loses data inside a container that gets replaced.
- staging service
- A second copy of the service, with its own small database and secrets, where each release is tried before production.
- standard output / standard error
- The two streams a program writes text to. Hosts collect them as your app's logs.
- startup probe
- A Cloud Run check that must pass before an instance gets traffic. Pointing it at `/health` stops a broken revision from ever serving.
- structured log
- A log line written as one JSON object with named fields, such as `severity` and `message`, so Cloud Logging can search it.
- subdomain
- A name under a domain, such as `api.kettlecrane.example`.
T
- tag (image)
- A label after a colon in an image name that names a version, such as `:v1` or a commit SHA.
- TLS certificate
- A file proving a server owns a name, needed for HTTPS. Render and Cloud Run issue and renew them automatically once DNS points at them.
- TTL
- How many seconds other computers may cache a DNS answer. Lower it before changing an important record.
- two-step verification
- Requiring a second proof besides a password when signing in. Turn it on for every account that can change production.
U
- Unix socket
- A file-like connection point between programs on one machine. Cloud Run reaches Cloud SQL through one under `/cloudsql/`.
- uptime check
- A check that calls your URL from several places on a schedule. An alert emails Sam and Alex when it fails.
V
- validator
- A method that checks or changes a setting as it's loaded. The one in `config.py` rewrites `postgresql://` URLs to `postgresql+psycopg://`.
- vCPU
- One virtual processor core.
- virtual machine
- A slice of a big server that behaves like a computer of your own. It gives full control and full responsibility, and you pay for every hour it exists.
- volume (Docker)
- Storage Docker keeps outside a container so data survives when the container is replaced.
W
- workflow
- A GitHub Actions pipeline defined in a YAML file under `.github/workflows/`. It has jobs, and each job has steps that run commands or use actions.
- Workload Identity Federation
- A way to swap an outside token, such as GitHub's, for short-lived Google Cloud access, so no service account key is stored anywhere.
Z
- zero-downtime deploy
- A release where the old version keeps serving until the new one passes its health check.