Joris Straatman - CTO

View Original

CICD

Deployment automation belongs to the proper engineering pipeline infrastructure, but is even more important to set-up right as it can automate a lot of recurring engineering tasks. From building to code linting, quality and license checking, automated testing, staging deployments and up to straight forward production upgrades as well as canary style deployments, they can all be automated in a CICD pipeline.

Setting up these CICD pipelines used to be typical for a programming language, but more and more platforms provide automations for different languages and frameworks allowing a low configuration implementation of a complete pipeline.

Code repositories have been part of our daily lives since many years, and except for some process improvements, migration to the cloud, and data management improvements, the way of working with them has not changed much.

In the past couple of years though, with the CICD automation trend, developments have started to either integrate repository solutions into CICD solutions, or developing repository solutions into a CICD platform. GitLab is a well known example for the latter and doing a great job at it.

Code deployments have been a tedious matter until the first contianerisation efforts started. The rise of docker simultaneous with NetFlix starting to implement its own container setup, allowed developers to further simplify the delivery process. From now on an engineer could no longer say 'it worked on my machine'. In DevOps automation, containerisation plays a very important role. It allows the engineer to test and even develop in the environment where the code will later in the pipeline be running.