February 8th, 2022
Build vs. Buy for DevOps Toolchains
DevOps is the process of uniting your development, testing and IT operations teams and infrastructure used to build, test, and maintain your apps and software. Rather than treating development and IT infrastructure as separate concerns, the rise in popularity of DevOps throughout the software industry has demonstrated the value of bringing these teams and processes together. But when it comes to acquiring the toolchains to create and manage DevOps environments, should you roll your own or buy one off the shelf?
“If you are putting your best engineers on building out your DevOps toolchain, shame on you. They should be building products for your customers. However, if your best engineers aren’t building out your DevOps toolchain, you won’t succeed. ” – Eric Billingsley
This article will cover some of the benefits and drawbacks between building your own and buying off-the-shelf DevOps toolchains.
Pitfalls of DIY (Do it yourself):
It can be very tempting for some teams to wish to build their own bespoke toolchain from scratch. You can build it to your exact needs and you have complete control over the entire process. Sometimes, building your own is the right approach. For example, if a company offered a SaaS CRM, then you would expect that company to use their own CRM software for their own CRM management – it would be strange for them to use an off-the-shelf service. Here, eating your own dog food – internally using your own tools – makes sense. However, in most other situations, the DIY route comes with more drawbacks than benefits in many scenarios. What are these drawbacks? Some of the major ones are outlined below.
Building quality tools takes time, effort, and money
Probably the biggest drawback of deciding to build your own DevOps toolchain is that it is a monumental task to undertake. It means taking responsibility for planning, architecting, developing, and maintaining your own toolchain. You may be able to use some open-source tools to speed parts of the process up but bringing together the different tools and getting them to work together as an end-to-end system requires both a high level of knowledge and effort. For example, setting up policy as code can take considerable time and needs to take future changes into consideration.
You need the right people
Your tool will be your team’s responsibility to design, build, and maintain the DevOps toolchain. This means that your team will need the technical knowledge necessary to achieve this. Lead developers and other staff members will need to be taken off of any other projects they may be working on, which will reduce your capacity to deliver paid work for clients. Good developers are expensive, so it’s a lot of work to undertake without generating an income for it.
Even if you have competent developers, it doesn’t necessarily translate to them being good at dealing with DevOps, and likewise for IT operations specialists. Not every developer or IT operator is a good DevOps tech – in fact, good DevOps specialists are quite far and few between.
Don’t underestimate upkeep
Since your team is building the tools, your team will also be responsible for maintenance and upkeep. There’s little in the way of external market pressure to keep developing and improving it (another drawback) but that doesn’t mean internal tools are ever really ‘done’. Even if you reach a point where the toolchain works reliably and fulfills its purpose, you can never know when a third-party software library dependency or external API stops active development or makes a breaking change.
If your team depends on these tools as part of their DevOps process, then these kinds of unexpected breaking changes can have a significant impact on the rest of your projects that rely on your internally developed DevOps toolchain. Then you have to consider the trade-off between running outdated code and incurring tech debt or taking away key staff from other projects to work on solutions.
Value of OTS (off the shelf):
The alternative to building your own DevOps toolchain is to buy an existing OTS (off the shelf) DevOps toolchain. This gives you access to a mature and fully functional DevOps toolchain straight away at the small cost of some time spent learning how to fit your projects into the DevOps toolset. However, it offers a variety of benefits, the major ones of which will be outlined below.
It lets your team focus on what’s important
Getting your team to build a DevOps toolchain means taking them away from what’s important – the projects they are building that are the core focus of your business. If DevOps is not core to your business, then outsource those concerns and let your team focus on what is. That means you can focus on the productive work that brings in revenue without having to take precious time away from key team members.
Your needs probably aren’t that unique
While you certainly could develop your own DevOps toolchain to get it just the way you want it, chances are it would just end up looking like a more rudimentary version of an off-the-shelf offering anyway. The basic functionality required and needs that must be met will be largely the same. Any particular specialties are likely to end up being a rather minor part of the overall toolchain.
Even in the case that you do find yourself with a specific need not being met, it’s worth getting in touch with a vendor and seeing what they can do. It’s in their best interests to accommodate you. Quite often custom needs can be met by first or third-party developers.
Avoid full-stack lock-in
The explosion of SaaS products for just about everything has not missed DevOps toolchains, but there is an important distinction to be made between SaaS DevOps toolchains and DevOps toolchains included as part of a cloud providers service. When you leverage tools provided by a specific cloud provider (AWS, Azure DevOps, etc.), your DevOps process becomes dependent on that vendor. If their service goes down, so does your toolchain. Transitioning from one cloud vendor to another due to increased prices or lack of features would require a complete re-tooling, making the change both costly and time consuming.
Value of Guide-Rails®:
The value of going with a middle-ground service like Guide Rails is that you get to have your cake and eat it too – you get to enjoy the benefits of a pre-made, fully functional toolchain kit without the dependency on an externally-hosted, cloud-based system. Instead, Guide Rails provides a pre-built DevOps toolchain in the form of a Value Stream Delivery Platform, which helps identify and support production at every end of the software life cycle, from planning and development to testing and delivery.
Get immediate access to a feature-complete DevOps toolchain
When you purchase a pre-existing toolchain, you get immediate access to a full, mature suite of tools for DevOps. Despite the upfront purchase cost, this will still likely represent only a fraction of the cost it would take to roll your own solution, not to mention having it already be proven and battle-tested. It also likely features more capabilities than an in-house solution, too.
Get immediate access to DevOps expertise
Another very handy feature of using a solution such as Guide Rails is that you get access to technical support and guidance with your DevOps toolchain from a team that has years of experience and dealing with the highs and lows of all sorts of systems. Chances are if your team runs into a problem, it’s something that has been seen before and already has a known solution.
Proven to scale
A big deal for many companies is not simply whether they can build their own toolchain, but whether it can also scale well enough to support their operations both now and in years to come. Solutions that can’t scale need to be reworked and reinvented. It can be difficult to gauge ahead of time precisely how well a solution will work at scale, so creating solutions from scratch that effectively scale to your business needs can be very tricky. This could come at your expense, or you could use an already proven external service like Guide Rails and sidestep this issue entirely.
If you’re in the market for a DevOps toolchain but you still can’t decide which route to take, get in touch with the team at Guide Rails. Our staff have the experience and expertise to help you evaluate your options and can help guide you through the entire process of setting up a DevOps toolchain that works for you and your team.