Several months back, our emerging Developer Programs engineering team assembled during the last breaths of Brno’s Czech winter and dedicated a full day towards a deceptively complex task:
Be a user. Assemble in groups and, using a technology stack of your choosing, conceive of and create an application to be presented to the full team in 6 hours.
Keep in mind that I hold my colleagues in extremely high regard; they’re capable, creative, and experienced. Surely churning out a greenfield demo application would be a laughable exercise done by lunch affording us the rest of the afternoon to take in local culture (read: Czech beer).
So we started to break down the tasks and assign people to ’em:
- Bootstrap the application codebase
- Provision a CI environment to build and test
- Stand up a deployment environment
- Hook everything together so we’re all looking at the same thing through the dev cycle
We wanted the same conceptual infrastructure we use in delivering Red Hat products and our open source projects – authoritative systems and Continuous Delivery.
And therein lies the problem. Of the 6 hours spent on this exercise, I noted that every team spent over four and a half hours getting themselves set up and hacked furiously on their real job – the application – in the final sprints.
But that’s not the real problem.
The real problem is that users, all across the globe, have the problem.
And in this moment, it crystallized that it was now our mission to fix this.
Our industry has given developers wonderful tooling, frameworks, and runtimes. With containers, we even have standardized deployment. And by the way, we require that you load your own containers onto the boat.
Continue reading “Push it Real Good: Continuous Delivery for the people at the push of a button and repo”