Neil Millard Blog Make life and work, FUN

Getting started with DevOps

What is DevOps?


The best description I have seen is from Kurt Bittner;

"DevOps optimizes the software delivery pipeline, all the steps that you have to go through between when you have an idea and when a customer starts benefiting from that idea. In the traditional delivery processes, you have lots of hand-offs, lots of stops and starts. You have relatively inefficient processes, and it can take months -- and sometimes years -- to go from idea to having somebody get a benefit."

Optimising, automating and streamlining that process is what we are all about. Embracing Agile with open communications to help your team deliver value to your customers, faster and with higher quality. From Idea to usable and valuable product.

Infrastructure -> Development -> Testing -> Delivery

How do I get started?


Unfortunately it's not any one product or training course you can buy. It's an idea and ethos, which requires executive management across silos. You can however start with a few steps.

Step one; Environments.


Changing the way that environments are provisioned. That includes getting environments provisioned on-demand, using techniques like infrastructure-as-code using technologies such as Puppet to automatically generate environments based on configuration settings so that you can have an environment anytime you need it. This needs a virtualised infrastructure such as VMWare or Amazon Web Services. That removes a lot of friction and a lot of delays.

Step two; CI and Testing


Implementation of techniques like continuous integration and then, after that, test automation, based on APIs. There's a shift to APIs on an integrated architecture for the applications, and then usually deployment automation comes after that. Once you have environments provisioned in code that you can put into those environments, you need a way to move that code between environments.

At this point you may find Silo inside the organisation can slow or even stop some tasks from taking place. Resource contention and task priorities can get in the way of delivering the release to your customers. Spotify offer an approach to this called Tribes, Squads, Chapters and Guilds.

There's a shift in team structure to become more product-oriented with dedicated resources to a product, so that you can release, and do release after release most effectively. That tends to break the organization silos down and start shifting to a more product-centric organization and away from a functionally oriented organization.

Step three; Continuous Improvement


We are very much evolving within the DevOps space, and your organisation will too. There are many products to help and many tools your teams could create, adopt or improve upon.

For more information how we could help you become more agile and proactive, contact us now.