DevOps Engineering and Quality Safety Under Big Data Intelligence
Source: Internet
Author: User
Keywordsdevops engineering devops quality big data devops devops and security
Through DevOps, we can often implement continuous development and release of software for end users. DevOps also allows developers and operations to work together more efficiently and effectively.
Traditional software organizations set development, IT operations, and quality assurance as separate departments. In this environment, how to adopt new development methods (such as agile software development) is an important topic: according to the previous working method, development and deployment do not require IT support or QA in-depth, cross-sector support, but Requires extremely close multi-sector collaboration. However, DevOps is not just about software deployment. It is a set of processes and methods for communication and collaboration between these departments.
Enterprises that need frequent delivery may need a general understanding of DevOps. Flickr has developed its own DevOps capabilities to enable it to support the business unit's requirement to "deploy 10 times a day"-if an organization wants to produce applications with multiple users and multiple functions, its deployment cycle will be short. This capability is also known as continuous deployment and is often linked to lean entrepreneurial methods. Since 2009, relevant working groups, professional organizations and blogs have emerged quickly.
The introduction of DevOps can have a profound impact on product delivery, testing, feature development, and maintenance (including — once rare but now common — “hot fixes”). In organizations that lack DevOps capabilities, there is an information “gap” between development and operations—for example, operators require better reliability and security, developers expect infrastructure to respond faster, and business users demand Is to release more features to end users faster. This information gap is the most common problem.
The following factors may prompt an organization to introduce DevOps:
1. Use agile or other software development processes and methods
2. The person in charge of the business requires to accelerate the rate of product delivery
3. Virtualization and cloud computing infrastructure (which may come from internal or external suppliers) are becoming more common
4. Popularization of data center automation technology and configuration management tools
5. There is a view that the dominant "traditional" American management style ("Sloan model vs Toyota model") will lead to "chimney-style automation", which will create a gap between development and operations, so DevOps capabilities are required To overcome the problems caused by it.
DevOps is often described as "a more collaborative and efficient relationship between the development team and the operations team." Due to the improvement of the collaborative relationship between the teams, the efficiency of the entire organization has been improved, and the risk of the production environment accompanying frequent changes can also be reduced.
DevOps impact on application release
In many enterprises, application publishing is a stressful and high-risk activity involving multiple teams. However, in organizations with DevOps capabilities, the risk of application release is very low for the following reasons [2]:
(1) Reduce the scope of changes
Compared to the traditional waterfall development model, adopting agile or iterative development means more frequent releases and fewer changes per release. Since deployments are frequent, each deployment will not have a huge impact on the production system, and applications will gradually grow at a smooth rate.
(2) Strengthen release coordination
Rely on a strong release coordinator to bridge the skills gap and communication gap between development and operations; use collaboration tools such as spreadsheets, teleconferences, instant messaging, enterprise portals (wikis, sharepoints) to ensure that all relevant personnel understand the changes Content and full cooperation.
(3) Automation Powerful deployment automation methods ensure the repeatability of deployment tasks and reduce the possibility of deployment errors.
Compared with the large-scale and infrequent releases of traditional development methods (usually in "quarter" or "year" units), the agile method greatly increases the frequency of releases (usually in "day" or "week" units)
DevOps principles and practices
Some practices that help lay a strong cultural foundation for DevOps are:
Thinking about perspectives: Cultural change must be considered from the perspective of drivers and participants.
Flexibility: In special circumstances, the organization must be flexible enough to even temporarily abandon the DevOps value.
Integration process: A process must be established to integrate the changes made.
Agile decision-making: The team must have agility and be able to determine the tools they need to use based on their skills and expertise.
Transparency: There should be no hidden agenda between Dev and Ops teams.
DevOps culture is best defined as a way of open communication, shared responsibility, mutual respect and trust. If the cooperation between the two teams is not handled optimally, it will negatively affect productivity, software quality and service quality.
Working collaboratively to achieve integration in today’s environment, for example, testing mobile applications requires not only testing multiple devices from different manufacturers, but also testing multiple operating systems, which is obviously very challenging and requires different method.
The mature DevOps environment makes the development and operations teams become each other's customers and suppliers. Although the development team needs the Ops team to help manage systems for large-scale information systems, the Ops team needs the development team to assist in the development of operating system tools and applications, and implement features to improve security, performance, and stability. Essentially, this dependency forms the basis for building a DevOps bridge.
Although some people think of DevOps as a job description, others think it is a skill. DevOps practices can be categorized, including the concepts of quality assurance, services, structure and standards.
The different views of DevOps require us to look at DevOps from multiple perspectives. This allows us to unify DevOps conflict definitions under different names, such as DevOps as a role in the SDLC process, DevOps as a skill set, and DevOps as a conceptual framework to support the development and operation of information systems.
Once an appropriate DevOps environment is established, it will make a significant contribution to the development of the organization.
Contribution to quality assurance (QA)
DevOps can make a significant contribution in the field of information system quality assurance, linking development, operations and customer support teams with customers. QA is usually difficult to predict, and DevOps has made the above parties closer through cooperation and tools, thereby improving the quality assurance process. Compared with the past, DevOps also provides more opportunities to collect more data today. In order to have a greater impact, QA responsibilities can be assigned to employees performing development and operations tasks. By using behavior-driven operations (BDOps), different roles of QA can specify how the system must provide the required UX.
Contribution to service The DevOps principle also proves to be beneficial in the Service Management Framework (SMF), because services increasingly rely on cooperation between Dev and Ops personnel. The integration of development and operational activities forces organizations to reassess their business models. Organizations sometimes need to evaluate their business models to use service-based models as software-as-a-service (SaaS), and because DevOps has certain competitive advantages, it adds a lot of value as part of the new model.
In addition, resources previously owned by the company are now provided as services, such as platform as a service (PaaS) and infrastructure as a service (IaaS). Since services rely heavily on seamless cooperation between Dev and Ops teams, it is beneficial to support DevOps principles in SMF.
Contribution to information system development
DevOps is a major change in information system development. DevOps narrows the gap between developers, operations and end users, allowing for earlier problem detection. In the past, every Scrum sprint software will work according to the specifications, but the actual end user will not verify these software. Through DevOps, we can often implement continuous development and release of software for end users. DevOps also allows developers and operations to work together more efficiently and effectively.
Therefore, DevOps practices help save time and money while improving quality and time to market. Yes, you may need to spend time and resources to set up automation.
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.