リソース

Whitepaper

Accelerate your business with enterprise open source and DevOps

EXECUTIVE SUMMARY

In contrast to even tightly run enterprise software practices, the manner in which big Internet businesses such as Amazon and Netflix write and deploy code has been an eye-opener. Amazon Web Services deploys code every 11 seconds on average, yet only about 0.001% of those deployments cause any kind of outage.1 Even given their differences from more traditional enterprises, these companies nonetheless set benchmarks for what is possible. Amazon and Netflix got to where they are using DevOps, and enterprise IT organizations must do likewise.

DevOps applies open source principles and practices to culture, automation, and platform design. It delivers increased business value and responsiveness through rapid, iterative, and high-quality IT service delivery. It helps to connect different IT environments.

As a leading contributor of code in a wide range of upstream open source communities relevant to DevOps, Red Hat® can help IT organizations of all types derive the maximum benefit from upstream innovation and adopt open source best practices to streamline their DevOps initiatives. This includes the use of open source tools such as Ansible and Red Hat OpenShift to provide a DevOps on-ramp toward making automation pervasive and consistent across all of IT. It also addresses putting the right platform in place for DevOps, whether modernizing existing systems, building a new dynamic software-defined infrastructure, using resources from a public cloud provider, or—as is often the case—a combination of these different models.

In this paper, we discuss three key components of the DevOps journey:

  • Instilling a culture of collaboration
  • Automating to accelerate and improve application delivery
  • Building a dynamic, containerized software-defined platform

WHY DEVOPS MATTERS TODAY

Organizations must become increasingly digital as more and more customer interactions center on the web and mobile devices. Furthermore, customer expectations for these interactions are shaped by consumerized IT services such as summoning a car with the Uber app or making a purchase on Amazon. Many traditional businesses have not kept pace. For example, a 2015 survey conducted by Accenture found that “only 42 percent of shoppers found it easy to complete a purchase using a mobile device.

DevOps represents the opportunity for IT organizations to increase their pace by broadly embracing open source culture to invigorate software development’s role as an engine for increasing the value of business initiatives. DevOps increases the speed and flexibility with which new features and services are delivered. Automation and more agile and iterative development, deployment, updates, and operations also improve quality and security.

DevOps allows organizations to embrace a “go fast” mode of IT while not only maintaining, but incrementally modernizing their classic IT with its slower and more tightly controlled rate of change management.2 Linking these classic IT and cloud-native IT modes is key to sharing the rich set of data and applications on which the business depends and making them accessible throughout the entire IT environment.

WHAT IS DEVOPS?

DevOps is an approach to culture, automation, and platform design for delivering increased business value and responsiveness through rapid, iterative, and high-quality IT service delivery. It applies open source principles and practices with:

  • A culture of collaboration valuing openness and transparency.
  • Automation that accelerates and improves the consistency of application delivery.
  • A dynamic software-defined, programmable platform.

The path to this DevOps culture is a journey involving many stages of maturity for an organization. One of the key transformational elements is developing trust among developers, operations, IT management, and business owners through openness and accountability.

This journey is important because DevOps is the most effective and secure approach to developing, deploying, and operating applications on a cloud-native infrastructure. Greenfield cloud-native deployments should use DevOps. However, existing classic IT should also transition to DevOps, albeit at a pace that will often be more measured and more incremental, by automating and taking other steps that deliver quick payoffs.

OPEN YOUR ORGANIZATION

Open source is integral to DevOps, both as a source of innovative tooling and as a model for the iterative development, open collaboration, and transparent communities—forming the culture that DevOps requires to succeed.

Open source development happens in unique environments where collaboration is key. At Red Hat, we’ve found that DevOps directly builds on our experience with doing upstream-first development in open source communities and helping our customers’ IT organizations derive the maximum benefit from upstream innovation.

Ultimately, DevOps becomes most effective when its principles pervade an organization rather than being limited to developer and IT operations roles. This includes putting the incentives in place to encourage experimentation and (fast) failure, transparency in decision-making, and reward systems that encourage trust and cooperation. The rich communication flows that characterize many distributed open source projects are likewise important to both DevOps initiatives and modern organizations more broadly.

AUTOMATE TO ACCELERATE

Figure 1: A mature DevOps process is highly automated with granular monitoring and feedback loops.

When thinking about the toolchain associated with DevOps, a good place to start is the automation of the continuous integration/continuous delivery (CICD) pipeline. The end goal is to make automation pervasive and consistent using a common language across both classic and cloud-native IT. For example, Ansible allows configurations to be expressed as “playbooks” in a data format that can be read by both humans and machines. This makes them easy to audit with other programs, and easy for nondevelopers to read and understand. Even narrowly targeted uses of automation are a highly effective way for organizations to gain immediate value from DevOps.

Automation is a big win in part because it eliminates the labor associated with repetitive tasks. Codifying such tasks also documents them and ensures that they’re performed correctly, securely, and repeatedly across different infrastructure types—and at different scale points.

Closely related to automation is self-service, which makes both developers and operations more productive by making them more self-sufficient. There are many approaches and stages to self-service. Management tools like Ansible Tower and Red Hat CloudForms can deliver end-to-end self-service in traditional infrastructures, while a full Platform-as-a-Service (PaaS) environment like Red Hat OpenShift provides self-service as part of an integrated toolset in greenfield, cloud-native environments.

A typical automated workflow begins with operations provisioning a containerized development environment, whether a PaaS or more customized environment. This provides an example of how a mature DevOps process separates operations and developer concerns; by providing developers with a dynamic self-service environment, operations can focus on deploying and running stable, scalable infrastructure while developers focus on writing code.

Automation then ensures that the application can be repeatedly deployed. Many different types of tools are integrated into the DevOps workflow at this point. For example:

  • Code repositories, like Git
  • Container development tools to convert code in a repository into a portable containerized image that includes any required dependencies
  • Vagrant for creating and configuring lightweight, reproducible, and portable development environments
  • IDEs like Eclipse
  • CI/CD software like Jenkins

Mature DevOps systems may push the code directly to production once it has passed automated testing. However, it’s also common to have a manual review and approval step between the CI and the CD stages of the pipeline.

DESIGN FOR DEVOPS

While DevOps doesn’t require a specific infrastructure or tooling, in practice, the most rapid iteration and high-quality service delivery greatly benefit from having the right modern platform in place. This view finds strong support among DevOps early adopters, such as those surveyed by IDC for a 2015 study.3 93% said new enabling technologies are required for DevOps success.

At the platform level, a key trend pushing the use of new technologies is a shift from today’s static platforms to dynamic, software-defined platforms that are programmable, i.e. controllable through APIs. The OpenStack® project, to which Red Hat is a major contributor, is an example of how software-defined storage, software-defined networking, identity management, and other technologies can come together as a complete programmable infrastructure.

Containers are another important element of modern distributed application platforms. Containers modernize IT environments and processes, and provide a flexible foundation for implementing DevOps. At the organizational level, containers allow for appropriate ownership of the technology stack and processes, reducing hand-offs and the costly change coordination that comes with them. This lets application teams own container images, including all dependencies, while allowing operations teams to retain full ownership of the production platform.   

With a standardized container infrastructure in place, IT operations teams can focus on building out and managing clusters of containers, meeting their security standards, automation needs, high availability requirements, and ultimately their cost profiles. The Red Hat Host Platform includes all the necessary tools to define containerized applications and run them.

Specific types of applications will require additional components, many of which can be delivered in container form. Middleware libraries, services, frameworks, and tools are widely used by developers to build enterprise applications, integrate applications and data, and automate business processes; these can be integrated with an enterprise PaaS. For example, Red Hat xPaaS Services makes middleware available through OpenShift. An Mobile Backend-as-a-Service (MBaaS) accelerates the development, integration, deployment, and management of mobile solutions with features like centralized security, policy management, and access control.

RED HAT’S APPROACH TO DEVOPS

Red Hat is your best DevOps partner. In part, this is because we have a comprehensive portfolio of open hybrid cloud technologies on which to run your DevOps implementation and to automate your application development and delivery processes.

We can also help you accelerate the adoption of DevOps by assessing your software delivery environment and introducing tools and methodologies for improving application life-cycle management. We consider your organization’s people, processes, and technology to establish a foundation that addresses priority areas such as standardization, optimization, automation, monitoring, management, and delivery pipelines.

More broadly, we have years of experience working with open source communities and making open source safe and consumable for enterprises.

This is critical, because, in the aforementioned IDC survey,3 82% of respondents said that open source was important and a significant, or even critical, enabler for their DevOps initiatives. Furthermore, experienced DevOps users were both more likely to be using a “significant” amount of open source and to cite key DevOps benefits such as agility and autonomy. The most important open source DevOps benefits cited were developer team productivity/agility, greater developer autonomy, faster business innovation, and IT operations team productivity/agility.

The importance of open source to DevOps highlights the advantages of the way Red Hat works with diverse communities and drives innovation as a leading contributor of code in a wide range of upstream communities relevant to DevOps such as docker, Kubernetes, and OpenStack. Red Hat also has a long track record of delivering infrastructure and application stacks based on open source components. For example, Red Hat deploys open source DevOps tooling at scale; 2.8 million apps run on OpenShift Online with Jenkins optionally available for CICD. And no less important than knowing how to harness the power of the open source model is understanding how to apply it in the context of existing organizations with demanding enterprise IT requirements.

Furthermore, with Red Hat, you join broad and deep communities including one of the largest developer ecosystems built around JBoss and OpenShift technologies and partners, the most certified applications applications available on any Linux® platform—and, most recently, the creation of a robust certification program for containerized applications.

At Red Hat, we have the capabilities and the know-how to help you take advantage of open source innovation in cloud and DevOps. And that means you can do more for your customers and your business.

1  2014 State of DevOps Report by Puppet Labs, IT Revolution Press, ThoughtWorks.

2  A variety of different terms are used to denote the contrast between IT that is optimized for rapid iteration (cloudnative, Mode 2, third platform) and IT that is optimized for stability (classic IT, Mode 1, second platform). This is a simplified model of real-world IT complexity of course but it nevertheless highlights the important priorities associated with different parts of an IT organization.

3  DevOps, Open Source, and Business Agility: Lessons Learned from Early Adopters. An IDC InfoBrief, sponsored by Red Hat. June 2015.