With the onset of the cultural and professional movement
into today’s industry I recognize that culture and people are at the forefront
and also acknowledge that automation will be critical to our success as we move
to improve productivity and quality throughout the lifecycle between
Development and Operations. (DevOps).
Some believe that DevOps is all about pushing development
paradigms into operations others believe that it is taking the accountability
for risk mitigation and production that has been traditionally owned by
operations into development. It is in
fact both and understanding terms such and Infrastructure as code, unit
testing, integration testing, and more importantly how the integrated roles
between Dev, Ops and third party vendors fit into that will help to ensure the
scalability, speed and productivity that we all need to deliver quality
service.
Infrastructure as
code
The essence of Infrastructure as Code is to treat the configuration of systems
the same way that software source code is treated. Collaboration between
coders, engineers, and operational staff is required to ensure that the code
and production are viewed as tied, tested and validated in forms of integrated
code and Infrastructure for production.
The old way of moving from one stage to another will not work in today’s
environment. The code, the
infrastructure and the testing has to start and end with the same people via
collaborative methods. We must learn to
test the same way in Dev that we do in Ops and do those simultaneously when
possible. A fully integrated approach
that leverages from Agile, Lean and ITSM Best Practices from start to
production and into operation.
The term Infrastructure as code is not new. A decade ago we used this term but the main
difference today is that then we were writing scripts and code we got better at
it and we have gotten better at version control. Another big difference is that technology is
more complex. Now the demand is
increasing making the need for version control on the infrastructure as well as
the code ever more important but important to do it fast. Things have to scale across the tools and
across the infrastructure.
Code is reusable but the configuration and recipes for
pairing are unique depending on business outcome requirements and the
infrastructure that it is running on. As
barriers of entry for reusable code are made more consistent and repeatable the
more efficient we as and industry will become.
We will in fact shrink the amount of customization requirements. Certainly there are a large percentage of infrastructure
requirements that are standardized and that can be leveraged as the norm. We need to code to insert into those norms.
There are many vendors in the industry such a Puppet and
Chef that will help to optimize code and infrastructure via automation. Automation tools are available from a wide
variety of vendors for unit testing, integration testing, continual deployment
and continual delivery. And…yes! They are different! The key to success is not
just in the tool but understanding these concepts, the people involved and when
and where to leverage those tools. For
more information on these terms, or for DevOps education and DevOps Foundation
Certification look at what is available here:
Comments