Intermediate everything in DevOps & Cloud, page 22
Artifact Registry: Google's Universal Package Manager
Artifact Registry is a private, universal package manager for all your software components, not just Docker images. Use it to store your company's Docker images, Java JARs, and Helm charts in one place, integrated with GCP CI/CD.
Amazon EC2: Rentable Virtual Servers on AWS
Amazon EC2 is like renting virtual computers, letting you run applications without buying physical hardware. It's used for scalable deployments where you can launch and terminate servers as needed, paying only for what you use.
Building Images with Docker Compose
Docker Compose builds images from a compose.yml file, turning a Dockerfile into a runnable service within a multi-container app. It's for local dev where you need a database and backend to start together. The footgun: up won't rebuild without --build.
Docker Compose: Control Startup with `depends_on`
depends_on controls service startup order in Docker Compose, ensuring a database starts before your app. The footgun: it only waits for the container to start, not for the application inside to be ready. Use healthcheck for true readiness.
Environment Variables in Docker Compose
Environment variables are the runtime knobs for your Docker Compose services, letting you pass configuration like API keys or database URLs without rebuilding your image. Use them to connect services or set feature flags.
Docker Compose Networking: How Services Talk to Each Other
Docker Compose puts your services on a private network, letting them communicate using service names as hostnames. This is how a 'web' container finds your 'db' container. The footgun is using localhost; always use the service name for inter-container calls.
The .dockerignore File: Keep Your Build Context Lean
.dockerignore is like .gitignore for your Docker build. It tells the daemon which files to exclude from the build context, preventing large or sensitive files from slowing your build and bloating your image. The footgun is forgetting it and sending everything.
Docker Build Cache: Don't Rebuild What Hasn't Changed
Docker's build cache is like a saved game for your image layers. It skips rebuilding if instructions and files haven't changed. A common footgun is an early COPY . . command, which can invalidate the cache for all subsequent steps on every code change.
Docker Networking: How Containers Talk to Each Other
Docker gives each container its own isolated network, preventing port conflicts. Containers connect via networks, like bridge for local communication. For containers to find each other by name, you must use a user-defined bridge network; the default one…
Docker Volumes: Persistent Data for Ephemeral Containers
Think of a Docker Volume as an external hard drive for your container. It persists data even after a container is removed, perfect for databases or user uploads. The footgun is confusing volumes with bind mounts, which are less portable.

Container Runtime: The Engine That Runs Your Containers
A container runtime is the low-level engine that executes containers. Kubernetes uses a runtime like containerd or CRI-O on each node to pull images and manage container lifecycles.

Linux cgroups: Resource Fences for Processes
Cgroups are resource fences for processes, letting the Linux kernel enforce CPU and memory limits. Container runtimes use them to isolate containers, which is how Kubernetes enforces Pod resource limits.
Linux Namespaces: A Virtual Slice of the OS
Linux namespaces give a process a virtualized slice of OS resources, like its own process tree or network stack. This is the core magic behind containers, providing the illusion of a separate machine without the overhead of a full virtual machine.
Cloud Disaster Recovery: Planning for Failure
Cloud DR isn't about backups; it's a business continuity plan defining acceptable downtime (RTO) and data loss (RPO). It's for when a whole region fails or a bad deploy corrupts data. The footgun is having a plan but never testing it, creating false security.

Cloud Operating Model: Your Org's Playbook for the Cloud
A Cloud Operating Model is your org's playbook for balancing new cloud capabilities with existing systems. It's used to manage the transition to the cloud with minimal disruption. The footgun is assuming your old processes will work unmodified.
ML Model Registry: A Version Control System for Models
A model registry is like Git for machine learning models: a central hub to version, store, and manage them. It's crucial for MLOps, letting teams track which version is in production, compare performance, and roll back. The footgun is using it as just storage.

Data Swamp: When a Data Lake Becomes Unusable
A data swamp is a data lake turned digital landfill, so disorganized that finding useful information is nearly impossible. This happens when data is dumped without metadata or quality checks, making it a costly, insecure liability instead of a valuable asset.
Cloud Alerting: Your System's Automated Smoke Detector
Cloud alerting is your system's smoke detector, watching key metrics and screaming when something's wrong before it becomes a fire. It's used to flag high CPU, failing health checks, or security anomalies.
Cloud Monitoring: Metrics, Time Series, and Resources
Cloud monitoring metrics are numerical measurements of a resource over time. They are used to build dashboards, trigger alerts when a threshold is crossed, and analyze performance for services like VMs or databases.
Automate Storage Costs with Lifecycle Policies
Object storage lifecycle policies are automated rules that move or delete data as it ages to save money. They're ideal for logs or backups, transitioning them to cheaper "cold" storage over time.
We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.
See open roles