网页
综合
更新时间 2022-02-11 12:00:00
4 Must-know DevOps principles
自动蜘蛛
about.gitlab.com
正文约 5999 字
Higher agent accuracy, lower token cost
Learn how to harden your software factory and let AI agents earn autonomy, without trading away security.
Stay updated with our latest features and improvements.
Published on: February 11, 2022
Learn four key DevOps principles and why they are essential to successful development and deployment.
The popular software development methodology DevOps can be a bit confusing to beginners, especially when it encompasses other areas such as security (DevSecOps), business (BizDevOps), and the like.
DevOps takes two previously separated teams – software development and IT operations – and turns them into one united front that creates secure code while speeding up the software development lifecycle. DevOps fundamentals include a collaborative and communicative culture, automated testing, releases and deployments, and frequent iteration. Another commonly used term in the DevOps space is DevSecOps, which refers to a DevOps practice with a specific emphasis on security.
What matters is what’s at the heart of the DevOps methodology – these four key principles that can improve your organization’s software development practice.
Roughly 15 years ago, the idea emerged to bring development and operations together in a seamless fashion. In 2009, the term “DevOps” was coined by Patrick Debois, who is considered one of the methodology’s primary gurus. DevOps includes a lot of the principles of Agile software development, but with a special emphasis on breaking down development and operations silos.
DevOps has continued to grow in popularity since that time, from small businesses to enterprises with legacy systems and nearly every size company in between. Like almost anything else, DevOps can adapt to an organization’s unique needs and environment, adjusting to what’s most important to the business.
As such, it’s possible to find many different flavors of DevOps, though, at their core, each has the following 4 must-know principles in place:
The North Star for all DevOps teams is automation. Before DevOps, software development was a very manual effort requiring human involvement (and physical handoffs) at every stage of the process. All of this human involvement meant companies were lucky to update or release new code once a year, and many were on an 18- or 24-month release cadence.
Today so-called “elite DevOps teams” release code many times a day – and they’re able to do that largely because of automation.
To understand the power and importance of automation in DevOps, consider software testing, an often overlooked and unappreciated step that is regularly scapegoated for causing release delays. There’s no question software testing is critical; without testing companies risk releasing broken or actually even unsafe code.
But testing is perhaps the most hands-on of all the steps in DevOps, requiring people to write test cases, run myriad tests, analyze the results, and then circle back with developers for fixes. That’s all a long way of saying there’s a reason teams point to testing as the number one reason code isn’t released on time.
Enter automation and the idea that the most basic software tests could happen as the code is written. Test automation dramatically speeds up the entire process and frees software testers to look for potentially more damaging code quality issues.
Although testing is one of the most dramatic automation “wins” in DevOps, it’s far from the only one. Continuous integration automates the process of moving new code into existing code, while continuous deployment helps automate releases. And Infrastructure as Code makes it easy to automate the process of provisioning developer environments.
A good DevOps team has automation, but a top-notch DevOps team also has collaboration and communication. The basic idea of bringing dev and ops together (as well as sec, test, stakeholders, etc.) hinges on teams being able to collaborate. And that can’t happen if there isn’t clear and regular communication.
This sounds like a deceptively simple principle of DevOps, but, like most things, the devil is in the details. Devs want to write code and move it along into the world; ops professionals focus on tools, compliance, and the cloud; and the security team wants to ensure the code is safe. Dev, ops, and sec don’t have the same priorities, might not speak the same “language,” and are likely to approach problem-solving from very different perspectives. A case in point: Dev and sec still don’t really get along, in part because the communication and collaboration gap remains wide.
It takes effort to bring teams together and often out-of-the-box thinking. And in one of those "chicken and egg" situations, teams need to communicate for successful DevOps, but DevOps itself can lead to better communication, and happier developers, according to findings in our 2021 Global DevSecOps Survey.
Leaning heavily on earlier software development methodologies, including Lean and Agile, DevOps also focuses on reducing waste and continuous improvement. Whether it’s automating repetitive tasks like testing so as not to waste time, or reducing the number of steps required to release new code, well-functioning DevOps teams continue to measure performance metrics to determine areas that need improvement.
Expect teams to strive to continuously improve release times, reduce the mean-time-to-recovery, and number of bugs found, in addition to a number of other metrics.
The final must-know DevOps principle is the importance of bringing the actual user into every step of this process. Through automation, improved communication and collaboration, and continuous improvement, DevOps teams can take a moment and focus on what real users really want, and how to give it to them. There’s no question that finding a way into the user mind is quite tricky, and teams can struggle to implement processes to achieve this.
The other difficult piece of this is that user feedback, once gathered, must be delivered
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。