sommai - Fotolia
DevOps is becoming less of a trend and more of a standard in terms of how organizations should approach the development, deployment and lifecycle management of applications. Both software development teams and operations staff are seeing their roles change as DevOps processes take hold. It's a difficult transition though, especially for professionals with a lot of experience in more traditional operations and development techniques.
What can DevOps operations personnel do to get ready for the next evolution of IT? Well, here are some tips on how to prepare for the oncoming DevOps revolution.
Learn to program
As the name implies, DevOps is about making operations accessible to the development team, while at the same time utilizing development techniques within the operations environment. That means members of the DevOps operations team need to know how to write code. And the operations team's code will need to be capable of connecting through firewalls, passing credentials to third-party authentication tools and interacting with the various resources that typically fall into the domain of the operations. That's complicated code, so the basic knowledge of how to write "Hello World" applications simply won't cut it.
As for which languages to learn, that would be influenced heavily by the software stack an organization has decided upon, although server-side scripting languages like Groovy or Node are good, well-rounded choices.
Get comfortable with development tools
Editing batch files using an Emacs editor isn't going to cut it for enterprise-grade DevOps. Operations personnel must learn how to write code using Integrated Device Electronics like Eclipse, manage scripts using a source code repository like Git and assemble software using build tools like Gradle. If DevOps operations personnel want to continue to contribute when the new methodology fully takes hold, they'll not only need to know how to code, but how to use the tools that make coders most productive.
Identify and eliminate manual processes
Continuously deploying code and increasing the velocity of releases means eliminating the manual, human interventions that often slow test code into production. Is there a requisition form that needs to be signed-off on before allocating a server? Then get rid of it. Should you really have to log into the administration console of WebSphere or AWS or a SaaS service in order to provision a new server? If there is, figure out how to write a script that eliminates the human element. The rate-determining step in a DevOps deployment pipeline is always the manual interventions. Doing DevOps right means doing deployments automatically, not manually.
Implement a comprehensive governance model
Doing DevOps means blurring the lines between what exactly falls into the domain of development, and what falls within the domain of the operations team. Without a comprehensive and well laid out governance model in place, these lines quickly deteriorate into disarray and chaos.
The development team should never run roughshod over the DevOps operations group or vice versa. Ensuring that that doesn't happen means making sure a well-defined governance model is in place that details how code will be tested, monitored, performance tested and audited. A DevOps team also needs rules on how resources will be accessed, managed and provisioned. Without clear guidelines, a DevOps transition will be a transition into chaos. All parties involved benefit when expectations are clear and processes are properly defined.
For professionals with significant experience in the DevOps operations field, personal growth is essential to finding a way into the realm of software development. That means learning modern programming techniques, getting comfortable with software development tools, coding away historically manual processes and helping to define a governance model that helps to make sure that DevOps practices run smoothly and without conflict.