Apuntes
DevOps Philosophy Notes
Contenido del apunte (5)
Página 1
DevOps
No consensus on a singular definition as to what DevOps is. It is a philosophy and set of practises - efficient development,deployment and operation of highest quality software possible.
No one right way. A specific DevOps team is one example of a bad way though - never isolate engineers in silos always try and integrate the engineers into existing teams to promote collaboration. Culture, Automation and Measurement are all key philosophies in DevOps.
Development + Operations, used as a way to breakdown the silos that prevent engineers achieving the levels of collaboration needed for succes. Its key focus is to remove inneffeciencys that exist in the development and deployment to operation pipeline. It helps stay on top of large and complex projects.
It's a developers job to change the project - however these changes can have huge knock on effects that may be unseen. By incorporating DevOps it allows us to promote collaboration between development and operations to minimise these potential knock on effects and maintain a projects up-time.
DevOps provides the tools needed to ensure your pipeline is sound from development through to production and ensuring no "hitches" arise unnoticed.
Página 2
Culture in an organisation must be tuned for DevOps. Must be in a position to support automation to stop straining the pipeline and reducing the overhead. Measurements are needed to gather data and ensure your making the right decisions in regards to deployments.
Example, Development team, QA team, security team, operations team. They will all have different goals and are refferred to as silos. Culture requires the removal of silos to ensure that everyone is working towards common goals and to cut out any clash in team interests. Everyone needs to collaborate continuously and share responsibility of a project.
A silo model also promotes a blame culture where departments can point the fingers between each other. DevOps must promote a blameless culture and so everyone takes ownership of what they did and if the failure was their fault. Again measurements help us to identify what went wrong to promote growth. Insist on tearing down silos.
Página 3
Automation is technique,methods andf systems used to reduce human intervention to avoid human error. By automating the pipeline it reduces the ammount of variables being interacted with to cut out human error. Helps to reduce constraints in the pipeline.
CI - Comit, Build and Test are carried out automatically against the code uploaded to the repository. An artifact is a package used to install the software to test against such as an operating system.
CD - Allows us to push a button to deploy code whilst ensuring that the code has passed all pre-settests.
IaC - Allows us to specify a configuration for servers and infrastructure within code to produce a working environment that is consistent from development through to production.
Overall improves the efficiency of a development pipeline and helps keep it consistent.
Página 4
Need measurements and metrics to ensure an overview of the pipeline and to identify lacking areas.
Frequency of deployments - Important to evaluate the health of our pipeline and ensure a consistent number of deployments every month.
MTTR - is the average ammount of time taken to resolve problems with your production environment, the goal is to decrease this number over time
MTTD - Time taken to discover problems and failures with production code
System Availability - Knowing the uptime of systems and software to ensure reliable code. Can help identify issues
Service Performance - Be able to look at a glance if systems are performing optimially to support the business needs such as API response time
Customer Complaints - Evaluating issues based on what users are complaining about to help prevent further issues and resolve underlying problems with the code base
Lead Time - Time taken from a feature request to the features release. Helps enable experimentation by keeping this time low
Página 5
Development changes always introduces the risk of instability and bugs. Failing as fast as possible is the best solution as it minimises the cost incurred by failed production.
Información
- Descripción
- Study DevOps Apunte sobre DevOps Philosophy Notes, creado por Alistair Trout el 01/12/2022.
- Creado por
- Alistair Trout
- Visitas
- 1
- Valoración