|
|
|
|
|
by 0n34n7
1746 days ago
|
|
Agreed. Good application code often contains edge case handling, build time checks, unit tests and defensive flows that handle the unexpected so that users don't wake you up at night. Why can Ops not do the same? Why can Dockerfiles / Orchestrators / CI / playbooks not also implement sanity checks on deployments? "Ooops... deployment failed. While deploying your artifact we found the following: - Nothing is listening on the nominated port - Your deployment is utilizing 100% CPU while idling - We detected an abnormal volume of write operations to the mount Please fix these issues and re-trigger the pipeline at your earliest convenience. Regards,
Ops." |
|
Now that just shouldn't happen... ie, we(ops) aren't going to deploy something that doesn't come with healthcheck(s). The healthcheck never passing(port isn't listening) is going to stop the deployment from ever completing. Ops job is to push back on developers if they try to hand us something like this to build a pipeline for. In my company, to hand Ops the name of a repo and say "build a pipeline"...there are a lot of requirements, and the biggest one is a list of SLAs. That list of SLAs is how we build monitoring for your application, and one of those should always be a list of port(s) and protocol(s) that are exposed; we build monitors against those.