What Is DevOps? A Guide to the Basics

Written by Coursera Staff • Updated on

DevOps is an approach to working that emphasises the quick, incremental, and continuous delivery of products. Discover more about what DevOps is and how it can be used within an organisation, as well as learn about DevOps principles, practices, and tools.

[Featured image] A man in a blue shirt leads a DevOps meeting.

The term DevOps combines the words "development" and "operations." In practice, it's a union between the development and operations teams. DevOps is often thought of as a process, a culture, or a set of principles that enables organisations to deliver products quickly and continuously.

DevOps key purpose

DevOps was created in response to issues from longstanding workplace traditions of siloed teams—or completely separate teams for development, testing, and operations in relation to any single product. For example, in a company with a traditional process, an engineering team would write the product code, then hand it over to a testing team to test the product's functionality, and then pass it to an operations team to maintain the software long term.

This siloed structure isn't always conducive to efficiency, as each team has its own priorities, tasks, and timelines that don't necessarily align with the surrounding teams. The key purpose of DevOps is to create a more cohesive development cycle.

Using a DevOps approach, multiple teams are integrated into a single team. Testing might occur automatically and frequently throughout the process alongside product development, and all groups can be involved in long-term maintenance.

Additional benefits of a DevOps culture include improved team efficiency, increased release speed, and better feedback mechanisms.

DevOps lifecycle

The DevOps lifecycle is more integrative than a siloed software delivery process. Deploying products and updates happens continuously, less in a rigid, linear process. Because they work as a unit, each team member should be comfortable with each lifecycle stage, from initial ideation to assessing software quality and understanding user experience.

Throughout the development process, DevOps teams work as a unit through planning, developing, delivering, and monitoring stages:

  • In the planning stage, the team determines the problems it aims to solve and how it might solve them.

  • Next, they'll develop their product using a testing or production environment—either a simulated environment or a sampling of real-world users to try the updates before they're widely deployed—to build the best possible product.

  • Then, they'll deliver the product to their wider audience.

  • Finally, they will constantly monitor performance and feedback to incorporate into later iterations and product updates, moving them back to the planning stage.

What is agile software development?

Agile is an approach to project management and software development that centres around incremental and iterative steps to completing projects. Agile development centres around short-term projects that can encourage rapid delivery. The incorporation of Agile teams is said to be a precursor to organisations adopting DevOps practices. 

Placeholder

DevOps principles

There are a few core principles at work in DevOps. Largely broken down, they include:

Systems thinking: Systems thinking means considering the performance of an entire system instead of the performance of specific teams. This mindset ensures that all teams and employees feel responsible for producing good quality and discourages teams from passing defects downstream.

Culture: A successful DevOps culture is often tied to a spirit of improved collaboration, experimentation, and continuous learning. This might mean teams make sure time is allocated to improve work, teams are rewarded for taking risks, and members can learn from others within and without their teams.

Automation: DevOps emphasises automating as much as possible. This can reduce time spent on repetitive and time-consuming tasks and increase deployment speed. A DevOps team might, for example, automate testing processes so developers can receive feedback early and frequently.

DevOps practices

A couple of key practices make DevOps what it is. These include:

  • Continuous integration (CI): Continuous integration means continually integrating feedback from stakeholders and fixes into a product. This can mean automating processes in which fixes are integrated and creating a culture in which continuous integration happens.

  • Continuous delivery (CD): Continuous delivery is when changes to a product (likely your code) are integrated automatically so that the product is always in a deployable state. This means that code can be deployed in short time frames (daily, weekly, and so on).

Together, continuous integration and delivery are often called CI/CD. Continuous deployment takes these practices one step further by adding a routine of real-time monitoring, testing, and updating products after they launch.

Within a DevOps environment, organisations often release smaller, more frequent product updates that are more reactive to customer feedback rather than the large-scale, labour-intensive updates siloed teams may deploy.

Learn more about CI/CD with the University of Virginia's Continuous Delivery & DevOps course.

DevOps tools

While DevOps is considered a mindset first, several DevOps tools are used to automate various stages in a DevOps process. Here are a few.

  • Git: Git is a version control system. In DevOps, it’s used to keep track of code and is useful for team members to collaborate on projects and update existing ones.

  • Docker: Docker is used for containerising applications, which is the process of turning an application into a single package of software.

  • Jenkins: Jenkins is a tool used for building CI/CD pipelines, where developers can build, test, and deploy software.

  • Kubernetes: A container organiser, Kubernetes is used frequently in DevOps.

Get more comfortable using DevOps tools like Atlassian's Version Control with Git. Or, test your skills with an Azure DevOps Guided Project, all available on Coursera.

Placeholder

Continue learning about DevOps with Coursera.

Learning DevOps methods and skills can be useful to various people across the professional realm. You might be a product manager looking for ways to improve your team’s process or an IT professional looking for a new way to use your skills. Whatever your goals, you can start today by earning IBM's DevOps and Software Engineering Professional Certificate.

Keep reading

Updated on
Written by:

Editorial Team

Coursera’s editorial team is comprised of highly experienced professional editors, writers, and fact...

This content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.