DevOps 101: What is a DevOps Platform?
We're excited to reveal an updated and vastly expanded edition of our popular The Manager’s Guide to Continuous Delivery, now called The IT Manager’s Guide to DevOps: How to Drive the Business Value of Software Delivery. To celebrate the new version, we're using the XebiaLabs blog this week to highlight some of the new insights and advice coming your way from co-author, Tim Buntel. The following excerpt looks at how a DevOps platform supports the 5 stages of Continuous Delivery. You can download an advance copy of the complete ebook here.
Note: Those attending the 2018 DevOps Enterprise Summit in Las Vegas will get the print version of the advance copy of the book. You can register for the event here and use the promo code XEBIALABS20.
Introduction to a DevOps PlatformIn a DevOps organization, Continuous Delivery (CD) is used to create a constant flow of changes to production. The entire automated software production line is commonly referred to as the Continuous Delivery pipeline. The CD pipeline breaks the software delivery process into several stages, each of which verifies the quality of new features before moving them to the next stage until they finally are available to users. The pipeline provides feedback to the team and visibility into the flow of changes to everyone involved. To successfully scale DevOps in an enterprise, a set of components are leveraged to help teams achieve CD. This is called a DevOps platform. While there may be slight variations from organization to organization, or within the type of software project, a typical DevOps platform facilitates CD through the following stages:
1. The Initial Stages: Build Automation and Continuous IntegrationNew features that the developers implement start their journey through the CD pipeline as code commits to a central code repository. The pipeline starts by building the binaries to create the deliverable(s) that are passed to the subsequent stages. Each developer’s code commits are integrated into the central code base on a continuous basis where they are built and unit tested. This is called Continuous Integration. It provides an early opportunity for feedback about the “health” of the new application code. If something is wrong, the build will “break,” and the cause is clearly identified. The developer who introduced the problem code can commit a fix, and everyone can see the build “go green” as it passes the phase. Common tools you may hear mentioned:
2. The Verification Stages: Test AutomationThe earlier problems are detected, the easier (and cheaper) it is to fix them. It is important that the pipeline verifies all relevant aspects—whether user functionality, security, performance, or compliance. Manual testing can identify some problems, but it is time consuming, costly, and error prone. High-performing DevOps teams use a combination of manual and automated testing to ensure an increasingly well-tested application as it moves through the pipeline. Common tools you may hear mentioned:
FREE EBOOKRead more.