Deployment Strategy Comparison in Data Engineering — Trunk vs Environment Branches

Nnaemezue Obi-Eyisi
4 min readAug 26, 2023

Recently, I had a discussion with a colleague about deployment strategies for data engineering teams. We were comparing the trunk-based approach to the branch per environment strategy. I’ve noticed that the trunk-based approach is recommended by Microsoft and I’ve also witnessed its implementation in a project. Additionally, I’ve seen the branch per environment strategy successfully applied in a different project. From my experience, I must say that the branch per environment strategy works much better in practice than the trunk-based approach.

The reasons I observed are rooted in the complexity of data engineering. We utilize various tools and have dependencies on external systems that maintain distinct environments. When we allocate a specific branch for each environment, it significantly aids in isolating, testing, and debugging issues more effectively. Seeking further insights, I consulted ChatGPT to get its opinion on the matter, and here’s what it had to say.

Branch per Environment Deployment Strategy:

Pros:

  • Isolation: Each environment (dev, test, prod) has its own dedicated branch, preventing interference between environments.
  • Parallel Development: Developers can work on different environments…

--

--

Nnaemezue Obi-Eyisi

I am passionate about empowering, educating, and encouraging individuals pursuing a career in data engineering. Currently a Senior Data Engineer at Capgemini