Skip to main content

DevOps and Infrastructure as Code

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

Popular posts from this blog

What is the difference between Process Owner, Process Manager and Process Practitioner?

I was recently asked to clarify the roles of the Process Owner, Process Manager and Process Practitioner and wanted to share this with you.

Roles and Responsibilities:
Process Owner – this individual is “Accountable” for the process. They are the goto person and represent this process across the entire organization. They will ensure that the process is clearly defined, designed and documented. They will ensure that the process has a set of Policies for governance.Example: The process owner for Incident management will ensure that all of the activities to Identify, Record, Categorize, Investigate, … all the way to closing the incident are defined and documented with clearly defined roles, responsibilities, handoffs, and deliverables. An example of a policy in could be… “All Incidents must be logged”. Policies are rules that govern the process. Process Owner ensures that all Process activities, (what to do), Procedures (details on how to perform the activity) and the policies (r…

How Does ITIL Help in the Management of the SDLC?

I was recently asked how ITIL helps in the management of the SDLC (Software Development Lifecycle).  Simply put... SDLC is a Lifecycle approach to produce the software or the "product".  ITIL is a Lifecycle approach that focuses on the "service".
I’ll start by reviewing both SDLC and ITIL Lifecycles and then summarize:
SDLC  -  The intent of an SDLC process is to help produce a product that is cost-efficient, effective and of high quality. Once an application is created, the SDLC maps the proper deployment of the software into the live environment. The SDLC methodology usually contains the following stages: Analysis (requirements and design), construction, testing, release and maintenance.  The focus here is on the Software.  Most organizations will use an Agile or Waterfall approach to implement the software through the Software Development Lifecycle.
ITIL  -  is a best practice for IT service management (ITSM) that focuses on aligning IT services with the needs …

Incidents when a Defect is Involved

Question: We currently track defects in a separate system than our ticket management system. With that said, my question is does anyone have suggestions and/or best practices on how to handle incidents when a defect is involved? Should the incident be closed since the defect is being worked on in another defect tracking system if it is noted in the incident ticket? I am considering creating an incident statuses of 'closed-unresolved' so the incident can still be reported on in our ticket management system but know it is being worked on/tracked in the defect system. With defects, it is possible that we may never work on them because they are very low priority and the impact is low to the user. However, in some cases a defect is being worked on. Should we create a problem ticket instead?
Thanks, René W.

Answer: René. In ITIL, the activity you are describing is handled by the Problem Management process. ITIL does not use the term “defect” but it does use the term “known error” to…