Best-of-breed or Integrated Solution?

Another common question when deciding on tooling is whether to choose the best-of-breed solution for each task a team needs, or select a more integrated solution. For many organizations, this choice depends on whether they have very specific needs that only one vendor can fulfill, existing tools that need to be integrated, or how organizational decisions are made. For example, top-down decision-making tends to prefer integrated solutions, and bottom-up decisions tend toward picking best-of-breed tools. With as many options as there are today, it’s easy to fill up your “DevOps cart” with a number of tools, deploy them, and then expect everything to work. Consider a scenario where you leverage Atlassian JIRA for work item tracking, TeamCity for continuous integration, and Visual Studio Team Services for release management. There is a higher cost in ensuring that the right endpoints and extensibility between these tools exist for the workflow that you need.

So what are the risks of running a hybrid pipeline? The main one is that integration across toolchains is often not as smooth as one might think. It’s not even as much about the existing tools—for most common scenarios all the right capabilities are exposed programmatically. For example, TeamCity developed an add-on that offers deep integration with JIRA that enables much more than a standard one-way street between the continuous integration service and the work item tracking systems. The drawback is that this extension is not free; therefore there is extra cost incurred for integrating systems that you might already have deployed. For other integration scenarios, this is not that much of a problem—for example, TeamCity integrates directly with Visual Studio Team Services to pull the source code and subsequently perform integration operations. The bottom line is that there will be a certain amount of work to be done to ensure that all pieces work together.

As an alternative, you can opt to use an integrated solution that sports all the capabilities in one package. That way, you won’t have to worry whether your build or release process is different or relies on potentially incompatible components, as everything is integrated in an already-configured toolchain. Integrated tools are also highly extensible, so in situations where your team needs an additional tool instrumented for the existing workflow, it’s often just a matter of creating a configuration file and pointing it to the right binaries.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.22.41.235