Image Source: 2ndQuadrant
What is DevOps?
DevOps isn’t just about tools. It isn’t just about process. It isn’t just about culture. If you’re looking at DevOps through a lens that makes it solely about a single aspect of IT, you’re probably doing it wrong and probably won’t succeed.
Rather DevOps is an approach to culture, process, and tools. The high-level goal for DevOps is to deliver increased business value and responsiveness through rapid, iterative, and high-quality IT service delivery.
DevOps and Open Source
Open source plays a big role in DevOps because open source principles and practices are so relevant to creating the culture of collaboration valuing openness and transparency that DevOps requires to be successful. Approach DevOps as purely a technology problem and you’ll fail. Of course, this is true of many organizational initiatives going well beyond IT.
DevOps thus represents the opportunity for IT organizations to broadly embrace the open source culture that has proven to be such an effective development methodology. By so doing, they can invigorate software development’s role as an engine for increasing the value of business initiatives by breaking down silos and improving collaboration. This increases the speed and flexibility of delivering new features and services and improves quality through automation and more agile and iterative development, deployment, and operations.
DevOps and OpenShift
OpenShift supports productivity in this regard by allowing developers to focus on designing compelling user interfaces and appropriate distributed application architectures, not configuring firewall settings or tuning operating system resource limits. It also simplifies the integration and use of DevOps tooling such as containers, automated testing, and continuous build systems.
OpenShift is also valuable for the tools it provides operations working in a DevOps environment. Automating processes from development through ongoing operations is one of the central principles required for DevOps to work. Rapid iterative releases are core to a successful DevOps environment because, without automated test and release processes, it’s going to be difficult to dramatically increase the cadence of delivering new features, fixing bugs, and eliminating errors caused by manual processes.
Applications that are loosely-coupled or decoupled, reusable, and continuously adapted tend to be the best fit with DevOps and, therefore, greenfield cloud-native deployments should use DevOps. (Existing classic IT should also transition to DevOps–but use a slower-paced and more incremental approach.)
Putting It All Together
As we’ve seen, open source plays a key role in DevOps as a model for the iterative development, open collaboration, and transparent communities forming the culture that DevOps requires to succeed. However, open source also plays a role as a source of innovative tooling.
For example, at Red Hat we work with diverse communities and drive innovation in a wide range of upstream communities relevant to DevOps such as Docker, Kubernetes, OpenShift Origin, and OpenStack. We then deliver infrastructure and application stacks based on open source components.
Consider how OpenShift brings together key technologies and approaches in cloud infrastructure, containers, microservices, and DevOps. These elements mutually support and enable each other to create a more flexible and efficient foundation, applications that make the best use of that infrastructure, and a process and culture that develops and deploys those applications quickly and with high quality.
First are the services that are designed for and directly benefit administrators. This includes advanced scheduling and automated placement with regions and zones for configuring high availability. There’s also powerful declarative management for application services and the ability to manage user and team access while integrating with enterprise authentication systems.
However, at a higher level, OpenShift benefits operations because it can create a bright line between what is “operations” and what is “development”. Things get complicated and expensive when that line blurs: developers demand tweaks which fly in the face of any standardization or automation effort. Operations, on the other hand, creates inflexible rules for development platforms that prevent developers from doing their jobs. OpenShift decouples these two, and permits each group to do what they’re good at.
Organizations must become increasingly digital as more and more of their customer interactions revolve around the Web and mobile devices–interactions approached with expectations shaped by consumerized IT services such as summoning a car with the Uber app or making a purchase using Apple Pay. But the pace of traditional IT isn’t up to the rate at which new consumerized services need to be developed, delivered, and iterated over to keep up with rapidly changing technology trends, consumer desires, and competitive landscapes.
OpenShift offers a great example of how Red Hat brings an enterprise approach to open source DevOps tools. Open source is central to enabling the tools needed to implement DevOps and the cultural shifts needed to make DevOps initiatives successful. But, to date, most DevOps has been DIY and requires integrating a wide variety of different toolsets–just like people used to build their own Linux kernels. Red Hat provides enterprise-ready, integrated, downstream delivered DevOps tools so that IT organizations can put their resources, time, and energy into building differentiated applications for their business rather than creating tooling.