DevOps, SRE & DevSecOps
What is DevOps?
DevOps approach combines the skillsets of developers and IT operation engineers across software development and IT operations.
The following principles are important for a DevOps approach:
- Create Autonomous, Cross Functional Teams.
- Continuous Learn.
- Automate Everything.
- Foster Collaboration.
- Customer Centric.
- Continuous Improvement.
- End-to-End Ownership
A DevOps pipeline engineer needs to have a vast knowledge of tooling at all stages of the pipeline. The following diagram shows many of the tools available at various stages of the pipeline:
What is SRE?
In general, an SRE team is responsible for the availability, latency, performance, efficiency, change management, monitoring, emergency response, and capacity planning of their service(s).
SRE is fundamentally doing work that has historically been done by an operations team, but using engineers with software expertise, and banking on the fact that these engineers are inherently both predisposed to, and have the ability to, design and implement automation with software to replace human labor.
In DevSecOps, the developer must involve themselves with operation and security teams in the early stages of design and development processes to facilitate secure applications.
DevOps Vs SRE Vs DevSecOps:
DevOps and DevSecOps follow a blameless culture approach where every mistake is a learning opportunity. Instead of making the system fault-proof, DevOps culture focuses on a fault-tolerant approach. DevOps and DevSecOps basically deal with the pre-failure situation.
On the other hand, SRE methodology practices a blameless postmortem approach wherein every time failure occurs, the blameless postmortem approach identifies what caused the fault and finds ways to avoid it in the future. SRE basically deals with the post-failure situation.