Four Simple Practices to Improve Deployment: Health Checks, Event Annotation, Pod Impact Minimization, and Blue‑Green Deployment
The article outlines four practical steps—application health checks, event annotation, minimizing pod impact, and blue‑green deployment—to streamline production releases, increase visibility, and reduce downtime while ensuring services run as expected.
In any change, some things stay the same: how to deploy code to production with minimal effort and no interruption, and how to know whether a service is running correctly, its status, and whether it is configured as expected.
Four simple actions can be performed in any environment to improve the deployment process, giving better insight and confidence that the application is correctly running and configured.
Application Health Check
The first step to improving deployment and management is to verify that the application is running properly (started, ready, and able to perform its intended tasks), can talk to downstream services, and is running the expected version. Monitoring is essential, but health checks are the key to automating deployments.
At Kountable we expose a {"healthy": true, "commit": "1e98e46", "uptime": "05:22:47:21", "connection_status": true} endpoint at /public/health that reports whether the app is healthy, the commit ID, uptime, and database/ downstream connection status.
This health check can be used during blue‑green deployments to verify the installed version and connectivity; if all checks pass, the deployment can be automatically promoted to production.
Early in our setup we caught a mismatch between the commit ID to be deployed and the running service on AWS ECS, preventing a faulty release from reaching users.
Event Annotation
When a system, application, or environment changes, tracking those changes becomes difficult. Recording deployment events and attaching them to the monitoring system (e.g., Grafana annotations) helps quickly pinpoint the cause of performance spikes.
Adding backup events, for example, lets you correlate backup windows with CPU or memory peaks to identify whether backups are the source of resource contention.
Pod: Minimize Impact
Designing applications and infrastructure with pods (whether data‑center, VMware, or Kubernetes pods) reduces the blast radius of failures. By grouping customers or services into separate pods, an outage in one pod only affects its assigned users.
Deploying across multiple regions or availability zones further isolates issues, so customers rarely notice failures.
Blue‑Green Deployment
Blue‑green deployment lets you run two versions of an application simultaneously, routing live traffic to one while the other is staged. Compatibility between versions, especially database schema changes, is crucial.
In AWS, an Application Load Balancer can hold two listener rules—one for the blue version and one for the green. Switching the rule promotes the new version and drains old connections.
By validating the health‑check commit ID during the switch, deployments that do not match are halted, saving time and preventing faulty code from reaching production.
DevOps Cloud Academy focuses on enterprise‑grade DevOps practices and offers training resources for these techniques.
DevOps Cloud Academy
Exploring industry DevOps practices and technical expertise.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.