Learning DevOps: Theory versus Practice

ecs-admin 23rd February 2016

DevOps is notoriously difficult to define. There are many reasons for this, not least of which is that it’s not simply a skill, a tool or a process – it’s a combination of all three, and specifically how these three factors interact to bring about a change in the way software is delivered. For this  reason, learning for DevOps is a tricky thing to talk about. Knowing the theory behind good DevOpspractices is essential, but without any practical knowledge, you’ll quickly find yourself out of your depth in your organisations DevOps journey. As Alfred Korzybski put it, the map is not the territory. But that doesn’t mean you should jump head-first into DevOps without any kind of roadmap. In short, mastering DevOps requires both a solid understanding of the theory that underpins it, as well as the ability to handle the reality of DevOps in practice. In this blog, we’ll look at what this means for learning DevOps.

Theory provides the foundation, practice allows for innovation.

In a strange way, learning DevOps is similar to learning how to play an instrument: you could spend years studying the theory and learning how to read music, but if you never sit down to practice, you won’t have any idea how to actually play a piece of music. In the same way, learning the fundamentals of DevOps lays the groundwork, but without practical experience, you’ll very quickly find yourself out of your depth. A significant part of success with DevOps relies on innovation – the theory might show you how to accomplish something, but there is no ‘one size fits all’ DevOps solution. With practice, you’ll be able to refine and adapt the theory to create a variation that suits your organisation perfectly. By no means is this a recipe for success, you may get some broken chords along the way but the key is to learn from your mistakes and improve. As Elon Musk, CEO of Tesla and SpaceX says “If you’re not failing you’re not innovating enough.” Ultimately, having a good handle on both the theory and practical application of DevOps is essential for organisations that pride themselves on innovation.

What is DevOps theory, and where do I learn it?

The way we see it at ECS Digital, DevOps consultancy consists of three components: people, processes and tools – in that order of importance. DevOps theory is concerned with the first two: people and processes. Because DevOps makes some fundamental changes to the way people within the organisation collaborate, getting a handle on the theory behind it requires completely rethinking the nature of a software company from the ground up. At its core, DevOps is influenced by the principles of agile software development – continuous delivery and integration. Shorter delivery times and working in sprints are the legacy of agile development’s influence on DevOps. There are many resources for learning about DevOps theory all around the internet, from blogs, to social media portals, to training videos on sites like Vimeo and YouTube. However, more in-depth training focuses on theory and practice in equal measure, since mastering DevOps requires an understanding of theory and practice as two sides of the same coin. 

What is the best way to learn about DevOps in practice?

The final component of DevOps in ECS Digital’s view are the tools that underpin the software delivery processes and bring DevOps to life. Defining exactly what a DevOps tool is can be problematic, since there are many aspects of the practice that can be augmented with a huge number of tools, and different organisations may use entirely different combinations of tooling depending on what works best for them. Typically, DevOps tools can be grouped into some core categories: Configuration Management tools like Ansible, Puppet and Chef  make it possible to manage and automate infrastructure as code; Application Deployment tools such as Automic and Jenkins provide the framework for continuous integration, and delivery;

Learning which of these are most valuable to your cause comes with experience of the tools themselves. The DevOps training offered by ECS Digital provides the theoretical foundations and then introduces the practical concept with some of the leading tools.

Whether you’re a DevOps veteran looking for new opportunity for innovation or an aspiring newbie, ECS Digital offers a comprehensive selection of training courses that cover everything from DevOps basics to advanced tips and tricks. As a consultancy with over 12 years’ experience implementing DevOps in organisations around the world and in a myriad of different industries, our training provides some truly unique insights on DevOps. If you’d like to find out more about getting started on your DevOps career, visit our training page to find out more about our Introduction to DevOps course.

Found this interesting? Why not share it: