Keywordsdevops definition how devops works devops benefits devops tools what is devops
DevOps is important because it's a software development and operations approach that enables faster development of new products and easier maintenance of existing deployments.
What is DevOps
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from the Agile methodology.
How DevOps Works
Under a DevOps model, development and operations teams are no longer “siloed.” Sometimes, these two teams are merged into a single team where the engineers work across the entire application lifecycle, from development and test to deployment to operations, and develop a range of skills not limited to a single function.
In some DevOps models, quality assurance and security teams may also become more tightly integrated with development and operations and throughout the application lifecycle. When security is the focus of everyone on a DevOps team, this is sometimes referred to as DevSecOps.
These teams use practices to automate processes that historically have been manual and slow. They use a technology stack and tooling which help them operate and evolve applications quickly and reliably. These tools also help engineers independently accomplish tasks (for example, deploying code or provisioning infrastructure) that normally would have required help from other teams, and this further increases a team’s velocity.
Benefits of DevOps
1. Maximizes Efficiency with Automation
The late DevOps authority Robert Stroud said DevOps is all about "fueling business transformation" that encompasses people, process and culture change. The most effective strategies for DevOps transformation focus on structural improvements that build community. A successful DevOps initiative requires a culture—or mindset—change that brings greater collaboration between multiple teams—product, engineering, security, IT, operations and so on—as well as automation to better achieve business goals.
2. Optimizes the Entire Business
The biggest advantage of DevOps is the insight it provides. It forces organizations to "optimize for the whole system," not just IT siloes, to improve the business as a whole. In other words, be more adaptive and data-driven for alignment with customer and business needs.
3. Improves Speed and Stability of Software Development and Deployment
A multi-year analysis in the annual Accelerate State of DevOps Report has found that top-performing DevOps organizations do far better on software development/deployment speed and stability, and also achieve the key operational requirement of ensuring that their product or service is available to end users. But given the somewhat fuzzy definition of DevOps, how can an organization determine if its DevOps initiative is paying off? The 2019 Accelerate report also names five performance metrics—lead time (i.e., the time it takes to go from code committed to code successfully running in production), deployment frequency, change fail, time to restore and availability—that deliver a high-level view of software delivery and performance, and predict the likelihood of DevOps success.
Top 5 DevOps tools
1. Terraform
Terraform is an infrastructure management tool that allows you to properly build, change, and manage your infrastructure. You can think of Terraform as a supply tool. It helps you set up servers, databases, and other infrastructure that supports full-scale applications.
2. Ansible
Ansible can help you deploy applications, provision and configure management servers. Ansible is built in Python and maintained by RedHat, but it is still free and open source.
As a configuration management system, you can use Ansible to set up and build multiple servers. You can install Ansible on the control machine, without the need for Ansible to run on other servers, which can range from the web to applications and then to database servers.
3. Packer
Packer is another DevOps tool from Hashicorp. Packer written in Golang can help you create virtual images automatically. The process of manually building an image can be frustrating because it is error-prone, but Packer eliminates all of them.
For a single JSON file, you can use Packer to create multiple images. When it works for the first time, since nothing will interfere with its automated process, it can be guaranteed to work 100%. Many cloud service providers use images, and you can work seamlessly with these providers because Packer standardizes the creation of images for cloud environments.
4. Docker
Docker is a container technology that allows you to isolate applications in special environments. Containerization is similar to virtualization, except that the container does not start a complete operating system.
Using Docker containers, you can develop and deploy applications in these custom environments without worrying about compatibility issues. Your applications can run anywhere, as long as they are in a container.
To start a Docker container, you must create a Docker image through Dockerfiles. When starting from a Docker image, the Dockerfile contains the specifications required in the Docker container. You don't always have to build your own Docker image, because the official image is available on Docker Hub.
5. Kubernetes
ubernetes (K8s) is a Google open source tool that allows you to manage Docker containers. Because there are often a large number of containers running in production, Kubernetes makes it possible to orchestrate these containers.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.