The Doppler Quarterly Spring 2016 | Page 61

Version Control
Build and Deploy
Functional & Non-functional Testing
Provisioning and Change Management
Figure 2 : The DevOps Tooling Ecosystem
Picking the tools
Figure 2 above show the tools that are part of the DevOps mix and that relate to the best practices and steps we ’ ve covered .
The DevOps tools ecosystem is both large and confusing , so break it down by focusing on categories and the functions you need .
Major DevOps tool categories The major tool categories include :
• Version control : Tools that track software versions as they are released , whether manually or automatically . This means numbering versions , as well as tracking the configuration and any environmental dependencies that are present , such as the type , brand , and version of the database ; the operating system details ; and even the type of physical or virtual server that ’ s needed . This category is related to change management tools .
• Build and deploy : Tools that automate the building and deployment of software throughout the DevOps process , including continuous development and continuous integration .
• Functional and non-functional testing : Tools that provide automated testing , including best practices listed above . Testing tools should
provide integrated unit , performance , and security testing services . The objective should be end-to-end automation .
• Provisioning and change management : Tools to provision the platforms needed for deployment of the software , as well as monitor and log any changes occurring to the configuration , the data , or the software . These tools ensure that you can get the system back to a stable state , no matter what occurs .
Unwinding the complexity
Selecting the right tools for DevOps is a complex undertaking , and these tools are new and largely unfamiliar to most enterprise development shops . However , if you follow the steps outlined here , and adhere to the objectives of DevOps as a concept , you should be fine .
Consider the changes your enterprise will continuously undergo over the next several years and be prepared to constantly evaluate the tooling in terms of what works and what needs to improve . Try creating a lab where you can explore the benefits of different tools , so you ’ re constantly experimenting with how to improve your DevOps practices . The need to constantly monitor DevOps operations will continue over many years , so it ’ s critical to build it your plans and tool choices today .
SPRING 2016 | THE DOPPLER | 59