Technology weblog

Thursday Sep 03, 2020

Certificate Python for Data Sciences


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.

Technology capabilities


Organisational capabilities


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:

Wednesday Jan 30, 2019

OKRs versus KPIs

In this post a nice analogon can be found illustrating the difference between OKRs and KPIs:

OKRs vs KPIs

Friday Jan 04, 2019

Brilliant comic introducing Kubernetes

Please find here a brilliant comic introducing Kubernetes.

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.

CD Pipeline
The stages that constitute a typical COTS pipeline (Amazon Cloud)
[Read More]

Hire us