Orchestration
27 bites tagged Orchestration — interview questions with model answers, and 60-second explainers.
Directed Acyclic Graph (DAG) for Workflows
A DAG models a workflow as tasks (nodes) connected by dependency edges with no cycles, so a scheduler knows the valid execution order. It enables parallelism, safe retries, and idempotent reruns, and underpins orchestrators like Airflow for ML pipelines.
State machines versus long-running functions
State machines externalize state, pause for human input without running compute, give built-in retries and audit history, and bill per transition. orchestration for long workflows. a function blocking for days on input.
Compare and contrast Apache Airflow versus Kubeflow Pipelines for ML orchestration
This tests matching orchestrators to ML constraints. A strong answer contrasts Airflow's task scheduling and backfills with Kubeflow's K8s-native GPU scaling, choosing based on team skills.
Compare Airflow and Kubeflow for ML training pipelines
Tests orchestrator-to-workload fit. Strong answers contrast Airflow's data integration and Python DAGs with Kubeflow's K8s scaling, container reproducibility, and experiment tracking. Red flag: claiming one is always better without stage-specific reasoning.
Dynamic Fan-out/Fan-in Pipelines
Dynamic fan-out/fan-in spawns parallel tasks from runtime data, then gathers results. Use it when input counts vary, like processing a daily changing set of files. The footgun is a fan-in task that hangs waiting for branches lost to partial failure.
Argo Workflows: Run Complex Jobs on Kubernetes
Think of Argo Workflows as a script runner for Kubernetes, where each command is a container. It runs multi-step jobs like CI/CD or ML pipelines. The footgun is treating it like a full CI server; it's just an engine and lacks features like Git polling.
Vertex AI Pipelines: Orchestrating ML Workflows
Think of it as an assembly line for your machine learning models, automating everything from data prep to deployment. Use it to build reproducible, production-grade ML systems on Google Cloud.
Amazon SageMaker Pipelines: Repeatable ML Workflows
Think of SageMaker Pipelines as a CI/CD pipeline for ML models, automating workflows from data prep to deployment. Use it for reproducible training and automated retraining.
Kubeflow: MLOps on Kubernetes
Kubeflow brings the declarative, container-based world of Kubernetes to the entire ML lifecycle. It provides tools for building portable and scalable ML workflows, from development to production serving.
Node Affinity: Tell Your Pods Where to Go
Node affinity is like giving pods a 'preferred seating' list for nodes. You guide the scheduler to nodes with specific labels, like those with GPUs or in a certain zone. The footgun is confusing 'required' (a hard rule) with 'preferred' (a suggestion).
Kubernetes Taints and Tolerations: Repelling Pods
Taints act like 'No Trespassing' signs on Kubernetes nodes, repelling pods. Tolerations are the keys that let specific pods ignore those signs. Use this to reserve nodes for special hardware or critical workloads, preventing general pods from landing there.
ReplicaSet: Kubernetes' Pod Thermostat
A ReplicaSet is Kubernetes' thermostat for pods, ensuring a specific number of replicas are always running. It replaces crashed pods or removes excess ones to maintain a stable state.
Labels and Selectors: The Glue of Kubernetes
Labels are key-value tags for organizing Kubernetes objects; selectors are queries to find them. This is how a Service finds its Pods. The main footgun is a mismatched selector, which orphans Pods from the Deployment that created them.
Kubernetes Pods: The Atomic Unit of Deployment
A Pod is the smallest deployable unit in Kubernetes, a wrapper for one or more containers that run together on one machine. It's used for tightly coupled 'sidecar' helpers, like a log shipper.
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.
Docker Compose: Orchestrate Multi-Container Apps Locally
docker compose is a conductor for multi-container apps, using a single YAML file to define and run all the parts of your stack together. It's ideal for local development to spin up a database and API with one command.
Data Pipeline Orchestration: Beyond Cron Jobs
Data pipeline orchestration is the conductor for your data workflows, ensuring tasks run in the right order with full dependency awareness. It manages complex chains, like triggering analytics only after an ETL job succeeds.
Apache Airflow: Code-Defined Data Pipelines
Airflow lets you define, schedule, and monitor complex data workflows as code, replacing brittle cron jobs. It's used for ETL jobs or ML training pipelines. The footgun is treating it as a data processing engine; it's an orchestrator, not the worker.
Serverless State Machines: The Conductor for Your Functions
A serverless state machine is the conductor for your microservices, telling each function when to run and how to handle errors. It's built for multi-step processes like ETL pipelines or coordinating parallel tasks. The footgun is creating a visual monolith.
Managed Kubernetes: Your Cloud's K8s Control Plane
A managed Kubernetes service (EKS, AKS, GKE) runs the complex K8s control plane for you, letting you focus on deploying apps, not managing infrastructure. Use it to run containers without the overhead of maintaining masters.
Kubernetes Control Plane: The Cluster's Brain
The Kubernetes control plane is the cluster's brain, making all global decisions like scheduling pods and responding to events. You interact with it via `kubectl` to manage your applications. The footgun: never run your own workloads on control plane nodes.
AWS Elastic Beanstalk: Your App, Not Your Servers
Elastic Beanstalk is a PaaS-like wrapper for AWS infrastructure. You upload your code, and it handles provisioning servers, load balancers, and scaling. It's great for standard web apps but its abstraction is leaky; debugging often requires knowing the…
Kubernetes Health Checks: Liveness, Readiness, and Startup Probes
Kubernetes health checks ask your app: "Are you alive?" (liveness), "Ready for traffic?" (readiness), and "Done starting?" (startup). This lets it automate restarts and traffic routing for zero-downtime deployments.
Kubernetes StatefulSets: Stable Identity for Pods
A StatefulSet gives pods a stable, unique identity and persistent storage, unlike a Deployment's interchangeable replicas. Use it for clustered databases or queues where members need stable network names.
Get Orchestration bites daily.
Five a day, five minutes, offline. With quizzes so it sticks.
Open testing — you’ll join as an early tester.