Easy everything in DevOps & Cloud, page 14
Platform as a Service (PaaS): Focus on Code, Not Infrastructure
PaaS is like a managed workshop for your code; you just bring your application, and the platform handles the servers, OS, and runtime. It's used to quickly deploy web apps without managing infrastructure. The footgun is inflexibility and vendor lock-in.
Infrastructure as a Service (IaaS): Renting the Data Center
IaaS is like renting raw computing hardware—servers, storage, and networking—without owning the physical data center. It's used for workloads needing maximum control, but the footgun is you're still responsible for managing the OS and all software.
Private Cloud: Cloud Computing on Your Terms
A private cloud offers cloud benefits like self-service and scalability on dedicated hardware. It's used for sensitive data or regulatory compliance. The footgun: it's not just a data center; it requires a full cloud software stack for automation.

Public Cloud: Renting, Not Owning, Your Datacenter
Public cloud is like renting computing power instead of owning a datacenter. You get on-demand access to a shared pool of resources like servers and storage, paying only for what you use. The main footgun is cost; uncontrolled usage leads to surprise bills.
Cloud Computing: Renting Someone Else's Computer
Cloud computing is like renting a car instead of buying one. You get access to powerful computers and services over the internet, paying only for what you use, without the upfront cost of owning hardware. The footgun: "cheap to start" isn't "cheap at scale."
Internal Developer Platform: Your Org's 'Easy Button'
An Internal Developer Platform (IDP) is your company's internal 'PaaS,' offering a self-service 'easy button' for common developer tasks. It lets teams ship faster by abstracting away infrastructure complexity.
Platform Engineering: Paving the Road for Developers
Platform engineering builds a paved road for developers, offering a standardized, self-service path to ship code. It's used to reduce developer cognitive load and enforce standards. The footgun is building a platform so rigid that nobody wants to use it.
Kustomize: Template-Free Kubernetes Configs
Kustomize manages environment-specific Kubernetes configs by layering patches on a base YAML, avoiding complex templating. Use it to tweak deployments for dev, staging, or prod. The footgun: the kubectl version can lag, causing unexpected behavior.
Bug Tracking Systems: The Central Log for Software Defects
A bug tracker is the central log for a project's known defects. It’s used in software development to keep track of reported bugs, coordinate fixes, and manage the lifecycle of an issue. The footgun is undervaluing the quality of bug reports.
Structured Logging: Logs as Data, Not Strings
Treat logs as structured data (like JSON), not just plain text. This makes them machine-readable and queryable, letting you filter, search, and create dashboards on specific fields (e.g., user_id, trace_id).
Observability: Seeing Inside Your System
Observability is the ability to ask new questions about your system's health without shipping new code. It's crucial for debugging distributed systems and is the first step in triaging an outage.
Software Composition Analysis (SCA): Know Your Dependencies
Software Composition Analysis (SCA) is like checking the ingredient list for your software. It scans the open-source libraries you use for known vulnerabilities, license issues, and outdated versions.
SAST: A Security Spellchecker for Your Code
SAST is like a spellchecker for security, scanning your source code for vulnerabilities before it ever runs. It integrates into your CI/CD pipeline to give feedback on every commit. The main footgun is noise: false positives can overwhelm developers.
Threat Modeling: Thinking Like an Attacker
Threat modeling is thinking like an attacker to find security flaws before they're exploited. It systematically analyzes your system to prioritize defenses against the most likely threats. The footgun is treating it as a one-off task, not a continuous process.
Deployment Rollbacks: Your CI/CD Undo Button
A rollback strategy is your CI/CD's undo button, letting you revert to a known good state when a new deployment fails. It's essential for production environments. The biggest mistake is not having one, forcing a frantic 'hotfix' under pressure.

Rolling Deployment: Update Servers Without Downtime
A rolling deployment upgrades servers one by one, like swapping train cars while the train moves. A load balancer directs users to active servers, keeping the app online. The main footgun is incompatibility between old and new code running at the same time.

Docker Compose: A Tool for Containerized Applications
Docker Compose is a tool in the Docker suite for running applications in containers. It ensures your app runs the same everywhere by packaging it with its dependencies, solving the 'works on my machine' problem.
Container Image: A Blueprint for Your Application
A container image is a static blueprint for your application, bundling code, runtime, and settings. You build images to ship software for Docker or Kubernetes, which then run them as live containers.

Dockerfile: The Recipe for Your Container
A Dockerfile is a recipe for building a container image. It's a text file of commands that automates an application's environment setup, ensuring it runs identically anywhere. The footgun is creating bloated images with unnecessary build tools.

Software Containers: Portable, Isolated Applications
Think of a container as a standardized box for your app, bundling its code and all dependencies. This lets you run it consistently anywhere, from your laptop to the cloud.
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