DevOps has already taken the IT industry by storm. More and more companies are leveraging it’s advantages gaining time, customer satisfaction, which then leads to more profit. In this post I will present various reasons to move into the DevOps direction and I will also describe what are the key components needed to incorporate this culture.
What is DevOps
I believe most of you are already familiar with this definition, but just in case I will briefly remind it. DevOps is a culture which aim is to make the collaboration and communication more efficient in order to create and deliver better software in a frequent, but still reliable way. It involves an automation of software delivery processes which makes building, testing and releasing software more rapid. Moreover you must understand that DevOps is not only a set of technical tools: it is a cultural change that should be embraced by various teams in your company.
Key objectives for DevOps are:
- Reduce the time to market for software changes
- Increase reliability and stability of software changes
- Reduce costs and risks of deployment processes
As you can see all of these points are focused on the business advantages. DevOps lets you deliver your software quicker and that means your users are able to use new features faster. In case of bugs, they are fixed in the lower amount of time. Moreover, if there is some kind of new regulatory requirement you are able to react in a short period of time. Time is money and with DevOps you can save a lot.
In the past keeping focus on speed usually meant giving up on quality, but is not the case with DevOps. High degree of automation demands automated testing which ensures high quality of your software. What is more, as also deployment processes are automatic, your team can focus on what really matters: the new features for the users.
Still not convinced?
If words do not convince you I am presenting you numbers from 2016 State of DevOps Report which involved 25,000 people taking part in the survey over the past five years. The report confirms that investment in DevOps pays off: it improves quality, security, business outcomes and even employee engagement.
In the study we can find a division of IT companies for three groups: High, Medium and Low IT Performers divided by deployment frequency, lead time for changes, mean time to recover and change failure rate. In the first group the deployments were on demand, involving multiple deploys a day, the lead time for changes was less than one hour, mean time to recover was less than one hour and the failure rate is between 0 and 15 percent. Pretty impressive, right?
The key findings of the study was that high performers deploys 200 times more frequently than low performers. What it more the recovery times are 24 times faster. As I said earlier, high speed does not mean low quality: the change failure rates are 3 times lower compared to the low performing IT companies.
Moreover, high performers manage to keep their employees happier. They are 2.2 times more likely to recommend their organisation to a friend and 1.8 times more likely to recommend their team as a great working environment. Why keeping your workers pays off is a topic for another blog post, but in this article: Why Employee Engagement? you can find a list of studies proving it.
What is more the report confirms that DevOps can save you time and money. It states that in the high-performing organisations:
- 22% less time is spend on unplanned work and rework
- 50% less time is spend on fixing security issues
For more information on other benefits and deeper analysis of the survey results visit 2016 State of DevOps Report page where you can download the whole study.
What do I need?
In this paragraph I am going to present an exemplary set of tools that could help you incorporating a DevOps culture in an organisation. You must remember that this is only an example as this change may involve various components. However, it is very probable you will need most of them.
Exemplary DevOps components are:
- task management system – lets you track progress of the tasks and also keep your documentation and reports
- version control system – allows you to control the code changes
- continuous integration tool – helps you automate processes like building, testing, deploying
- application platform – where you can deploy, run and scale your application
In order for these components to work properly they must be well integrated and each of them should be efficient. Happily, popular tools offer you many integrations. Moreover they are already prepared for the high degree of automation, which is vital in the DevOps world.
An example stack could look like this:
- JIRA as a task management system
- Bitbucket as a code repository
- Jenkins as a continuous integration tools
- and finally Openshift as an application platform
What is more, all of the tools provide plugins to integrate with each other. Do you need to create a git branch for a task in JIRA? No problem, appropriate action is available directly from your JIRA board. Would you like to change the status of the task automatically depending on the build status on Jenkins? Install a necessary plugin and you are ready to go! It is up to you how will you define your workflow and these tools provide you with the capabilities to make it possible. Finally, here is a list of plugins that might be worth to try:
- JIRA Jenkins Plugin – lets you integrate Jenkins with your JIRA
- Bitbucket Jenkins plugin – integrates Jenkins with Bitbucket
- Openshift Jenkins plugin – helps you to connect Openshift and Jenkins
How do I use it?
The beauty of this setup is that is very convenient and easy to use. The business owner can manage the project progress in the task management tool and thanks to the fact that everything is automated, the statuses are always up to date. In addition, the member of the DevOps team does not need to worry about the process of building, deploying or scaling the application on production. Everything can be configured in a way that these processes are handled automatically. Furthermore, thanks to the fact that boring common tasks are automated both the business owner and the DevOps team member can focus on their major responsibilites. Give it a try!
To sum up, I hope you already made your decision to move to a DevOps culture or found some information that could help you improve your existing one. All benefits and advantages that it brings make the change worth it. Please leave your comments about what is your view about the topic, we would really want to hear you thoughts!
Never miss an update by following us and subscribing to our monthly newsletter!
Latest posts by Pawel Kozikowski (see all)
- DevOps: why should I bother and what do I need to start? - January 17, 2017