DevOps is the new thing in IT. Many of our clients are either considering implementing DevOps or are well underway. For the moment, I’ll leave aside the question what DevOps actually is, because there appear to be as many interpretations of this as there are implementations.
The purpose of DevOps however is pretty clear: reducing the time and effort it takes to put software into production and allowing for more frequent production deployments. It is the companion of Agile but tackles the speed problem from the back-end of the SDLC (deployment, QA, environment control) rather than the front-end (requirements analysis, code development, integration testing). Where Agile seeks to bring together business owners, developers, architects and testers, DevOps seeks to bring together final QA, environment operations, DBA, code management, and deployment operations.
It is obvious from the purpose of DevOps that to improve speed you will need to improve the level of automation in any of the steps involved in the deployment processes. And in order to improve levels of automation, tools are needed. So, what tools should you have? Certainly you’ll need test automation, plus you will need tools to automate the commissioning and de-commissioning of compute environments in your data center or the cloud, you will need automated source control, coupled with the ability to do “push-button” deployment to target environments, you will need a CMDB and a change control environment coupled with workflows, etc. etc. Ideally, all these tools need to be integrated with each other to “seamlessly” work together, and in turn, be integrated with the front-end development tools. You will now understand why DevOps is a technology consultant’s nirvana. Years can be spent evaluating and integrating all of this stuff, requiring expensive people with point expertise in all of these tools. [...]
To read the whole post and interact, please visit the SogetiLabs blog: How to implement DevOps without buying new tools?