September 22, 2021
How DevOps Is Revolutionizing IT
The pandemic has only accelerated the impact of DevOps in nearly every industry. Here's how DevOps principles, concepts and tech led to this increased innovation.
IN THIS ARTICLE
DevOps Is Changing IT
DevOps has swept through IT departments in virtually every industry around the world in recent years. Gartner states the approach “represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach.”
DevOps is a methodology that enables fast, frequent delivery of value to end users (or customers) by decreasing the time it takes to produce and provide features and services they need or enjoy. This can be accomplished by breaking down historical barriers between development and operations departments, enabling a frictionless experience for both. In a DevOps environment, operations and development engineers participate and collaborate with one another throughout the entire service lifecycle — from design to development and production support. While the idea of breaking down organizational silos is not new, DevOps has taken off in part because of its alignment with lean and agile workflows.
One of the primary benefits of DevOps is the increased ability to iterate as new information comes in, with teams continually tweaking apps in response to user behavior. This ultimately leads to workflows that create the greatest possible value for an application’s end users. At the center of DevOps is a unified, relentless pursuit of delighting customers with a great experience.
DevOps recognizes that both service delivery and the way an application and systems interact with one another should be top concerns throughout application development and operations because of the outsized impact these factors have on the eventual product. While DevOps was seen as cutting-edge only a few years ago, it is now solidly part of the IT mainstream — a proven practice that creates a significant advantage for organizations that implement it effectively. In particular, organizations are using DevOps practices to help them achieve benefits such as automation, detailed service measurement, orchestration, self-healing, configuration management and security.
WHAT ARE CONTAINERS?
A number of tools can help streamline DevOps initiatives. One of the most crucial is containerization, a technology that allows IT teams to develop and maintain applications.
Containers are standalone units of software that allow applications to move easily between computing environments. They include everything needed to run an application, including code, system tools and settings.
Containers have become central to many DevOps strategies. When used in a DevOps environment, containerization can greatly accelerate the development process, since containers can be created, replicated or destroyed in seconds.
Containers simplify the rapid updates of DevOps. By writing, testing and deploying applications inside containers, organizations create a consistent environment that makes it easier for different teams to collaborate.
Strategies for DevOps Success
IT and business leaders often wish they could implement DevOps in their organizations with the simple swipe of a credit card. While DevOps implementation is far more complex than that, there are a number of practices and strategies that can help organizations set themselves up for success.
CONTINUOUS INTEGRATION/ CONTINUOUS DELIVERY
CI/CD describes the frequent delivery of apps to customers by integrating development teams with day-to-day data center operations. This fundamental concept sets DevOps apart from other development and deployment models. It requires organizations to break down silos so teams can work together to deploy code as quickly as possible.
App modernization is the process of modernizing platform infrastructure, internal architecture and other features of legacy applications. Legacy applications can still have an agile development process. In application modernization, the focus is on breaking up large monolithic applications into small, decoupled microservices. Containers are popular largely because they support this pattern.
INFRASTRUCTURE AS CODE
IaC enables IT teams to manage IT infrastructure using configuration files. Since infrastructure configuration takes the form of simple code in IaC, IT teams can easily edit, copy and distribute as they would with any other source code file. This contrasts with more cumbersome practices associated with managing physical infrastructure.
Security controls, policy and governance should be considered at every phase of software development. Security teams should be consulted during planning phases. Tools can be embedded directly into development environments to give instant feedback. Many types of scanning and testing can be performed on an application and where code is stored.
A cloud-native DevOps approach can deliver instant business insights and control costs by making it easier to monitor consumption and usage rates. The best cloud tools also allow organizations to become infrastructure-agnostic, which increases flexibility and agility. Cloud-native applications also allow organizations to control application lifecycles from inside the application.
Learn how CDW can help you modernize your applications and streamline delivery through DevOps.
Top DevOps Challenges
LACK OF ATTENTION TO CUSTOMER VALUE
Clear goals that are tied to end-user value will ultimately generate the right buy-in.
INSUFFICIENT CHANGE MANAGEMENT
Rather than focusing their efforts exclusively on DevOps tools, organizations should carefully consider team culture and get staff on board.
LACK OF COLLABORATION
DevOps efforts extend beyond infrastructure and operations teams. Organizations should break down barriers between teams and coordinate efforts across silos.
TOO MUCH, TOO SOON
A “big-bang approach” — launching DevOps in a single step — can be risky. Instead, organizations should implement DevOps incrementally and iteratively.
Instead of expecting DevOps to produce transformative results overnight, organizations should agree on objectives and metrics, and track success over time.
Key Elements of DevOps Processes
While DevOps is primarily a set of practices (as opposed to a technology solution that can be purchased off the shelf), organizations will want to standardize on common processes and tools to drive the culture change needed for success. It is common for internal stakeholders to resist these changes. IT and business leaders must communicate effectively to show employees the value of adopting a new way of doing things.
Managing containers effectively is essential. While containerization offers significant benefits, the approach requires management systems so that environments can continue to work effectively even after the number of containers in an organization becomes too large for a single IT team to handle. In fact, some of the advantages of containers (including the ease and speed with which they can be created or destroyed) are the same things that sometimes make them difficult to manage. While a single container can be easily manipulated by any user, the ability to spin up thousands or even millions of containers in very little time can lead to significant management challenges.
4 Technologies That Enable DevOps
CONTAINER MANAGEMENT PLATFORMS
An effective container management platform can ease setup, simplify administration, provide continuous health checks and automate processes from load balancing to orchestration. Google’s Kubernetes is an open-source platform for managing containerized workloads and services. Other open-source tools also provide container management, and some vendors have begun creating management platforms (for example, VMware’s Tanzu) to deliver the capabilities that organizations need.
APP MODERNIZATION TOOLS
Although containers are central to many application modernization efforts, organizations often require additional application modernization tools. Dedicated app modernization solutions can speed Kubernetes enterprise adoption, simplify cloud migration and provide centralized management for clouds and apps. Data management tools are another important component of application modernization. According to IDC (PDF), data is the “glue” for application modernization efforts.
To secure DevOps processes, organizations must embed governance and cybersecurity practices. This means investing in tools and processes such as identity and access management, privilege management, firewalling/unified threat management, code scanning and review, software composition analysis, configuration management, and vulnerability management. Some vendors offer tools designed to improve security around DevOps, applying a set of security checks throughout the process.
MONITORING AND TESTING TOOLS
Monitoring tools can help organizations better manage their DevOps environments. Resource monitoring solutions gather data on how servers are running, network monitoring tools examine data flow through the network and application performance monitoring tools collect data on how a given service is performing. Automated testing solutions help organizations with configuration, integration and delivery management.
Speak with a CDW Amplified™ Development expert about your software development and application modernization needs.
Skills for DevOps Success
The capabilities necessary to ensure a successful implementation of DevOps go far beyond application development. The DevOps Institute polled IT professionals about the must-have soft skills for DevOps success. Here are the top five results:
The percentage of IT and business leaders who consider collaboration and cooperation a must-have skill. Further, 81% cite interpersonal skills, 79% cite problem-solving, and 70% cite flexibility and adaptability.
The percentage of surveyed leaders who consider leadership an important soft skill, followed by product thinking (47%) and risk-taking (37%).
The percentage of IT and business leaders who say application development is a must-have DevOps skill. Even more (52%) say IT operations knowledge and security practices are critical.
The percentage of IT and business leaders who cite knowledge of quality assurance among must-have technical skills. Others include disaster recovery (31%), testing (31%) and networking (28%).
Services That Support DevOps
While new technology tools are necessary to enable effective DevOps initiatives, they are not sufficient on their own. Often, organizations find they must rely on external partners for services that help them deploy and manage their new DevOps environments. Organizations also should be prepared to revisit past decisions. A tool or partner that is beneficial today might need to be changed later.
DEVOPS AS A SERVICE
Some organizations that lack internal expertise opt for a DevOps as a Service model. In this approach, an external provider supplies an organization with the tools needed to enable DevOps and connects these tools together so they work as a cohesive unit. This approach is a good fit for organizations that aren’t able or inclined to hire skilled DevOps professionals or to train existing employees.
A third-party partner can help an organization see its current environment with fresh eyes to pinpoint the greatest areas of opportunity and the most pressing challenges that might hinder a DevOps initiative. When an organization lacks internal staffers with significant DevOps expertise, advisory services can bring in experts who have worked with dozens of organizations and seen the real-world results of DevOps and containerization.
OTHER VALUABLE DEVOPS SERVICES
Implementation: A partner can guide an organization through the implementation of its DevOps plans. This often includes not only the implementation of new tools but also help with the change management component of a DevOps initiative — frequently the most challenging part of such a big shift. Here again, an external set of eyes is essential to help leaders determine whether internal stakeholders are following best practices and embracing the processes that will lead to improved products and a nimbler IT ecosystem.
Security services: Engagements such as vulnerability assessments can give business and IT leaders a realistic view of how effective their current cybersecurity tools and practices are — and can lead to specific recommendations for improvement. Given the significant changes that a DevOps initiative can bring to an IT environment, it is important to ensure these changes do not inadvertently create new security gaps.
Software design and consulting: These services supply organizations with the skills, knowledge transfer and real-world experience needed to manage their new software development lifecycles from end to end.
Application modernization: Finally, many organizations require assistance with their application modernization efforts. From help getting internal staffers up to speed with containerization to data management, an application modernization engagement can spell the difference between a highly successful DevOps initiative and a less successful effort. By getting this piece of their DevOps efforts right, organizations can ensure more nimble applications that reduce risk to the organization and meet the needs of the business.
Story by Kyle Jepson, a senior DevOps field solution architect for CDW. He assists clients with navigating the ecosystem of DevOps and cloud-native solutions and services. He is responsible for delivering technology demos, training and scoping service engagements to help clients build core capabilities for their digital initiatives. He is a Certified Kubernetes Administrator.
Story by Jeremy Guthrie, a DevOps, orchestration and automation technical architect and a leader within CDW's Managed Services organization who works to balance customers' evolving IT strategies with compliance and business objectives. In his 21 years with the company, Guthrie has worked in network and systems administration, application architecture, services creation, operations efficiency and automation.