The tech industry loves its buzzwords. It seems every day there’s a new buzzword created from mashing two technologies together to form a solution to a problem that may or may not exist. But some of those buzzwords perfectly capture the zeitgeist of the current technological landscape.
One such buzzword is DevOps, which has taken the world of IT by storm. This buzzword has become so popular, most businesses (at least those with IT departments) have either already implemented it or are considering it for the near future.
But is DevOps right for your company? That is, after all, the most important question you should ask before you consider adding it into the mix.
What is DevOps?
Simply put, DevOps merges development and operations to shorten the software/systems development lifecycle and provide continuous delivery of software.
That definition begs another question.
What is continuous delivery?
Continuous delivery is a software development approach that releases in short cycles to ensure the software can be released reliably at any time. This approach to the software development lifecycle heavily depends on automation, as the goal should be instant and reliable releases. Without built-in automation, continuous delivery would not be possible.
So, right out of the gate we see that DevOps is centered around a very fast and reliable software release cycle that requires automation to succeed.
The picture should be significantly clearer at this point.
But let’s keep digging.
The Cost of DevOps
One thing to keep in mind, when considering if DevOps is right for your company, is the cost involved. Yes, once embedded into your company culture and systems, a DevOps approach can eventually save you money (because software deployment becomes nearly automatic and considerably more reliable). But the money you’ll have to spend upfront can be considerable.
Continuous delivery of software is challenging to set up, get right, and maintain. That means you’re going to need to hire IT staff capable of implementing this new strategy. You’ll need developers and operations administrators who know the tools of the continuous delivery trade, such as Maven, Jenkins, Puppet, Nexus, Fabric, JIRA, Jmeter, and git. And given there is no one single tool that makes CD possible, it means you’re having to piece together a number of software titles and systems to perfectly fit your needs.
So, it’s not just about having the staff that can implement such a system, it’s also necessary to have those capable of planning and designing such a system on hand. The cost to make that happen can be considerable. The one silver lining is that much of the software is open-source, so you won’t have to incur much of a hit to your budget in that arena.
It really is all about having the right staff capable of piecing together this very complicated system.
The Culture of DevOps
Next, we have to look at the very culture of DevOps. The idea behind this approach is that your development and operations teams must be able to successfully collaborate together to make it happen. To that end, you need to evaluate those two teams and honestly answer the question, “Can they successfully function together?”
This may sound like a silly question to ask. After all, these people are under the employ of your business, so shouldn’t they, by design, be able to function together? Although on the surface you might think they can, you might need to dig deeper. Egos can get in the way of preventing a successful DevOps approach.
Before you decide to implement DevOps, you might first test those departments to see how capable they are of collaboration. Have them design and build a new application or system. If they can work together seamlessly, you’re already ahead of the DevOps game. If, however, the test project fails to materialize, you either have to retool your teams or forget about DevOps altogether.
How Do You Use Software?
Ask yourself this question: How do you use software? If your business relies on software for innovation and to remain competitive and agile, DevOps is probably exactly what you’re looking for. If you depend on software to power your business and want that software continuously updated and reliable, again, DevOps might be the best approach.
However, if software is a product you sell, and the traditional development lifecycle works for your business, DevOps might not be necessary. Or, if you primarily only use third-party software to power your business, DevOps is probably not going to do you much good.
Ultimately, DevOps helps businesses that depend on software to empower them with speed, efficiency, reliability, security, and agility. DevOps can help improve workplace productivity, create room for innovation, increase customer satisfaction, enhance the quality of the software you use, and heighten your IT security. If those are goals you’d like your company to achieve, and you already depend on software to make it happen, if you’ve not added DevOps into the mix, you’re not getting the most out of your software development lifecycle.