DevOps
- DevOps5 min read
Ansible for beginners
Automate server configuration with Ansible: agentless SSH-based design, inventories, ad-hoc commands, playbooks and tasks, modules, idempotency, variables and templates, handlers, roles, Ansible Vault for secrets, check mode, and how Ansible fits alongside Terraform and containers.
- DevOps5 min read
Blue-green and canary deploys
How to release new versions without downtime or big-bang risk: rolling updates, blue-green deployments with instant rollback, canary releases with gradual traffic shifting and automated analysis, feature flags, database changes that keep both versions working, and choosing a strategy.
- DevOps4 min read
CI/CD explained
Continuous integration, continuous delivery and continuous deployment explained: what a pipeline does, a complete GitHub Actions workflow that tests, builds and deploys, environments and approvals, secrets, and the practices that keep pipelines fast and trustworthy.
- DevOps5 min read
Container registries
Where container images live and how to use registries well: repositories, tags and digests, Docker Hub, GitHub Container Registry, Amazon ECR, Google Artifact Registry and Azure Container Registry, pushing and pulling, authentication from CI and Kubernetes, tagging strategies, immutability, scanning and signing images, and retention policies.
- DevOps5 min read
Docker Compose
Describe an application and its database, cache and services in one file and start them with one command: services, ports, volumes, networks, environment variables, health checks, and the commands you use every day.
- DevOps5 min read
Environment variables and the twelve-factor app
How environment variables work and why the twelve-factor methodology stores configuration in them: setting and reading variables on Linux, macOS and Windows, .env files, reading config in Java, Python and Node.js, validation at start-up, the twelve factors summarised, and where environment variables fall short.
- DevOps5 min read
GitHub Actions
A practical guide to GitHub Actions: workflows, triggers, jobs, steps and runners, using marketplace actions, matrix builds, caching, artifacts, secrets and environments, reusable workflows, and the security settings every repository should have.
- DevOps4 min read
Helm charts
Helm, the package manager for Kubernetes: what a chart is, templates and values, installing, upgrading and rolling back releases, overriding values per environment, writing your own chart, and the habits that keep charts maintainable.
- DevOps5 min read
HTTPS with Caddy and Let's Encrypt
Serve any application over HTTPS with Caddy and free Let's Encrypt certificates: how automatic HTTPS works, installing Caddy, a two-line reverse proxy Caddyfile, several sites and services, Docker Compose, headers, compression and logs, what DNS and firewall settings it needs, rate limits, and troubleshooting certificate errors.
- DevOps5 min read
Kubernetes for beginners
What Kubernetes does and why teams use it, its architecture in plain words, pods, deployments, services, ingress, config maps and secrets, a first deployment with kubectl, and when you probably do not need it.
- DevOps6 min read
Linux processes and signals
How Linux runs and controls programs: processes and PIDs, parents, children and zombies, viewing processes with ps, top and htop, foreground and background jobs, signals such as SIGTERM, SIGKILL and SIGHUP, graceful shutdown in your own code, nohup, and signals inside Docker containers.
- DevOps5 min read
Load balancers
What load balancers do and how they work: spreading traffic across servers, layer 4 versus layer 7, balancing algorithms, health checks, session stickiness, TLS termination, connection draining for zero-downtime deploys, global load balancing, and the common products.
- DevOps6 min read
Logs and log rotation
Logging that helps instead of hurting: what to log and at which level, structured JSON logs and correlation IDs, keeping secrets out, where logs go on Linux, rotating files with logrotate and the journal, logs in containers, central log platforms, and retention.
- DevOps5 min read
Monitoring with Prometheus and Grafana
Set up metrics monitoring with Prometheus and Grafana: how Prometheus scrapes metrics, counters, gauges and histograms, instrumenting a Spring Boot or Python application, PromQL queries for rates, errors and latency percentiles, Grafana dashboards, alerting rules, and a Docker Compose setup to try it.
- DevOps4 min read
Nginx as a reverse proxy
Put Nginx in front of your application: what a reverse proxy does, installing Nginx, a proxy_pass configuration with the right headers, HTTPS with Let's Encrypt, serving static files, load balancing, WebSockets, timeouts and upload limits, rate limiting, and debugging 502 errors.
- DevOps5 min read
Pods, deployments and services
The three Kubernetes objects behind almost every application, in depth: what a pod really is, how a deployment manages replica sets and rolling updates, how a service finds pods by label, and how they connect, with YAML and the kubectl commands to inspect them.
- DevOps5 min read
systemd services
Run your application as a proper Linux service with systemd: what systemd does, writing a unit file for a Java, Node.js or Python app, environment files for secrets, restart policies, users and security hardening, logs with journalctl, timers instead of cron, and troubleshooting a service that will not start.
- DevOps6 min read
Terraform for beginners
Learn infrastructure as code with Terraform: providers, resources and the HCL language, the init, plan and apply workflow, state and remote backends with locking, variables and outputs, data sources, modules, managing environments, and the habits that keep infrastructure changes safe.
- DevOps5 min read
Writing a good Dockerfile
Turn a slow, bloated Dockerfile into a small, fast, secure one: choosing a base image, ordering layers for the cache, .dockerignore, multi-stage builds, running as a non-root user, keeping secrets out, and health checks.
- DevOps8 min read
Docker from A to Z
Images, containers, layers, volumes, networks and Compose, built up from one small program, with the Dockerfile habits that keep images small, builds fast and secrets out of the layers.