Selecting tools isn't easy

Selecting tools is quite a complex task. This is why consulting partners and DaaS vendors exist in this market. The following are the major factors that create complexity:

  • The cost
  • The availability of skilled engineers
  • The maturity of tools
  • Whether to use open source or enterprise products

The following diagram will give you an idea of how complex the DevOps chain is. It is not easy to decide which specific tools you need to pick:

DevOps tool chain

Even if your team is able to setup DevOps, it can still be a struggle to mature your unique toolset and processes. To overcome these challenges, many companies are starting to offer DevOps as a service. It's up to you whether you would like to setup your own DevOps team and tool chain or whether you would like to go with a DaaS approach. To simplify this decision, try to answer the following three questions:

  • Where we are?
  • Where we are going?
  • How do we get there?

For those who would like to act quickly without having the internal capability to develop DevOps, DaaS is a good idea. Then, as time goes by, development teams can gain skills by learning from DaaS providers and start to develop their own internal DevOps process. Contacting DaaS providers for internal problems can take an unnecessary time to solve small problems. Alternatively, you could choose to stick to your DaaS provider.

CloudBees, the the major contributor behind Jenkins, released the DevOps Quadrant Maturity Model in 2016. It categorized its implementation as either upstream or downstream and framed this in terms of an x axis and a y axis, where the y axis denotes the level of organization and the x axis denotes the software development life cycle:

This screenshot comes from the CloudBees Webinar, Introduction to the Four Quadrants of DevOps maturity, 2016.

Major public cloud vendors are supporting DevOps by providing a tool chain. Companies such as Alibaba have just started providing DaaS, whereas other vendors such as Google's GCP, Microsoft's Azure, and Amazon's AWS don't provide DaaS directly, but they do have tool chains, blogs, and easily available technical documentation that supports DevOps. The term DaaS specifically refers to a situation in which a vendor simply gives us an endpoint, while they will do all the heavy lifting and setup the tool chain for you.

When you will be using build and package like compiling Java code and creating JAR file service in DaaS platform, for example, we just need to input the source code and the concerned DaaS platform component that will build it for you for multiple platforms. It will also package it for multiple operating system varieties. Let's say we build just one microservice in Java. A DaaS platform will compile and build it for you and generate packages, such as Jar, RPM, DEB, and ZIP files. Furthermore, it will deploy it on your configured environment. Tools such as Nexus and JFrog Artifactory provide these kinds of building and packaging services.

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

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