The State Of DevOps Tools

Transcription

TheState ofDevOpsToolsA PrimerDevOps tools are continuously evolving.Here are the essentials you need to know now.by Don McVittieand Alan Shimel

DevOps practices are rapidly changing how enterprises andsoftware producers bring their applications and digital servicesto market. Those watching the DevOps market have seen itgrow, with new processes and toolsets to support softwaredelivery and infrastructure management. The market is changingso quickly that anyone who takes their eyes off it for a momentfinds the tools available, and their capabilities, have changed.That’s the first reason why the DevOps tools market is sofascinating to watch. The second reason is its rapid growth.According to a recent report from by KBV Research, theglobal DevOps market will hit 8.8 billion by 2023, growing ata compound annual rate of 18 percent. That far outpaces thegrowth of the broader IT market. And, according to ForresterResearch, 50 percent of organizations have implementedDevOps, reaching what Forrester calls “Escape Velocity.”This report, designed to be a primer on the current state ofthe DevOps tools market, isn’t meant to be a definitive guideto every DevOps tool available. We hope to set the DevOpstoolset baseline and clear confusion by providing an overviewof the tool categories that currently are widely used inDevOps organizations, as well as where they fit in the DevOpsenvironment. The report also provides an overview of tools thatare either coming of age or worthy of consideration, even if notas evenly deployed — yet.2

ContentsSource Code Management. 4GitHub. 6BitBucket.7Perforce Helix. 8Continuous DeliveryManagement. 46Plutora Platform.48Log Management.50Artifact Repositories. 10Sonatype Nexus Repository.12JFrog Artifactory.13Continuous IntegrationServers. 14Jenkins.16CircleCI.18GitLab.18Travis CI.19Continuous Delivery.20IBM UrbanCode. 22Atlassian Bamboo. 23CloudBees Jenkins Solutions. 24CodeShip.26Application ReleaseAutomation.28Splunk. 52SumoLogic. 53Scalyr. .62Slack.64HipChat.64Flock.65OpenMake Software.30XebiaLabs.33Puppet.34Electric Cloud. 35CA Automic .36Database ConfigurationAutomation Tools. 66Infrastructure Automation.38Container Management.70Chef.40AWS e. 45Kubernetes.72Mesos and DC/OS.73Docker rless.76Conclusion.793

Source CodeManagement4

A logical place to start a review of DevOpstools is with code repositories, as theyare storing the code that makes up all ofthe applications deployed. Increasingly,they also store the configurations thoseapplications require. Most organizations anddevelopers use some sort of repository tostore source code. At a very minimum, coderepositories are a central place where teamscan share and work on a common codebase. The repositories also provide versioncontrol. What’s more, today’s repositoriesalso have APIs and integration, triggeringthe building and testing of the projectsimply by checking in the code.In an era of “low code” developmentand component and modular-basedapplication development, the majority ofapplication development today containsa smaller amount of new “original code.”Most code in applications come from preexisting libraries, modules, componentsand artifacts. For this reason, some ofthe leading code repositories are actuallystoring open source components, artifactsand libraries.5

GitHubGit is a no-cost source code management versioncontrol system designed for projects both largeand small. Git can be used on-premises or asa hosted service, one of the strengths of thesystem. Many organizations choose to do both,storing some projects on-premises and otherswithin the online service.As a commercial remote Git server offering,GitHub provides both free and premium services.And with a community of more than 26 milliondevelopers and 72 million repositories worldwide,GitHub is a de facto standard. Many other coderepositories support Git integration and formats.A significant advantage to using GitHub is itsrelatively large user base and near-ubiquity. As aresult, integrations are plentiful.6SOURCE CODE MANAGEMENT

BitBucketBitBucket is Atlassian’s hosted, collaborative version controlservice for projects that use Git or Mercurial. As part of theAtlassian stack, BitBucket offers integration with Atlassianofferings such as Jira and Trello. The Atlassian marketplace alsofeatures a variety of other integrations. Although they may findBitBucket doesn’t have quite as many integrations as GitHub,developers still likely would find the integration they need.BitBucket’s strengths include superior scalability and teamcollaboration. Recent additions to BitBucket expand on basicrepository capabilities and edge toward continuous integrationand other functional areas. One example of increasedfunctionality is BitBucket Pipelines integration to supportcontinuous integration and continuous delivery.Like GitHub, Atlassian provides tiered free and premiumservices. The important difference between BitBucket andGitHub is in the free usage tier. BitBucket repositories are freefor teams up to five. GitHub, in contrast, does not charge forpublic projects and has no limits on users if the repository ispublic and/or open source, but charges for private projectsregardless of the number of users.SOURCE CODE MANAGEMENT7

Perforce HelixIf you can’t beat them, join them. Perforce hasbeen in the repository business for more than15 years. After years of competing against Git,Perforce made the strategic decision to supportGit with the goal of providing enterprise teamsadditional value.Following a number of acquisitions, Perforce hasexpanded the capabilities of its Helix product intothe software development lifecycle market. Forthose already using Git, the Helix4Git is availablewith Helix TeamHub enterprise.8SOURCE CODE MANAGEMENT

THE HUB OF ENTERPRISE JENKINS AND DEVOPSSoftware at thespeed of ideas.Transform the software that fuels your business withCloudBees Jenkins Solutions.Your business has amazing, world-changing ideas - the only thing standing in your way is thetime, energy and processes it takes to turn code into finished product, to transform ideasinto impact. CloudBees - the only secure, scalable and supported Jenkins -based DevOpsplatform - lets you focus on the ideas you want to bring to life, not the challenge of building,testing and deploying them, so you can make an impact sooner.Get enterprise DevOps automation from CloudBees and allow your team to focus on buildinggreat software!DevOps at scale:Your business is critical. CloudBeestakes the frustration of having towait for build systems, making themready and available.End to End Visibility:Get better at predicting whatfeatures will ship by the drop date.Capture metrics across the pipelineto identify bottlenecks.Build and Deploy in Minutes:Jumpstart your DevOps efforts bysharing templates across teams anddeploy effortlessly.Enterprise-grade security:CloudBees provides a vettedversion of Jenkins so you canlock down sensitive projectsand ensure compliance.To learn more about CloudBees Jenkins Solutions, visit: www.cloudbees.com.CloudBees, Inc.2001 Gateway Place, Suite 670W San Jose, CA 95110 United Stateswww.cloudbees.com info@cloudbees.comThe registered trademark Jenkins is used pursuant to a sublicense from the Jenkins project and Software in the Public Interest, Inc. Read more at: www.cloudbees.com/jenkins/about 2018 CloudBees, Inc. CloudBees and CloudBees DevOptics are registered trademarks and CloudBees Jenkins Solutions, CloudBees Jenkins Enterprise, CloudBees Jenkins Team, CloudBees Jenkins Operations Center,CloudBees Jenkins Advisor and DEV@cloud are trademarks of CloudBees, Inc. Other product or brand names may be trademarks or registered trademarks of their respective holders.0118v01

ArtifactRepositories10

Open source software, like all software,changes with each version. Most ofthese changes evolve the software andenhance its capabilities, performance orsecurity. Sometimes, however, changescan introduce errors and security defects.This is where artifact repositories come in.Artifact repositories provide organizationsan authoritative source for current andapproved versions of a module, library orother artifact. Artifact repositories alsoenable organizations to revert back to thelast known trusted and approved versionwhen undesirable software is entered intoa system.Artifact repositories support both internaland externally developed artifacts so teamshave consistent access to all necessarymodules, libraries and other artifacts.11

Sonatype Nexus RepositorySonatype Nexus Repository specializes in opensource — especially Java-based and Mavenbuilt — artifact and component storage andmanagement. When it comes to security, theSonatype Nexus Repository has a strong heritageand helps ensure an organization is using thelatest and vulnerability-free versions.12ARTIFACT REPOSITORIES

JFrog ArtifactoryArtifactory is a widely used software artifactrepository. Much of its popularity is due to itsability to integrate with many toolsets in theDevOps and continuous integration and deliverystacks. Artifactory is integrated with a wideselection of DevOps tools, making them applicableto a variety of toolchains.JFrog has its repository roots in an RDBMS format,but has grown beyond those roots. Sonatypehas its roots in the Maven repository formatbut has also grown beyond those roots. Today,both support an array of repository formats, andusers increasingly want specialized repositoriesthat meet the needs of their other tools, soDocker repository support, or Maven repositorysupport, based upon the rest of the architecture.Organizations should pay special attentionduring any evaluation to see which better fits theorganizations’ specific environment.ARTIFACT REPOSITORIES13

TheEssentials:14ContinuousIntegrationServers

Continuous integration (CI) servers arethe point of entry for many new DevOpsorganizations. As an extension of agile, CIservers enable automated build and test,along with varying levels of notificationsfundamental to keeping agile efforts ontrack. The open source project Jenkins tracks active installations, for example,and (at press time) boasts 153,000 activeJenkins installs. While Jenkins is by farthe most dominant CI/CD server in termsof market share, the number of activeinstallations and users (estimated at morethan 1.5 million) are indicative of a healthymarket.Additionally, many CI tools have addedcontinuous delivery (CD) capabilities. Thedifferences between continuous integration,continuous delivery and application releaseautomation (ARA) continue to blur.15

JenkinsIf there is one tool that the vast majority of DevOps teams havedeployed, it is Jenkins. There are other tools, but Jenkins is the“Got DevOps?” standard. If Jenkins has a problem, it is one ofabundance. The Jenkins plugin category is an embarrassmentof riches: As many as 1,500 different plugins are available forJenkins.Certainly, Jenkins has taken steps to make plugin selectioneasier for its users, but the first thing every new user asks is,“Which plugins do I need?” Short answer: As few as possible.Especially at first. Start with a source code management (SCM)repository plugin (GitHub, BitBucket or Local Git, for example)and another plugin for builds (Gradle or Maven, for example).More can be added later, but starting light keeps the build/testenvironment simple and manageable, and doesn’t load downJenkins with unnecessary plugins.Jenkins 2.0 also includes Jenkins Pipeline and a friendlierinterface (Blue Ocean). Managed Jenkins and other enterprisefeatures are available from CloudBees Jenkins Enterprise.16CONTINUOUS INTEGRATION SERVERS

Visually create CD pipelines inminutes & automatically deployapps — all with one tool.With Puppet Pipelines, you can standardize your softwaredelivery pipelines from development to deployment —across servers, VMs and containers, on any cloudand on-premises.Meet Puppet Pipelines Request a demo Learn more at puppet.com

CircleCICircleCI could be a good choice for those looking for a quick,inexpensive CI tool to get started with. Its emphasis on easysetup and ease of use makes it a simple choice for thosestarting out. Like other offerings, it is available as both a cloudinstance and a local installation. It doesn’t have the breadth ofintegrations or plugins as others, but if simplicity, lean and fastuptake are important, CircleCI is worth considering.GitLabThe open source version of GitLab has more than 80,000active instances, while the GitLab Enterprise Edition has 500plus paying enterprise customers. GitLab is well-documented,easy-to-use and extensible. Users has complained it suffersfrom poor alerting and notifications, but for those enterpriseteams seeking an affordable option to Jenkins, GitLab isworth a look.18CONTINUOUS INTEGRATION SERVERS

Travis CITravis CI is representative of hosted CI services.Because it is hosted and has fewer configurationsteps, it is generally simpler to set up thanJenkins. However, the edge gained from simplicityis lost as projects grow and configuration filesbecome more complex. Open Source projectsoften use Travis CI because it is free for suchprojects, and users don’t have to maintain thehardware and software that Jenkins requires.Choosing between a hosted or on-premisessystem often varies from project to projectand even team to team. A team that is smalland pressed for time might appreciate Travis CIbecause it replaces one server from the buildchain with a service, and those just starting outmight appreciate the simple setup while theydecide what best suits the team’s longer-termgoals.CONTINUOUS INTEGRATION SERVERS19

ContinuousDelivery20

It has been said that “if DevOps is thesymptom, continuous delivery is thecure.” Automation and agile gave rise tocontinuous integration; the next logical stepis continuous delivery. Many of the CI toolspreviously mentioned are also in continuousdelivery. Additionally, many CD vendors arealso in the application release automationmarket.Where does continuous delivery fit in theCI/CD continuum? Continuous deliveryis the extension of agile to build andtest processes, continuous delivery isdelivering software more often throughuse of DevOps methods. The compositeof both is the core of application lifecyclemanagement (ALM) in DevOps.21

IBM UrbanCodeUrbanCode was an early DevOpsfavorite. After IBM acquired UrbanCodeInc., some of its small-company andopen source aura faded. To IBM’s credit,the company continued providingnew UrbanCode functionality. Today,UrbanCode Deploy and UrbanCodeRelease together offer widely usedCD and application release automationtoolsets that integrate with Jenkins forcontinuous integration.22CONTINUOUS DELIVERY

Atlassian BambooAnother tool within the Atlassian stackis Bamboo. Bamboo is deeply integratedwith Atlassian products; it doesn’t haveas many integrations outside of theAtlassian stack as competitors. Outsideof its own product stack, Atlassian hasfocused on integrations that are morepopular, so many environments will findwhat they need. Organizations using orconsidering BitBucket, Jira and HipChatshould seriously consider Bamboo.CONTINUOUS DELIVERY23

CloudBees Jenkins SolutionsJenkins, an open source project, is the most widelyadopted continuous integration solution in the market,enabling developers to automate the integrationand validation of code changes. It’s automationcapabilities and number of integrations also make it apopular solution for orchestrating continuous delivery(CD). However, as adoption of CD in an organizationgrows so do the number of Jenkins instances, andit becomes more difficult to manage, secure andsupport Jenkins for business critical applications.This is where CloudBees comes into the picture,their Jenkins solutions help enterprises implementand scale CD faster. Jenkins and CD pipelinescan be centrally managed to ensure teams canadopt CD quickly and flexibly while still adheringto company process and security standards.CloudBees Jenkins Solutions extend the Jenkinsuser interface to enable onboarding of teams andprojects with just a few clicks.24CONTINUOUS DELIVERY

Jenkins has 1500 plugins enabling integration tovirtually every DevOps tool, however some usersfind the sheer number of integrations to presenta compatibility challenge. CloudBees solves thisproblem by rigorously testing plugins for quality andinteroperability, making adopting new functionalityand upgrading much easier.As continuous delivery becomes increasinglybusiness critical, it is important that the CD toolsare resilient and well supported. In fact, manyorganizations have begun to apply productionservice level agreements to the CD tools. CloudBeesJenkins Solutions support this by providing 24/7 forJenkins and CD, so you can reliably deliver bettersoftware faster.Recently, CloudBees extended its solution offeringswith CloudBees DevOptics , providing a holistic viewof the entire DevOps process through Value Streams.CONTINUOUS DELIVERY25

CodeShipCodeship by CloudBees helps engineering teams to testand deliver their software in the cloud, fast. No matter thearchitecture or application type, Codeship has you covered.Codeship’s products offer a turnkey, ready to go CI/CDenvironment that adapts to your teams’ needs and helps youset up Continuous Delivery for your cloud applications. Fromsimple, standardized workflows to very complex applicationsand requirements.Additionally, Codeship offers excellent support for the containerecosystem helping you test, build and deploy your CloudNative/containerized stack by being able to leverage theenvironment configuration you already have in place.26CONTINUOUS DELIVERY

For software delivery, these are the mostcommon questions you hear:When will therelease go live?How much risk isinvolved with this release?What is the qualityof this release?These simple questions are hard toanswer without looking beyond simplefeature burndown charts, test results,and release calendars. Your jobdepends upon knowing the answers.Plutora gives you complete visibilityinto the entire software deliveryprocess, improving team collaborationand efficiency not previously possible.You can ensure predictability whilecontinuously improving the process.Your business is software.Become a Software Juggernaut.Plutora integrates with your current toolchains from Continuous Delivery to WaterfallLearn more atplutora.com

ApplicationReleaseAutomation28

Application release automation (ARA)combines the processes of continuousintegration and deployment withdeployment automation and releasecoordination. Ideally, the toolsets will be partof a chain that runs throughout applicationbuild, test and deployment. Once ready,applications and application updates canhit production by simply pushing a button.Gartner estimated the ARA market tobe at 228.2 million USD in 2016, witha compound annual growth rate of 20percent through 2020. The research firmexpects 50 percent of enterprises to useapplication release automation by 2020, upfrom 15 percent today.29

OpenMake SoftwareOpenMake offers DeployHub Pro, a continuous deliverysolution based upon the open source DeployHub product.With agentless deploys, interfaces to the most commonDevOps tools and multi-platform support, it has much tooffer the modern enterprise. OpenMake also offers Meister,an automated build tool that integrates with an array ofdevelopment tools, including a massive selection of compilers.Meister claims to improve compile times by 95 percent, which isimpressive in environments that have large code bases.The strength of DeployHub is definitely its open source rootsand agentless operations. The ability to grab the source andsee what is going on, combined with the ability to deployapplications to a wealth of targets (including Cisco routers),make it a promising choice for complex environments that leantoward open source solutions. Support via the open sourceproject is actually pretty solid, with some of the best OSSdocumentation we’ve seen combined with an active communityresponding to requests.30APPLICATION RELEASE AUTOMATION

The strengths of Meister are just-in-time build dependenciesthat shorten the amount of time spent rebuilding objects andparallel processing for builds. A good secondary strength isserver pooling for Jenkins builds.The ability to have a single central build tool for hundredsof different compilers on a variety of targets is useful to anenterprise that has grown organically. It is rare that the currentstandard dev language is the only language in use, so broadcompiler support is key.Between the two, build and delivery of applications are coveredwith a combination of open source and commercial applications.OpenMake is worth evaluating for organizations with a complexprogramming language environment and a desire for anagentless deploy system.APPLICATION RELEASE AUTOMATION31

XebiaLabsXebiaLabs provides two ARA tools: XL Release,for managing development, and XL Deploy, formanaging operations. Building the applicationand installing to the environment are effectivelymanaged by both products. Like others here,XebiaLabs bridges the gap between buildand deployment tools. Users can map whatresources are required for a deployment andtarget that specific deployment to a predefinedinfrastructure. The ARA processes arerepeatable and reduce manual intervention andassociated errors.32APPLICATION RELEASE AUTOMATION

Versioned deployments fromdatabase to infrastructureThe future ofSoftware ReleasesOpen Source Agentless Built-in VersioningContinuous Deployments Packaging Kubernetes SupportJenkins, Ansible, GitHub, Jira ReadyTry a SandboxDeployHub.org

Puppet Pipelines for ApplicationsPuppet Pipelines for Applications simplifiesapplication delivery, providing continuousdelivery and release automation from everycommit to every deployment. Puppet’s ARA toolautomatically builds and automates deploymentswith full control to ensure that your developmentand release teams are consistently shippingsoftware and delivering on time.You can also integrate with automaticnotifications to Slack, HipChat, and email and allowrole-based access control for more governance.Perhaps the greatest feature of Pipelines forApplications is that it works with any cloud oron-premise application and you can visualize yoursoftware delivery pipelines all in a single place.34APPLICATION RELEASE AUTOMATION

Electric CloudElectric Cloud provides ARA tools that arecomparable to the other tools listed here, withone feature some will find useful. Electric Cloud’sElectric Flow offers the ability to customize theuser interface for business users, making it easyfor those who are not so technical to monitor theirprojects.Business users who want regular statusupdates may want to consider the Electric Flowdashboard, which ties progress to their internallydefined business goals (as opposed to agile taskcompletion or story completion). There are manyother features to consider as well.While many ARA tools look quite similar (andthere are a lot of tools to consider), identifying thedifferentiators among each is worth the time.APPLICATION RELEASE AUTOMATION35

CA AutomicLike all ARA tools, Automic sits between yourCI/CD processes and your deployment stack,melding them into a complete DevOps toolchain.And like every other ARA tool, Automic supportsthe standards that are the current cost-of-entryinto the ARA market. It also supports a growingarray of other tools, which is one of its strengths.Automic had good and growing support for extanttools before being purchased by CA, and workingwith CA has increased its access to CA tools.Automic puts out what it calls “Action Packs”that support new tools and platforms at a prettyimpressive rate.As of this writing, Automic supports deploymentto every environment from the mainframe throughserverless, integrating with tools that are commonin the enterprise. Considering the work requiredto get any ARA tool integrated into the build/test/deploy process, support for the DevOps toolsused in a given environment is critical as it meansfewer custom interfaces have to be written.36APPLICATION RELEASE AUTOMATION

PM and line-of-business sponsors like the rollupreporting environment that Automic offers, whileoperations staff likes the breadth of tool support.About the only common complaint involving theproduct is its lack of support for a varietyof scripting languages for customization —a complaint hardly unique to Automic in theDevOps world.Available plug-ins for Automic are included inthe Automic Marketplace. Automic is well on itsway to providing out-of-the-box support for themajority of Dev/DevOps toolsets, and those itdoesn’t support can be integrated via its scriptinglanguage and/or APIs.APPLICATION RELEASE AUTOMATION37

InfrastructureAutomation38

Infrastructure automation is theprocess that automates, largely throughscripting, the installation, configurationand management of servers. It’s oftencalled infrastructure-as-code becauseinfrastructure automation is the abilityto define infrastructure and workloadconfigurations as sets of scripts thatcan be applied to either a single serverinstance or thousands of servers. DevOpshas made infrastructure-as-code toolspopular and has helped to mature theseimplementations. For example, launchingan application with a web/API server and adatabase server with all of the networkingand supporting applications could bescripted and run as needed.39

ChefChef is the elder statesman of infrastructure-asa-service (IaaS) automation. Using Chef, machinescan be defined in scripts, which can be used toensure the configuration of those machines areexactly the same every time. This is useful not justfor systems operations but also for deployment,because Chef makes deployment failures easierto debug. If the Chef script works one day butdoesn’t work the next day, a quick look at whatchanged in the script usually will resolve the issue.40INFRASTRUCTURE AUTOMATION

AWS OpsworksLarge cloud vendors follow an API-first developmentmethodology. This means that APIs are availablefor tasks ranging from “launch a server” to “create aroute.” The existence of APIs for all infrastructure ina cloud makes the cloud particularly well-suited forDevOps infrastructure management.AWS Opsworks originally was a private-labeled Chefimplementation for Amazon Web Services. It was builtto use Chef and APIs to get AWS-tested or -hostedcloud environments online and running quickly.While most infrastructure automation tools supportthe major cloud providers, Opsworks is optimizedspecifically to deploy and manipulate AWS objects.Out of the box, Opsworks includes Chef functionsfor AWS-specific deployment needs, relieving teamsfrom having to cobble something together.Recently Puppet announced enhanced functionalitywith Opsworks. It remains to be seen whetherOpsworks will evolve into a standalone toolindependent of its Chef roots.INFRASTRUCTURE AUTOMATION41

SaltStackSimilar in design to Chef, SaltStack Enterpriseis more focused on compliance and securityfor the enterprise. As with most infrastructureorchestration and automation tools, SaltStacksupports application installation and automationand can manage the entire deployment stackregardless of the target infrastructure. If managingthe entire deployment stack is necessary,but security and compliance are priorities,SaltStack can answer both needs more rea

the DevOps tools market, isn’t meant to be a definitive guide to every DevOps tool available. We hope to set the DevOps toolset baseline and clear confusion by providing an overview of the tool categories that currently are widely used in DevOps organizations, as well as w