DevOps
Introduction
Understanding first, tools second. Devops is a philosophy not a technology
What DevOps is?
The goals of devops is to improve the speed and reliability of software released by automating parts of software development and deployment process, and by fostering a culture of collaboration and experimentation among teams.
What DevOps is not?
DevOps is not a specific tool or technology. It is not a job title or nob description and it is not a standalone practice that can implement in isolation.
DevOps is never Tools or Technologies
DevOps is a philosophy
DevOps is a philosophy or mindset that emphasizes collaboration, communication, and integration between software development and IT operations teams
Define your DevOps
We need to define what devOps means uniquely to us before we can properly harness its power for an organization
The three W's of strategy are:
- Why - Reasons and motivations behind the strategy
- What - Goals and objectives that the strategy is intended to achieve
- Who - People who are benefiting from this.
They Why, what, Who strategy fo DevOps
- Why do we need DevOps?
- What do we accomplish with DevOps?
- Who do we help with DevOps
Together, these three W's help to provide clear understanding of the strategy and what it aims to accomplish
Why do we need DevOps?
DevOps aims to help organizations rapidly and reliably build and deploy software by automating and monitoring the process from end to end
What do we accomplish with DevOps?
By implementing DevOps practices, organizations can automate and monitor the process of software development from end to end, allowing teams to release and iterate on their products quickly and effectively.
Who do we help with DevOps?
DevOps helps organizations and team to improve their ability to deliver value to their customers and users.
Standards vs Rules
Developers don't like rules but will adhere to standards for the greater good of product
DevOps Standards
DevOps standards are guideline or best practices that organizations can follow to implement standards successfully. These standards typically cover areas such as collaboration, communication, and automation, and can help organizations to improve their software development process and deliver better products to their customers.
Automation standards
Automating the software development and deployment process, using tools such as continuous integration and delivery (CI/CD)
Planning standards
Using agile software development methodologies, such as Scrum or Kanban, to increase collaboration and flexibility.
Quality standards
Implementing strict version control and configuration management processes to ensure that software is properly tested and deployed
Communication Standards
Encouraging open communication and collaboration among all member of the development team, including developer, IT Operations professionals, and business stakeholders
Improving Standards
Using metrics and data to track and improve the performance of the software development process