===== DevOps ===== What Is DevOps, Anyway? **Approach to **culture**, **automation**, and **platform design** to provide better business value and responsiveness ** \\ **Goal**: Increase **speed** and **flexibility** with which new features and services are delivered https://en.wikipedia.org/wiki/DevOps How it it different from SRE {{https://s3.eu-central-1.amazonaws.com/alf-digital-wiki-pics/sharex/dTwuGUYFvl.png}} == Why are DevOps goals: speed and responsiveness - important? == {{https://lh3.googleusercontent.com/-bLBTYR4u40Q/WtceiikFV1I/AAAAAAAAAJc/EgY5mIxPIdsKGG6V9guiXjLmLhxcXqulgCHMYCw/s0/2018-04-18_12-31-34.png}} See https://www.slideshare.net/helgetenno/technology-will-disrupt/7-PART2FUNDAMENTALCHANGESINTHENATUREOFCONSUMPTION Tools * https://stackify.com/top-devops-tools/ * PeriodicTables of tools - https://xebialabs.com/periodic-table-of-devops-tools/ Development Operations Toolchain: * Code – Code Development and Review, continuous integration tools * Build – Version control tools, code merging, Build status * Test – Test and results determine performance * 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 === Gerrit === TODO === Deployment / Update Strategies === |Rolling Deployment| Start one new instance, check health, stop one old. Repeat. | |Recreate Deployment strategy | Stop old, start new. | === DORA and Metrics === DORA stands for DevOps Research and Assessment https://dora.dev/. It's a framework developed by a team at Google specifically to measure the performance of DevOps teams. DORA isn't a set of practices, but rather a way to assess how well your DevOps practices are working by focusing on four key metrics: * Deployment Frequency: How often does your team deploy code to production? * Mean Lead Time for Changes: How long does it typically take to get a code change from commit to production? * Change Failure Rate: How often do deployments fail? * Time to Restore Service: How long does it take to recover from a deployment failure? By tracking these metrics, teams can identify areas for improvement and work towards becoming high-performing DevOps teams. These high performing teams are typically able to deploy code more frequently, with fewer failures, and recover from failures more quickly. https://cloud.google.com/devops?hl=de {{https://s3.eu-central-1.amazonaws.com/alf-digital-wiki-pics/sharex/57vE08xXEZ.png}}