Devops
294 bites tagged Devops — interview questions with model answers, and 60-second explainers.
Health Check Endpoints: Reporting App Status
A health check is a dedicated endpoint that tells an orchestrator if your app is alive and ready for traffic. Systems like Kubernetes use it to decide whether to send traffic (readiness) or restart a container (liveness).
Environment-Specific Config: Beyond Hardcoded Values
Think of config as layered transparencies: a base file sets defaults, and environment-specific files (like `production.json`) override them. This keeps database hosts and feature flags tidy across dev, staging, and prod.
PM2 Cluster Mode: Scale Node.js Across All Cores
PM2's cluster mode lets your Node.js app run on every CPU core, multiplying its capacity. It's essential for scaling networked apps on a single machine, but requires a stateless design—storing sessions in memory will break things as requests hit different…
PM2: The Process Manager for Production Node.js
PM2 is a process manager that keeps your Node.js apps online. Use it to automatically restart crashed apps, run them in the background, and scale across CPU cores. The footgun is forgetting to run `pm2 save` to make your process list survive server reboots.
NODE_ENV: Flipping the 'Production' Switch
Setting NODE_ENV=production is like telling your Node.js app it's showtime, not rehearsal. This triggers performance optimizations in frameworks like Express, such as view caching and less verbose errors.
Preventing Sensitive Data Exposure in Node.js
Sensitive data exposure isn't just about database breaches; it's about accidentally leaking secrets. This happens when Node.js apps expose config files, API keys, or raw error messages, often by committing secrets to Git or failing to encrypt data.
Customer Reliability Engineering: SRE for Your Customers
CRE extends SRE principles to your customers, making their reliability a shared goal. A provider partners with a key customer to co-engineer resilient services on their platform.
Just Culture: Fix the System, Not the Blame
Just Culture treats human error as a system failure, not a personal one. It's key for incident post-mortems, encouraging honest reporting to improve reliability.
Shared Ownership Model: Bridging the Dev/Ops Divide
The shared ownership model ends the tug-of-war between developers wanting to ship and operations teams wanting stability. Both teams share responsibility for service quality, using SLOs as a common language.
SRE Team Topologies: Organizing for Fast Flow
Team Topologies structure teams to speed up value delivery by organizing around the software itself. This model helps scale product organizations, adopt cloud-native architectures, or build a platform engineering function.
The SRE Mandate: Breaking the Dev vs. Ops Cycle
SRE breaks the classic conflict between developers who want to ship fast and operations teams who want stability. It treats operations as a software problem, not a human one. The footgun is creating a rebranded sysadmin team that still does manual work.
Continuous Deployment: Shipping Code on Every Commit
Continuous Deployment isn't just automation; it's shipping every merged change to production automatically. It's for teams with high test coverage and robust monitoring to reduce lead time.
Continuous Delivery: Ship Reliably, Anytime
Continuous Delivery (CD) makes software releases a boring, routine event. Your codebase is always in a deployable state, allowing you to ship small, incremental updates reliably and at any time. The footgun is confusing it with Continuous Deployment.
Release Candidate: The Final Dress Rehearsal
A Release Candidate (RC) is the final dress rehearsal before a software launch—a version believed to be stable enough to ship. It's used for final validation to catch show-stopping bugs.
CI/CD Pipeline: Automating Code from Commit to Production
A CI/CD pipeline is an automated assembly line for code, moving changes from commit to production. It automates building, testing, and deployment to increase release speed and find defects early.
Executable Runbooks: Code, Not Just Checklists
An executable runbook turns a procedural document into an automated script. Instead of reading steps, you run them. It's used for incident response or maintenance, ensuring consistency. The footgun is not making them idempotent, which can worsen an outage.
Configuration Management: Enforcing Desired State
Configuration Management treats your system's setup as code to prevent "configuration drift." It's used to reliably provision servers, deploy apps, and manage fleets, ensuring every component matches its intended design and is reproducible.
ChatOps: Your CLI Inside Your Chat Room
ChatOps moves your command-line tools into your team's chat, making operations a spectator sport. Instead of a solo SSH session, you run commands via a bot for all to see. Use it for deployments and status checks. The biggest footgun is security.
Log Aggregation: Centralize Your System's Story
Log aggregation funnels scattered logs from many servers into one central, searchable system. It's crucial for debugging distributed systems where one request touches many services.
SRE Engagement Models: From Gatekeeper to Platform Builder
SRE engagement models define how reliability experts help product teams, evolving from gatekeeping existing services to providing reliable platforms. This applies when scaling an SRE team's impact.
Toil: The Repetitive Work That Kills Engineering Velocity
Toil is manual, repetitive work that scales with your service, stealing time from real engineering. It's the operational treadmill of handling the same alerts or manually running scripts.
Cloud Pricing: On-Demand, Reserved, and Spot Instances
Cloud pricing is like booking a flight. Pay full price for flexibility (On-Demand), get a discount for committing (Reserved), or bid on empty seats for a huge discount but risk getting bumped (Spot). This choice dictates your infrastructure cost.
The MLOps Maturity Model: A Roadmap for Growth
The MLOps Maturity Model is a roadmap from manual chaos to automated ML systems. Use it to assess your team's current state and plan incremental improvements.
Nix: Reproducible Builds Through Functional Package Management
Nix treats system configuration like pure functional programming, ensuring reproducible builds by isolating every package into a unique, immutable path. It's used for reliable CI/CD and consistent dev environments. The footgun is its steep learning curve.
Get Devops bites daily.
Five a day, five minutes, offline. With quizzes so it sticks.
Open testing — you’ll join as an early tester.