What is DevOps?
DevOps is a set of practices that emphasize the collaboration and communication of both Software Engineers and IT & Infrastructure Operations to reduce the time to market of a Product.
DevOps is a process that emphasizes communication and learning from a technical standpoint between software developers and IT professionals, like dev and ops, managing production environments, while automating the deployment of software and infrastructure changes with utmost care and collaboration. At the core, DevOps means combining development and operations into one unified team so that continuous process of learning, knowledge sharing, and shared responsibilities happen seamlessly between the two. The idea of DevOps grew out of the Agile methodology and first gained attention in 2009.
“https://www.youtube.com/watch?v=Zyz_2lELqG8”
- DevOps is not an individual role, it is a group effort.
- Your infra should be able to handle a failed deployment automatically and rollback. If it can’t, you’re doing it wrong.
- DevOps means different things to different people.
- If any task cannot be automated, remove it instantly from the task list.
- Communication is more important than tooling and will make or break an organization.
- Shift the focus of Security to the left in the development life-cycle.
- Using Jenkins != CI/CD or DevOps …
- Always design with autoscaling in mind. Automate-all-the-things. One-click deploy to one-click revert.
- Create ready to use images in AWS and use those images for auto-scaling instead of scripted from GitHub builds.
- There is a real skillset shortage in the DevOps field.
- The CI/CD pipeline is one of the best practices for DevOps teams to implement, for delivering code changes more frequently and reliably.
- Do not automate a bad process, you end up with an automated bad process — [Credits: DOES18 ]
- Testers who know how to code and automate scripts to test various cases are in massive demand in DevOps.
- Add monitoring to infrastructure as well as applications. The monitoring system should send alerts on every important events.
- Utilize Infrastructure as a code templates to build the infra. Ex. cloud-formation, terraform etc
- If you need to SSH into your VM then your automation is failed.
- Serverless is not actually serverless, it is simply ‘pay as you use’ model
- Cloud-native is not a synonym for microservices or Kubernetes, it is all about utilizing the advantages of the cloud computing model
DevOps Topologies
.png)
Typical ways Devops can be implemented in an organisation
For a extremely detailed study on the above topologies, you should go through the site below
“https://web.devopstopologies.com/”
.png)
“https://youtu.be/mBU3AJ3j1rg?si=-vDrK0ysov7kvuVx”
“https://youtu.be/9hNDCvhTODI?si=HK7D7th0oMMxKo0S”
Extra Links:
“https://www.youtube.com/watch?v=2NtiI0Ojczw”
“https://www.codeproject.com/Articles/1394594/Devops-The-Big-Picture”