Before listing the DevOps toolchain, let me introduce
what DevOps is. Although the concept of DevOps has no standard definition, we can trace its historical development over the past nine years, listing a few relatively clear and different. So that we can understand the connotation of DevOps more comprehensively.
[2009] DevOps is a collective term for a set of processes, methods and systems, used to promote communication, collaboration and integration between development, technology operations and QA departments;
[2011] Quickly respond to business and customer needs, improve communication between IT departments through behavioral science to speed up the delivery of IT organizations to meet the goal of rapid production of software products and services
[2015] DevOps emphasizes communication, collaboration, integration, automation, and measurement to help organizations quickly develop software products and improve operational performance and quality assurance; emphasizes the process of automated software delivery and infrastructure changes to establish a culture and environment, By building, testing, and releasing software, you can release software quickly, frequently, and reliably.
[2016] The goal of
DevOps is to establish a pipelined just-in-time (JIT) business process to maximize business results, such as increasing sales and profit margins, increasing business speed, and reducing operating costs.
[2017]
A software engineering practice aimed at unifying software development (Dev) and software operations (Ops), closely integrated with business goals, and vigorously promoting automation and monitoring in software construction, integration, testing, release to deployment, and infrastructure management . The goal of DevOps is to shorten the development cycle, increase the deployment frequency, and release more reliably.
Simply put, DevOps is a natural extension of Continuous Build (CB), Continuous Integration (CI), and Continuous Delivery (CD) in agile R & D, extending from the R & D cycle to the right to deployment, operation and maintenance , Not only through the "demand, development and testing" link of R & D, but also through the "research and development" and "operation and maintenance". DevOps is suitable for applications such as "Software as a Service (SaaS)" or "Platform as a Service (PaaS)". Its salient features are:
Connect users, PMO, requirements, design,
development (Dev), testing, operation and maintenance (Ops) and other upstream and downstream departments or different roles
Open up tool chains in various fields such as business, architecture, code, testing, deployment, monitoring, security, and performance.
Next, we will start DevOps tool chain.
The main tools of the DevOps basic tool chain, a relatively complete tool, need to cover about 14 types of tools:
Coding version control: maintain and control changes in the source code repository
Collaborative development
Build: version control, code merge, build status
Continuous integration
Test: automated test and test report
Packaging: Binary warehouse, Docker image warehouse
Deployment tools
Containers: Containers are lightweight virtualization components that run application loads in an isolated manner. They run their own processes, file systems, and network stacks. These resources are virtualized by the operating system running on the hardware.
Release: Change management, automatic release
Orchestration: When considering microservices, service-oriented architecture, converged infrastructure, virtualization and resource preparation, collaboration and integration between computing systems is called orchestration. By leveraging defined automated workflows, orchestration ensures that business needs are matched to your infrastructure resources
Configuration management: Infrastructure configuration and management, maintaining the latest and detailed records of hardware and software-including versions, requirements, network addresses, design and operation and maintenance information
Monitoring: performance monitoring, user behavior feedback
Warning & Analysis Tool
Maintenance tools