As DevOps practitioners, we’re often challenged to justify what’s considered “additional effort” to automate deployments and operational tasks, particularly when starting new projects that may have dependencies on initial environments and infrastructure to get data or application workloads enabled for development. This can be a struggle especially with cloud computing, because there’s a notion that it’s quick and easy to get up and running with a few clicks in the cloud console of our preferred cloud service provider. It’s very true that we can click a few buttons and have some infrastructure deployed, but such convenience rather than starting us quickly tends to start us down the wrong path.
The start of a project or consulting engagement with Pythian should be a chance to get started on the right foot, and to establish the habits of a solid DevOps practice. The convenience of click to deploy services gives us a false sense of accomplishment that won’t serve us well when we attempt to deploy, configure, operate, monitor, secure and cost-optimize our solution. There’s much justification of DevOps practices in terms of overhead saved and velocity gained through their implementation, but what’s the initial investment look like? How much time and effort does it actually cost us then to get a DevOps practice bootstrapped? As it turns out, not very much time needs to be spent for a basic capability. This is a matter of working smarter, not harder.
Start With a Pipeline
The delivery of a DevOps capability essentially takes the application of one core concept… the pipeline. Agile delivery frameworks are centered around this component and its application to requirements analysis, breakdown and delivery. Efficiency is achieved through the application of queuing theory to optimize pipeline traversal and realize immediate, iterative value. When we establish a CI/CD pipeline and a feature backlog, this strategy and its accompanying principles can be brought to bear immediately. We can apply iteration, use queuing, welcome and respond rapidly to changing requirements, measure velocity, test quality, ensure product consistency, and shorten time to business value.
Start Right Away
A CI/CD pipeline is especially effective when we start with its implementation at the beginning of our project. It’s not a thing to add later on, after our environment, platform or application is running. It’s the foundational component of a successful project, and it establishes our workflow, cadence, toolchain and control framework. A motivated team can have it ready to go in one sprint; why not make it the first? Take advantage of the pipeline right from the start, and skip the higher effort of retrofitting later on.
Start Saving Effort
With a pipeline, we make our contributions and modifications to the environment in code. This means less documentation, less repetitive toil, more configuration consistency, fewer hours spent troubleshooting, more reliable deployments, easier rollbacks, better visibility between team members, more opportunity to learn and contribute, better and more reliable methods to test, validate and ensure the compliance of our work, and more opportunity to leverage and integrate open tooling and community work to increase the efficiency and quality of our own solutions.
If you’re not sure where to start, get in contact with Pythian to ask about our cloud infrastructure Release Automation QuickStarts. We’ll get you started delivering tested, compliant infrastructure as code to your cloud platform of choice, and give you a leg up in ensuring the success of your next cloud deployment effort.