Intro
DRI - Designated Response Individuals
SRE - Site Reliability Engineers
Devops (Development Operations) is a set of practices.
It is a software engineering culture and practice that aims at unifying software development (Dev) and software operations (Ops). The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevOps aims at shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.
DevOps vs SRE vs Platform Engineering | Clear Big Misconceptions - YouTube
What is CI/CD and what are its benefits?
Continuous integration and continuous deployment is a practice wherein you integrate and test your software on every code change. Later on, that code is deployed to production. The main benefit is that it reduces manual work and the chances of human error during deployments.
What are different deployment strategies?
Depending on your product and how's your technical implementation, you can choose to do a rolling strategy, recreate strategy, blue-green, A/B testing, canary deployment, or shadow strategy.
A definition proposed by Bass, Weber, and Zhu, is DevOps is a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality.
- Plan / Code - code development and review, source code management tools, code merging
- Create / Build - continuous integration tools, build status
- Verify / Test - continuous testing tools that provide feedback on business risks
- Package - artifact repository, application pre-deployment staging
- Release - change management, release approvals, release automation
- Configure - infrastructure configuration and management, Infrastructure as Code tools
- Monitor - applications performance monitoring, end-user experience
The term "deployment" refers to the act of deploying a change to application components or infrastructure, and the term "release" refers to the act of enabling or exposing a feature to end-users (with a corresponding business impact)
CI/CD on kubernetes
Monitoring
Monitoring means knowing what's going on inside your system, how much traffic it's getting, how it's performing, how many errors there are. This is not the end goal though, merely a means. Our goal is to be able to detect, debug and resolve any problems that occur, and monitoring is an integral part of that process.
Scheduling vs Orchestration
- Scheduling is deciding when and whether a task should run
- Orchestration is deciding where and how a task should run
Remediation vs Repair
Remediation is a more thorough and long-term solution than repair. Repair is for minor damage that doesn't have an underlying cause. Remediation is for major or recurring damage caused by an underlying issue.
References
https://www.toptal.com/devops/bridging-gaps-devops-communication