To hire or outsource DevOps? That is the question
As organisations evolve to operate in the cloud, DevOps has gone from being purely operational to have a much more strategic role in application delivery. This is especially true as hosting has gone from on premise, needing both security and in-house hardware personnel. Costs for running cloud may not have increased, but the resource allocation involved has become a key talking point in business OPEX spend.
DevOps is about finding the best ways to link IT solutions with their operational counterparts. Product development over the years has needed to look for increasingly efficient ways to build these links. Even product development practices such as lean focus more on getting the organisation to understand business impact of development practices, and how it affects the operational side of the business. To do DevOps successfully, an organisation needs someone with intimate knowledge of the business for both operations and strategy.
With this much key business knowledge required for DevOps to be done successfully, it would seem counterintuitive to outsource DevOps to a consultant. Well, as it turns out, outsourcing DevOps may not seem like such a bad idea when it is done right.
Outsourcing DevOps through strategic outsourcing
Outsourcing DevOps through a strategic outsourcing agreement with a consulting firm is a great way to create a robust strategy for your business. It may seem expensive at first, but consulting firms have a wealth of experience to build upon. Almost all consulting firms will have seen how DevOps is done in other organisations, and not only that, they are almost always riding the winds of industry change to see what the latest way to operate is. With a strategic partnership, not only do you get one role, but the minds of many who make up the DevOps team at the firm, which is an added bons.
Hiring DevOps as a standalone role
In many organisations, the role of DevOps will fall upon a person or small team. Their purpose is to find an optimal balance between I.T. operations, development and strategy. Using an in-house team lets the organisation reveal its inner workings without the need for security agreements, a luxury not afforded to consulting firms. Having DevOps as a standalone role allows the organisation to put DevOps on the strategic backburner, as the DevOps is unlikely to change while a single person or team is put in charge.
The No-Ops approach
Of course, there is the third option. You could just have no DevOps role at all. With many cloud providers like AWS and Azure offering managed services now, there may not be a need to have a continuously operating DevOps role.
With cloud provided managed services, the only time you would need a DevOps person is at the very beginning of establishing your cloud account. Once you figure out what is required, it’s a very simple upkeeping process.
Whether you choose to hire or outsource DevOps depends entirely on the type of business in question. Banking and financial institutions for instance will often use a DevOps consultant (a few of my clients are consulting companies and their biggest clients are banks). The consulting DevOps team will build all their software on the clients site and deliver the project with all IP given back (and not kept by the consulting firm). They also offer security as a service too, but predominantly the consulting team will be working very close with the inhouse I.T. team.
For e-commerce, the prospect of having DevOps is strange, considering they only need to focus on their hosting costs and security. Whatever the case, the real answer for hiring or outsourcing is “it depends”. Hope this clears it up!