A talk delivered at the AWS User Group Bandung meetup in November 2018, given just before transitioning into the AWS Developer Advocate role, while serving as CTO of 99.co Indonesia (following UrbanIndo.com's acquisition by 99.co). The talk opens with foundational definitions of Continuous Integration, Continuous Delivery, and Continuous Deployment (drawing on Martin Fowler and Jez Humble), distinguishing the manual-approval gate in Continuous Delivery from the fully automated path to production in Continuous Deployment.
It covers 10 CI best practices — including maintaining a single repository, automating builds, fixing broken builds immediately, and testing in a clone of production — and the business case for CI: reducing risk around undeployable software, undiscovered defects, poor project visibility, and low code quality. The second half maps these practices onto AWS's native CI/CD tooling: CodePipeline (modeled around Pipelines, Stages, Transitions, and Actions), CodeBuild, and CodeDeploy, followed by a live demo. The talk closes with the conclusion that CI/CD pays off, AWS has strong native support for it, and teams should start simple and start early.
📚 References include: Continuous Integration: Improving Software Quality and Reducing Risk and Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation.