Automation & CI/CD
Everything filed under automation & ci/cd.
- Write every Boto3 script as if it will run twiceCloud scripts get retried, rerun and run against the wrong account. Five habits make them safe: idempotency, pagination, real retries, dry runs and explicit targets.
- Your quality gate should only judge new codeGating on overall coverage punishes whoever touches old code and rewards nobody. Judge each change on its own, and the codebase improves as a side effect.
- Deploying is engineering. Releasing is a business decision.When shipping code and turning on features are the same event, every deploy carries business risk and every launch carries technical risk. Separating them is the most underrated change in release engineering.
- CDK is a compiler. Review the output.Teams review the TypeScript and deploy the CloudFormation. When those disagree, production follows the CloudFormation. Treat the synthesized template as the real artifact.
- Ansible and Chef moved upstream. Most teams never noticed.Configuration management used to fix running servers. Now its best job is building the image, once, before anything runs. What changed, and where in-place config still earns its keep.
- Terraform state is a production databaseIt holds every resource ID, sometimes secrets, and the only record of what Terraform thinks it owns. Treat it with the same care as the database it probably describes.
- Jenkins isn't your problem. Your Jenkinsfile is.Teams migrate off Jenkins to escape slow, fragile pipelines, then rebuild the same pipelines somewhere else. The tool was never the bottleneck. The design was.
- The most-deployed untested code in your company is BashBash runs your entrypoints, your deploys and your backups, and almost nobody reviews it like code. Five failure modes that strict mode does not catch, and a line for when to stop.