DevOps: Integrating Development and Operations

DevOps is a software development practice that breaks down silos between developers and IT operations teams to deliver products and services quickly and efficiently in the cloud.

Key Takeaways

  • DevOps is a software engineering practice that unites development and IT operations to enable continuous deployment.

  • The goal of DevOps is to deliver usable functionality and business value within days or weeks instead of years.

  • DevOps best practices emphasize continuous testing, monitoring, and feedback.

  • Modern DevOps tools run best on a powerful, highly scalable cloud computing infrastructure.

author-image

作者

What Is DevOps and How Does It Work?

DevOps is a cross-disciplinary practice where application development (dev) works together with IT operations (ops) to improve product quality and accelerate time to market.

In a DevOps framework, developers and IT managers collaborate with experts in quality control, security, and support. The goal of this cooperative effort it to deliver code rapidly, in a seamless loop of continuous integration and continuous delivery (CI/CD).

DevOps builds on the frequent releases and CI/CD aspects of agile development methods but adds infrastructure management into the development process to make product delivery more flexible and dynamic.

That process integration, in turn, depends on the ongoing collaboration among teams, including business unit management, developers, quality assurance, and IT operations. A DevOps approach replaces silos, rigid job descriptions, and bottlenecks with a flexible, cross-disciplinary model that enables innovation and continuous improvement.

Cloud Computing and the DevOps Approach

When DevOps teams work in the cloud, they enjoy easier access to scalable hardware resources that can help build, test, and deploy new updates and offerings more quickly.

The popularity of cloud application delivery has led to widespread adoption of DevOps methods because they are well suited to the rapid, ongoing processes that are a key benefit of cloud operations.

In a traditional application delivery environment, a finished application might be handed off to IT operations for maintenance, with future upgrades managed on a predetermined schedule.

In cloud computing, however, the application stack is likely to continue changing after its initial deployment. That dynamism is a benefit because it helps the organization to continue improving its products and services. Those rapid iterations also pose a challenge, and a DevOps framework helps organizations to remain responsive and competitive in a rapidly evolving marketplace.

A DevOps team can be more efficient as well. For example, the multidisciplinary team can take advantage of virtualization and containerization in the cloud to develop and test applications in identical environments simultaneously and to provision additional resources as needed.

In fact, DevOps best practices are becoming essential to the success of cloud application development, especially for the "as a Service" (XaaS) product delivery method. XaaS applications are deployed in ongoing, continuous cycles. Organizations pursuing XaaS delivery require a nimble development process supported by flexible cloud resources that can scale and evolve quickly to meet new demands in the marketplace.

Applying DevOps Benefits

In a DevOps framework, code is released faster and more frequently than in other development approaches. New features can be delivered to the market sooner, as can bug fixes, so products and services can be adapted to suit customers' needs.

With its constant iterations, monitoring, and testing, the DevOps methodology supports ongoing improvement and innovation for cloud applications. In addition to providing a positive user experience, this aspect of DevOps can confer a strong competitive advantage.

DevOps can also help organizations to remain compliant with security best practices and regulations. Security management can be integrated, automated, and monitored continuously within the DevOps framework for better control and greater responsiveness.

DevOps Principles and Framework

The DevOps framework "offers speed, stability, quality, and security," according to consultants at Deloitte. However, a transition to DevOps typically requires changes in the entire organization and its management style.

Making the transition to DevOps means making four critical pivots: process, architecture, culture, and engineering (PACE). PACE helps you break down barriers by blending industry experience with engineering and culture".1

—Deloitte, "Setting the PACE for DevOps Transformation"

Adaptability: How to Begin Using DevOps in Your Team

According to collaboration software vendor Atlassian,2 there are four important guidelines for success in DevOps:

  • Clarify roles and responsibilities. As developers work more closely with operations teams, "it's time to understand who does what, plus identify any skill gaps," Atlassian advises.
  • Define working agreements. Atlassian also recommends that work styles and methods be defined up front. Examples might include a choice of project tracking tools or a pledge to limit after-hours communication.
  • Anticipate risks. Analyze gaps and develop a contingency plan before beginning a new project so DevOps team members are prepared for issues that might arise.
  • Conduct regular reviews. Engage the team in a retrospective analysis to encourage continuous improvement. Atlassian recommends monthly or even biweekly sessions.3

These strategies should be repeated with each new project and whenever there is a change in personnel that affects the DevOps team.

DevSecOps: Incorporating Security

Security is a critical element of cloud computing, so security processes and tools must be part of the DevOps framework. The integration of security with DevOps is so essential that it has earned its own name: DevSecOps.

When incorporating security capabilities into development processes and infrastructure, it's especially beneficial to position cloud workloads on Intel-powered platforms that include hardware-enabled security features. For example, the latest Intel® Xeon® processor-based platforms include Intel® Software Guard Extensions (Intel® SGX) to help enable confidential computing, Intel® Advanced Vector Extensions 512 (Intel® AVX-512), and Intel® Advanced Encryption Standard New Instructions (Intel® AES-NI) to help accelerate encryption, decryption, and security key generation.

To improve cryptography performance further, Intel® Workload Optimizer by Granulate detects and automatically optimizes cryptographic functions in the cloud. This and other cloud optimization tools help to safeguard cloud computing operations through encryption while reducing the impact on resource utilization or application performance.

DevOps Tools

When implementing a DevOps practice in the cloud, it can be helpful to bring in new tools to help automate aspects of the development and deployment processes and to monitor active applications and infrastructure.

Forrester analysts recommend driving DevOps with a hybrid cloud to offer more tools and services to developers in a range of cloud development environments. This approach can help organizations to attract and retain talented developers while maintaining cost controls and operational efficiencies.

Cloud Optimization Tools for DevOps

DevOps practitioners looking to embrace the cloud can benefit from cloud optimization and management tools that gather data, make recommendations, or optimize code automatically. The tools help to improve performance and reduce the costs of cloud computing.

To increase DevOps' effectiveness, Intel also provides a number of tuning guides for 3rd Gen Intel® Xeon® Scalable processor based systems, which can be applied to the server platforms that power many popular instances in the public cloud.