If moving to a DevOps model, you must select an integrated set of tools to build, deploy, and manage your apps. Developing your DevOps toolchain means you need to consider how you will handle source control, monitoring, provisioning, automation, and security.
Taking the time to break down or define your processes in each of these categories and research, evaluate, test, and select the appropriate tools is daunting. There are two main approaches to building a DevOps toolchain: DevOps in a Box and Best of Breed. This article will serve as a guide towards determining which may be right for your unique needs.
Option 1: DevOps in a Box
A primary reason for selecting DevOps in a Box is standardization. Large organizations with a myriad of unique applications often struggle to establish a standardized and consistent process and corresponding tool set. A one-stop shop approach to the DevOps toolchain helps to identify the end to end process your organization uses across departments. Creating consistency in the way you deploy and maintain/monitor applications makes it easier for Ops people to jump in and out of projects without having too much background knowledge about the application.
Aside from standardization, you might choose this approach if you have limited time or expertise. The time necessary to research and select individual tools for each stage of the development process is significantly greater than having the entire set pre-selected for you. Additionally, finding discrete tools for each stage requires a certain amount of background knowledge and experience. If your team is fairly new to the DevOps model, it might be more beneficial to have the process and platform mapped out for you as you mature in your DevOps expertise.
In summary, DevOps in a Box:
- Eliminates the work of integrating discrete tools.
- Establishes a predefined workflow that may be helpful if your organization is new to DevOps, Agile development and continuous delivery.
- Makes it easy to get started even if you do not fully know what you want.
- Offers flexibility of adoption since you can incorporate features into your process as needed.
- A pre-packaged product may conflict with any process flows you already have in place.
- You are somewhat locked in. You must live with what the package can provide.
Option 2: Best of Breed
In contrast to DevOps in a Box is a Best of Breed approach. In BoB, you research, select and link together discreet tools that make up your DevOps toolchain.
This approach works well for organizations that only have one product to support, which minimizes their need for standardization. You may also need more time and flexibility than making a complete shift to a DevOps in a Box approach can afford. A BoB approach allows you to customize a solution to your needs and pre-established workflows, move to a new toolset when one is no longer serving your needs, and prioritize what pieces of your toolchain you want to select and when.
In summary, you might select a Best of Breed approach if you:
- Don’t want to be locked in – you want to be able to move to things piecemeal.
- Need to support a specific technology framework.
- Have budget/priority constraints where you can’t make a big shift all at once.
- Would like to make selections at your own pace.
- Do not have a lot of new projects starting but want to start migrating to a DevOps environment.
- With a variety of discreet tools, you may run into integration challenges.
- Selecting and implementing discreet tools for your toolchain can be significantly more time consuming than adopting an all in one solution.
Tools must enable teams to accomplish innovative tasks. At the top, leaders must determine which approach aligns better with the business architecture. Either is correct based on your circumstances - there is no one right way. It is a journey, not a destination. What’s most important is that you maximize the efficiency of your development team by finding some way to get started with DevOps sooner than later. If you are not sure about the best first step, .