In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-04-02 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/01 Report--
This article introduces the relevant knowledge of "what are the characteristics of DevOps". In the operation of actual cases, many people will encounter such a dilemma. Then let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!
I. the evolution history of software development
In the software industry, every concept is put forward to solve a specific problem. To understand DevOps, it is necessary to talk about the evolution of software development.
Traditional waterfall model
Requirements analysis, software design, programming, software testing, operation and maintenance.
The reasons for the elimination of the waterfall model
The division of each stage is completely fixed, and a large number of documents are produced between the stages, which greatly increases the workload.
Because development is linear, users can achieve results only at the end of development, thus increasing the risk.
Early errors wait until the final test and then find that this will have serious consequences.
Agile development model
The slow and tedious waterfall model evolved into agile, and the development team completed the software development in a short time, lasting no more than two weeks. Such a short release cycle helps the development team handle customer feedback and merge it into the next release along with bug fixes.
Although this agile SCRUM method brings agility to development, it loses the speed of agile practice in terms of operation and maintenance. The lack of collaboration between developers and operations engineers can still slow down the development process and release.
DevOps is created for better collaboration and faster delivery. Let's take a closer look at what DevOps is.
Note: it should be emphasized here that Dev in DevOps includes not only developers (developers) but also testers (testers).
II. DevOps
DevOps is a software development approach that focuses on communication, integration and collaboration among IT professionals to achieve rapid product deployment.
DevOps is a culture, sport, or practice that values communication and cooperation between "software developers (Dev)" and "IT operation and maintenance technicians (Ops)". Build, test, and release software more quickly, frequently, and reliably by automating the process of "software delivery" and "architecture change".
It is not difficult to extract from the concept:
DevOps solves the communication problem between Dev and Ops.
The purpose of DevOps is to quickly deploy
DevOps facilitates the quick, frequent and reliable release of software
DevOps emphasizes automation
What are the communication problems between Dev and Ops?
Ops values the stability, reliability and security of the system, while Dev thinks about how to release new versions and add new functions as soon as possible, which is a contradiction and conflict in itself, although their common goal is to provide software products or services for users.
Why does DevOps emphasize automation?
Improve efficiency: the manual work of Dev and Ops, if automated, will significantly improve the level of efficiency.
Reduce mistakes: even the most cautious people will inevitably make mistakes, especially in the face of repetitive work. Using automated tools to accomplish this kind of work can greatly reduce the error rate.
Maximize employee use: through automation, Dev and Ops can focus on more complex and strategic things. Colleagues also avoid hiring a lot of staff to cope with the increased workload.
Improve team confidence: manual repetitive work is freed through automation. It can not only enable employees to reflect greater value, but also let the products reach users more quickly, frequently and reliably, and improve the team's confidence in the products.
Will DevOps replace Agile?
Personally, I think DevOps is just a supplement to Agile, perfecting the problem of Agile between Dev and Ops. There is no inclusion or substitution relationship between the two.
III. DevOps process
DevOps's process, like its icon, includes: planning, coding, building, testing, releasing, deploying, operation and maintenance, monitoring, and feedback.
The reason why DevOps can be deployed quickly is that DevOps has a set of automated continuous integration and deployment system.
There are many "ongoing" in DevOps, including: continuous development, continuous testing, continuous integration, continuous deployment, continuous monitoring, and continuous feedback.
Sustainable development
Unlike the waterfall model, DevOps software deliverables are decomposed into multiple task nodes with a short development cycle. This phase includes the coding and build phases, and uses tools such as Git and SVN to maintain different versions of the code, and tools such as Ant, Maven, Gradle to build / package the code into executable files that can be forwarded to the automated test system for testing.
Continuous testing
The developer submits the code, and after the build is completed, it is pushed to the test system. For testers, use automated testing tools such as Selenium, TestNG, JUnit, etc., for continuous testing. These tools allow the quality management system to test multiple code bases in full parallel to ensure that there are no defects in the functionality. Once the code test passes, it continues to integrate with existing code.
Continuous integration
Developers continue to develop, and the updated code needs to be constantly integrated and smoothly integrated with the system to reflect changes in end-user requirements. The changed code should also ensure that there are no errors in the runtime environment.
Continuous deployment
It deploys code to a production environment. Here, we ensure that the code is deployed correctly on all servers. If any features are added or new features are introduced, you should be prepared for more site traffic. Therefore, the system operation and maintenance staff have the responsibility to expand the server to accommodate more users. The new code is continuously deployed, so configuration management tools can perform tasks quickly and frequently. Puppet,Chef,SaltStack and Ansible are some of the popular tools used at this stage.
Container tools such as Docker help ensure consistency in the development, testing, and production environments at this stage.
Continuous monitoring
Improve the quality of the software by monitoring the performance of the software. This practice involves the participation of the operations team, who will monitor user activities for errors / system irregularities. This can also be achieved by using a dedicated monitoring tool that will continuously monitor application performance and highlight problems. These tools include Splunk,ELK Stack,Nagios,NewRelic and Sensu. These tools help closely monitor applications and servers to proactively check the health of the system. Any major problems found can be reported to the development team so that they can be fixed during the ongoing development phase.
Continuous feedback
Continuous feedback is a very important part of DevOps, which constantly feeds back and fixes problems from Dev, Ops, test system, monitoring system, etc.
Finding the problem as soon as possible is the key to solving the problem.
IV. Characteristics of DevOps
Fast: the delivery of products becomes very fast.
Steady: although there are not many things in each iteration, they are getting more and more stable, and the actual speed is faster.
Continuous integration is the center of the whole DevOps. Only by establishing continuous integration first can the whole DevOps automation process run.
The problem is exposed quickly: the team is activated by DevOps and keeps feedback on the problem.
Face-to-face communication is the most effective way of communication.
Testing is very important: testing is the guarantee of quality, and if the test is not done well, the quality of DevOps cannot be guaranteed.
You need to learn a lot of tools, but it's worth it.
This is the end of the content of "what are the characteristics of DevOps". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.