Trunk Based Development or GitHub Flow

Wait? these aren’t the same? They sure look very familiar!!!

they are very similar but there is one subtle difference, where the release originates

 

 

 

 

 

Using GitHub Flow you release from the branch

 

 

 

 

 

 

 

While with Trunk Based Development you release from master/trunk.

This subtle difference theoretically reduces the chances of regression.

However: if your department is successful in getting the longevity of branches to an absolute minimum: then this discussion will be a lot less important.

 

Source: https://trunkbaseddevelopment.com/alternative-branching-models/

Monolithic Source Control at Google

While you may wonder/think that Google uses git and various fashionable methods interacting with a distributed version control system, they do not!

Here is a great explanation of what Google does regarding source control and more importantly: why they do it this way

Source: https://trunkbaseddevelopment.com/game-changers/

Continuing on this train of thought: What would you use when you want to centralize all the code into 1 repo? Google ditched Perforce over something they developed themselves. While fun and challenging: not an option for us mere mortals.

Perhaps Microsoft comes to the rescue? The ‘New Microsoft’ says they are very pro-open-source and they tried to solve some of the problems with massive git repos by developing GVFS

Introducing GVFS

Soure: https://gvfs.io/ and https://blogs.msdn.microsoft.com/bharry/2017/02/07/more-on-gvfs/

With this implemented essentially you are centralizing the massive repo and only have a ‘sparse repo’ or view on the central repo.

If used right: perhaps this will be beneficial for making a step to Trunk Based Development.

Let’s give this a try!

 

Moving to Google Cloud

After quite a while of procrastinating I finally took the time of setting up my production platform the way I wanted to. In the past my services and sites ran on a VPS that was managed “pet style”. I will sure miss this pet. After 6 years of faithful service it’s time to say goodbye: it’s better this way 🙂
So now all the services are running in a local(ish) datacenter in the north of the Netherlands (brand new!) and I encountered some interesting things in the new product that GCP offers; Google Filestore has a 1 TB minimum which sets the price minimum at a cool $250 dollars a month. Not so cheap when you really only need a fraction of this.
The presentation gives a visual overview of the setup and it’s versions:

  • Version 1: GKE on persistent disks and OnDemand cluster nodes: slow on restart container and expensive
  • Version 2: GKE using Buckets as central store (failed) and Preemptible nodes: not working
  • Version 3: GKE using Google FileStore (beta) and Preemtible nodes: great but expensive
  • Version 4: GKE using homegrown NFS and Preemptible nodes: fast and inexpensive!