DevOps enables companies to achieve faster and higher quality software delivery and helps increase customer satisfaction. It focuses on building quality into the supply chain of customer value, and applies the lean/agile methodology into that supply chain, which includes developing, building, testing, deploying, and monitoring of software. DevOps is no longer just a trend – it’s a well-defined set of practices and organizational patterns that for many enterprises is providing a return on investment.
In a post for the Application Development Partner Community earlier this year, I provided an introduction to how Microsoft approaches DevOps and open source DevOps solutions. In this post, and in the January 31 partner call, I'll take a deeper look at the topic of DevOps and clarify your opportunity and the skills needed.
DevOps and digital transformation
Digital transformation focuses on a business’s systems of intelligence, which represent the digital feedback loops that help customers draw better insight out of data and convert it to intelligent action. Businesses no longer just design, build, produce and ship a product. Now, organizations are building in continuous feedback loops – sensors in product, after-market services, customer feedback from a variety of channels, and so on.
Transformation requires these rich systems of intelligence. Systems of intelligence represent the combination of technology, people, and process that enable these feedback loops, and define an organization’s competitiveness and ability to change the entire landscape of the industries in which it participates. DevOps is a fundamental requirement for businesses to achieve continuous digital transformation.
The partner opportunity with DevOps
The forecasted spend on digital transformation for 2016-2019 is $151 billion, the opportunity for partners to help mentor customers through their digital transformation is massive. Customers need partners that have a comprehensive DevOps and digital transformation offering.
The DevOps pipeline
A true digital transformation solution through DevOps requires an understanding of the DevOps pipeline. There are over one hundred tools in the DevOps pipeline, and each one requires a specific skill set. Successful DevOps partners are creating consolidated, prepackaged DevOps offerings that simplify this complexity for their customers.
For a comprehensive look at DevOps tools, I recommend the XebiaLabs Periodic Table of DevOps Tools. I use this tool to inventory a partner's or customer's solution and skill set. For partners, using this table can help you understand the various types of DevOps tools and the skills required for using them.
DevOps tool types
Source control management
Source Control Management is any kind of practice that tracks and provides control over changes to source code. In DevOps this includes source code, configuration files, database artifacts, documentation, automation scripts, etc.
Database management tools allow the automation of building, testing, and deploying database changes with the integration of source control management.
Build systems automate the creation of executable applications from source code. Building incorporates compiling, linking and packaging the code into a usable or executable form.
In the new DevOps world developing includes assembling packages of code/binaries to create a solution. These Repository managers aim to standardize the way enterprises treat all package types used in the software development process. They give users the ability to apply security and compliance metrics across all artifact types. Universal package managers have been referred to as being at the center of a DevOps toolchain.
In continuous integration, each member of a development team integrates their code continuously with the rest of the team. A “check in” results in an integrated code base which automatically builds, conducts unit tests, and validates code. Continuous integration software automates this process and does this by integrating with various other build, Repository management and test tools.
Configuration and provisioning
These tools focus on configuring and managing computers, virtual machines, and cloud-based platforms. Defining infrastructure as code allows applying the DevOps process to infrastructure operations.
Deployment tools focus on deploying applications to provisioned and configured environments
Environments - containerization and orchestration
These environments provide the ability to deploy complex multi-container apps on multiple machines including configuring storage and networking. They provide OS virtualization and cluster management, and many continuous integration and configuration and provisioning tools integrate with these environments.
Higher level tooling
There are tools that cut across the many stages of DevOps. They are utilized by different teams and personnel, including operations, development, security, and database administrators.
- Testing or unit testing frameworks that help simplify and automate the process of unit testing, performance testing and integration testing
- Release management - the process of managing, planning, scheduling, and controlling a software build through different stages and environments; includes testing and deploying software releases
- Collaboration tools that enable agile project management, collaboration, and communication with in the DevOps supply chain/pipeline
- Operational insights - tools that allow the consolidation of logging, monitoring, and analytics of application-generated data. These tools allow you to automate specific application states through alerting
- Security tools, like data integrity tools that monitor and alert based on file or network changes. The goal is to secure the DevOps pipeline and environment from accidental or malicious changes
Customers need DevOps and digital transformation partners, specifically partners with the skills and expertise that can cover the growing set of Open Source DevOps tools. Partners with an adaptable, efficient digital transformation offering will allow our customers to achieve more. Microsoft’s partner team looks forward to working with you on your DevOps and Digital transformation offerings.
- Microsoft DevOps
- DevOps on Channel 9
- Microsoft Ignite DevOps sessions
- Microsoft Build DevOps sessions
- DevOps sessions at WPC 2016
- DevOps in the Enterprise blog
Open Source Solutions (OSS) Partner Community
- Sign up for the January 31 partner call about DevOps
- Community call schedule
- Blog series
- Yammer group
- Training and enablement