DevSecOps
Abarna Saravanan
??Future Innovator | Actively pursuing CST in SNS College of Engineering |?? Passionate through Technology | ?????? UI/UX Designer |
A long time ago, there were waterfalls in a galaxy far, far away.
Waterfall Model
This is the name given to how project management was approached back in the day (the 70s). The cycle constituted and relied on a hierarchy, where every member had a specific responsibility. For example, System admins worked tirelessly to keep everything running smoothly and afloat. Developers build and add as many features as possible, and finally, Quality Assurance (QA) engineers test the system's functionality, ensuring everything works as expected.?
f anything troubles the servers or something needs deployment, sysadmins will jump on it. If it's a code problem, devs will put out the fire. If there is anything to do with testing functionality and feedback, Quality Assurance teams will take care of it. But what if there is a flaw? A bug? Who fixes it? These situations led to many blame games and passing the baton around that created friction, things would get backlogged, and the symbiosis between teams would end up not working anymore. As the number of customer expectations grew, features and new releases increased. Responsibilities and tasks would end up being an accumulative, giant mess. Bugs and security flaws were backlogged, plenty of these unresolved, and more releases scheduled, which would be not scalable and messy. Excessive noise and pressure led to distrust, communication gaps, and friction between teams.
This popular problem-solving strategy and system became a root cause of ineffectiveness in flexibility and communication across teams.
Agile Model
With the challenges teams were facing with waterfall, businesses started developing ways that allowed more flexibility and adaptability. Somewhere in early 2000,??The Agile Methodology was coined. Soon, a manifesto was released:?Agile Manifesto, emphasising four values for agile development:
Companies now value team collaboration and rely on self-organising teams, focusing on clients and plenty of room for change and flexibility.
But something was still missing.
DevOps: A New Hope
In 2008, a conversation between Andrew Clay and Patrick Debois led to something quite revolutionary. While discussing the drawbacks of Agile, DevOps was born. After an event in Belgium the following year called "DevOpsDays," DevOps became the next buzzword, and its popularity increased.
DevOps is quite different from the previous methodologies because it focuses on driving "cultural change" to increase efficiency. It does this by uniting the magic of all teams working on a project, using integration and automation. With these ingredients, you get a cross-integration across all departments, QA+sysadmins+developers. For example, ensuring developers can now be involved in deployment and sysadmins can now write scripts, QA can figure out how to fix flaws vs constantly testing for functionality. By introducing automation and integration of systems, these engineers can now have the same visibility at all times and interact accordingly.
Why is DevOps important?
领英推荐
DevOps builds a philosophy that emphasises building trust and better liaising between developers and other teams (sysadmins, QA, etc.). This helps the organisation align technological projects to business requirements, increasing the impact and value to the business as projects become more efficient and prioritised accordingly. Changes rolled out are usually small and reversible, visible to all teams involved. This ensures better contribution and communication that helps with the pace and an increased competency when delivering work.
In Summary:
Thanks to the advent of DevOps, today's development infrastructure is fully automated and operates on a self-service basis:
*The declarative approach requires that users specify the end state of the infrastructure - for example, deploy these machines in a running state directly into an environment, automating the configuration choices throughout the workflow. The software builds it and releases it with no human interaction.
The imperative/procedural approach takes action to configure systems in a series of actionable steps. For example, you might declare to deploy a new version of the software and automate a series of steps to get a deployment-ready state. You choose when to apply those changes at the end by adding a "gate" this gate could be a button to release the changes, e.g. "deploy changes" button, after all the automated checks and new configurations pass.
In such a workflow, even a tiny problem could create a mess. Moreover, as the number of new releases increases (the actual case), the whole matter may turn disastrous. Things would surely go out of hand with an issue still unresolved and plenty of features scheduled to be released.
Read more at: https://www.appknox.com/blog/history-of-devops
How does DevOps work?
DevOpsisvisualized as an infinite loop, describing all the comprising phases:
let's expand on some DevOps tools & processes that we'll look at as we follow the DevSecOps pathway and how they help an organization:
CEO of The Code Registry | Helping business leaders protect and understand their digital assets
5 个月Totally agree Abarna, would be great for you to take a look at how our platform handles this, designed specificially for senior management and executive teams to get a handle on potential security and compliance risks. > The Code Registry