Eric Brinkman is Director of Product Management for Hostway.
DevOps and continuous delivery models adoption have reached the point of critical mass where it’s generally accepted that these practices speed up software delivery and improve quality. While 40 percent of organizations are already adhering to DevOps patterns in some form or other, 60 percent haven’t even started their DevOps journeys yet, according to studies from 451 Research.
For many in the latter group, diving head-first into a DevOps transformation can seem daunting. This article will review five key ingredients that organizations will need at the start for a productive DevOps practice. Don’t be intimidated that this all must happen at once. The whole point to DevOps is to continuously seek incremental improvement. Consider this the starting line for your DevOps marathon.
For context, let’s first define DevOps borrowing from Wikipedia, “DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently and more reliably.”
In a nutshell, with DevOps developers and IT operations staff communicate and collaborate to build IT systems and deliver software more efficiently. Here is our roadmap on making this transition.
Eliminate Barriers to Effective Collaboration
Start thinking about what impediments might stand in the way of collaboration between different IT teams and find ways to get rid of them. Find ways to encourage intermingling among those teams, such as lunch-and-learns, guest speakers talking about industry best practices, retreats or conferences. Also, take advantage of collaboration tools like Slack, Hipchat and VictorOps. Organizations should also be seeking to motivate all IT staff members for collaboration through the right key performance indicators (KPIs). Remember that improving collaboration takes time, so get started on this now.
Pick Champions For Pilot Projects to Build Successes
Transitions are never easy and some people are more likely to push back than others when it comes to moving away from status quo. You’ll need a committed group of champions to get things started down the right path. Find the right people to fill those roles with some early planning. Look for people already predisposed with the skills and temperament good for DevOps, especially those with a willingness to learn who will lead the charge. Consider moving these people into skunkworks-style teams for pilot projects and then once they’ve gained experience and metrics to prove success, help to socialize that and evangelize among all IT staff.
Cross-train People Outside Traditional Roles
A big challenge of moving to DevOps is preparing operations staffers for the massive shift to automation and the mindset of spinning up infrastructure as code. For example, repetitive, frequent tasks that are prone to human error are increasingly automated in DevOps shops. This means people need to learn the intricacies of configuration management software like Puppet, Chef and Ansible. They will need to be brought up to speed on what it takes to develop the type of back-end systems that will more tightly couple automated operations functions with developers’ daily work.
Also, developers will need to be trained in those same automation tools and a few key developers should be identified to transition to DevOps engineer roles. These developers can transfer their coding skills from coding product to developing in-house automated testing and provisioning tools that are tailored to enable the organization to continuously deliver their software.
Prepare to Transition to New Tools
Use tools like Git, Docker, Cassandra to get into the mindset of "cattle versus pet" where organizations think of servers as clusters that are spun up or down on-demand in the cloud rather than individual servers that last a lifetime.
In terms of training, now is the time for everyone in IT to mentally prepare themselves for a transition to a whole new cadre of tools. DevOps transitions work better when departments have already started experimenting and gaining familiarity with tools such as: Git and Github, Docker and containerization technologies like Kubernetes, data clusters and non-relational database technology like Hadoop and Cassandra. Experimenting in these doesn’t have to be expensive. In many cases, it is possible to run hosted private clouds to support these technologies.
5- As part of the cloud-first mode of operating, evaluate cloud providers for their ability to support a range of hosting environments and managed services
Organizations seeking to benefit from DevOps methodologies should look to partner with a provider that offers a broad range of cloud hosting options, along with managed services. Providers with hybrid cloud offerings, including both public and private resources, are best positioned to help IT organizations maximize deployment flexibility, security and overall performance. Since automation is critical in DevOps, be sure to evaluate the openness of the provider’s API ecosystem, integration capabilities, and support of build-your-own custom DevOps tools. Select a cloud hosting provider that delivers managed support across the entire environment so you’re not burdened by managing day-to-day operational tasks to keep the infrastructure up and running.
This should give you some ideas on steps to take as you prepare for a successful transition to DevOps, and the necessary cultural and technological changes that must take place.
Ultimately, this will lead to developers having the capabilities to automatically provision development environments, test code and push it live and operations staff creating automated systems rather than performing discrete tasks. This means increased agility to respond to business needs with corresponding increases in productivity and operational efficiency – and that defines DevOps success.
Industry Perspectives is a content channel at Data Center Knowledge highlighting thought leadership in the data center arena. See our guidelines and submission process for information on participating. View previously published Industry Perspectives in our Knowledge Library.