First, what is DevOps?
DevOps (Development and Operations) is a set of processes, methods and systems collectively, to facilitate the development (application / software engineering), communication between technical operations and quality assurance (QA) department, collaboration and integration.
It is an emphasis on “software developer (Dev)” culture of communication and cooperation between the “IT operation and maintenance technicians (Ops)”, Operations or Practice. Through Automation “software delivery” and “schema changes” in the process, to make the build, test, distribute software to be more fast, frequent and reliable.
Its appearance is increasingly clear understanding of the software industry due to: In order to timely delivery of software products and services, development and operations must work closely together.
DevOps can be seen as a development (software engineering), technical operations and quality assurance (QA) the intersection of the three.
Traditional software development organizations, IT operations and quality assurance to each separate department. In this environment, how to adopt a new development methodologies (eg Agile Software Development), which is an important issue: According to previous work, the development and deployment does not require IT support or QA-depth, cross-sectoral support, but It requires extremely close multisectoral collaboration. However DevOps consider more than just software deployment. It is a set of processes and methodologies for these inter-departmental communication and collaboration issues.
Second, why DevOps:
Require frequent delivery companies may need to have a general understanding of DevOps.
DevOps can be introduced for product delivery, testing, development and maintenance functions (including ── once rare but now not uncommon ── “hot patch”) play a far-reaching impact. In the absence of DevOps capabilities of the organization, there are the needs of users and business information “gap” ── such as operations staff demand better reliability and security, infrastructure developer wants to respond faster, then between development and operations It is faster to release more features to end users. This information gap is the most common problem areas.
The following factors could prompt an organization to introduce DevOps:
- agile software development processes and methods
- business leader to speed up the rate of product delivery
- virtualization and cloud computing infrastructure (may come from internal or external suppliers) become increasingly common
- universal data center automation and configuration management tools
- there is a view that dominates the “traditional” American management style ( “Sloan model vs Toyota model”) will lead to “chimney Automation”, causing the gap between development and operations, requiring the ability to DevOps to overcome the problems caused.
Three, DevOps prospects:
DevOps impact on the published applications
In many companies, the application was published involving multiple teams, a lot of pressure, a high-risk activities. However, the organization has DevOps capabilities, the release of low-risk applications for the following reasons:
reduce the scope of change
Compared with the traditional waterfall development model, using agile or iterative development means more frequent releases, each release contains fewer changes. Since the deployment of regular, so each deployment will not cause a significant impact on the production system, the application will gradually grow in a smooth rate.
to strengthen the coordination of release
Published by strong coordinator to bridge the skills gap and a communication gap between development and operations; the use of spreadsheets, teleconferencing, instant messaging, enterprise portals (wiki, sharepoint) and other collaboration tools to ensure that all stakeholders understand the changes content and full cooperation.
Powerful deployment automation tools ensure that the deployment task repeatability, reduce the possibility of deployment errors.
Traditional development methods and the kind of large-scale, infrequent release (usually “quarter” or “year” as a unit) compared to Agile methods greatly enhance the release frequency (usually “days” or “weeks” as a unit)
DevOps methodology as the software delivery lifecycle management field, has been accepted by more and more IT companies. It brings business value is beyond doubt, “one day N deployments,” tens of minutes or even just a few minutes from the code to the line. DevOps has gradually become more enterprise software development and operation and maintenance of the new benchmark maturity.
- A large number of third-party vulnerability, the vulnerable, the investigation difficult: often appear in the external security breaches, such as third-party reliance, middleware, the underlying operating system, etc., and by the emergence of a kind of vulnerability, the most vulnerable to attack.
- Secondary failure: vulnerabilities found rolled back or update the system, thereby affecting the dependent system, causing secondary damage.
- Developers safety awareness weak: SQL injection and other vulnerabilities lead to data leakage.
Ie-lab Li Qiang Wei
For more articles you can follow us on: