DevOps is a hot topic of discussion in most IT departments. If you are wanting to know how you can get started with DevOps at your company, here are five things you need to understand to succeed in a cloud-based world.
DevOps Started as Agile Infrastructure
DevOps was formed in 2008 in Toronto as a concept to standardize Infrastructure using Agile methodology. The idea was to create a consistent approach to define how an IT department should perform its work, as opposed to continuing in bureaucracy that separates developers from other IT staff.
You can read more about it here.
DevOps is a Mindset and a Culture, not a Methodology
DevOps isn’t a methodology or a framework; it isn’t something you “implement.” DevOps is a style of work that unites different IT units behind a common cause of deploying great applications and services to customers (internal and external).
There are books about things that work and things that don’t, but DevOps is not a compliance standard.
DevOps Starts from Within
Unlike a set of best practices or a standardized methodology, DevOps is a very difficult concept to push from the Top Down. DevOps is based on trust between team members, and that must emerge as managers and leaders break down walls in their organizations and build teams that can work together.
One of the best ways to get started is to add operations resources (e.g. a server architect and a senior service desk analyst) to an Agile sprint. The collaborative effort will build knowledge, commitment, and teamwork.
DevOps Has a Goal of Continuous Deployment
One of the core principles of DevOps is to reach a state of continuous deployment. Continuous deployment allows developers to deploy code when it is ready instead of waiting for a carefully planned change window. The goal being that systems are continually robust enough to handle changes once code goes live.
Microsoft describes a standard change window as a four-way intersection with carefully timed lights that force queues to wait even when no traffic is coming. DevOps, on the other hand, is a traffic circle, where the natural flow of traffic allows everyone to move forward together, without delay.
DevOps Uses Automation to Replace Repetitive Work
DevOps uses automation for recurring tasks such as code deployment, new environment deployment, and infrastructure configuration. If you’ve read any of the other articles we have posted about automation and how it can be used to remove repetitive work and prevent errors, then this might sound familiar.
The Microsoft stack has a variety of tools to help drive this automation. For example, Visual Studio Team System (VSTS) and Azure Automation can automate cloud or on-prem deployments of fresh environments with prerequisites and code. There is no more delay in getting the infrastructure ready, and there is no need for in place upgrades that can result in configuration drift from test, development, and production environments.
If you run into an issue, VSTS and Log Analytics can be used to identify where errors are in the application's code, allowing for quicker resolution of issues and debugging. Quick resolution can help support continuous deployment because changes can be made with more confidence.
Want to learn more about Business Process Automation?
Check out our blog post:
"Understanding the Power of PowerApps."
Download our free automation e-Book
Posted by Brandon Stephenson
Brandon Stephenson is the Service Management & Automation Practice Lead working out of KiZAN’s Cincinnati office. His technical specialties are System Center Service Manager and System Center Orchestrator. He also has a deep experience with using ITIL to deliver practical IT Service Management solutions.