Thursday Sep 03, 2020
Wednesday Jun 03, 2020
Trunk based development
The second way of DevOps states that we should aim for fast feedback loops. The more frequently we integrate, the faster we get feedback on whether our change works when it is integrated with the mainline. The more frequently we integrate, the smaller our batch size (containing changes), hence the sooner we can identify unexpected (integration) problems if any. As an ultimate goal, we aim to integrate continuously.
Creating a branch is doing exactly the opposite. It isolates your changes (from the mainline). The longer a feature branch lives, the longer the (integration) feedback loop becomes. This is exacerbated by the fact that integration problems become more difficult to trace down as the integration is postponed, as the batch size increases accordingly. Moreover, merges occur much less frequently (due to the isolation), hence merge conflicts are bulkier and thus significantly more difficult to resolve.
Concluding, it is good practice to merge your code back to the mainline (trunk) at least once a day. However, your final goal should be to commit dozens of small self-contained commits directly onto the mainline per day. A hallmark of a good developer is being able to split his work into many such small self-contained batches. It is a pivotal skill and the first thing junior developers should actually acquire! Therefore trunk-based development is especially recommended when there are (many) junior developers in the team![Read More]
Friday May 01, 2020
Technology and organisational capabilities for CD
In his presentation Continous Delivery and the Theory of Constraints, Steve Smith presented two slides on technology and organisational capabilities required for CD. The filed boxes merely indicate which capabilities he found to be present in some companies that he was working for.
Rigorous SOLID leads to functional programming
If you take the SOLID principles to their extremes, you arrive at something that makes Functional Programming looks quite attractive: https://blog.ploeh.dk/2014/03/10/solid-the-next-step-is-functional/
Wednesday May 15, 2019
DevOps articles on TopTal
Thursday Mar 21, 2019
Interesting posts on TopTal blog
Wednesday Jan 30, 2019
Thursday Jan 17, 2019
Friday Jan 04, 2019
Monday Apr 30, 2018
Deploying a COTS Application in the AWS cloud with Continous Delivery, IaC, Packer, GitLab, Ansible and Terraform
In this post we discuss how to deploy a COTS application in the Amazon cloud using a continuous delivery pipeline in GitLab, using Packer and Ansible to create an AMI (abstract machine image) and Terraform to lay out the infrastructure to which the application will be deployed.