Slide 1

Slide 1 text

DevOps Pipelines from Code to Infrastructure and Deployment Dr. Erekle Magradze Head of School of Technology, Faculty of Business, Technology and Education, Ilia State University, Co-Founder of DevOps Georgia, Lead DevOps Engineer at Quantori Georgia

Slide 2

Slide 2 text

Outline • SDLC • The CI • The CD • Metrics • IaC and Environments • The CI/CD Pipeline with Infrastructure Components

Slide 3

Slide 3 text

SDLC - Software Development Life Cycle

Slide 4

Slide 4 text

SDLC - Software Development Life Cycle Jidoka = Automation + People autonomation

Slide 5

Slide 5 text

SDLC - Software Development Life Cycle

Slide 6

Slide 6 text

The CI

Slide 7

Slide 7 text

CI Process Ensures ● The Style and Consistency of the Code ● Code Quality - Quality Gates (Mainly Unit Testing at this stage) ● Fast Feature Development and Building - Artifact or/and Docker Image ● More testing ● Bundling the release Key Requirement: Infrastructure should be capable to handle large number of simultaneous, high quality, feature development Where Ends CI and Starts CD?

Slide 8

Slide 8 text

CD Process Ensures ● Provisioning of different environments (dynamically or statically); ● Running the security tests and checks against the artifacts; ● Deploying the artifacts or container images according to the pre-defined strategy: Canary, Rolling or Blue Green Deployment - in corresponding environment - dev, staging, QA or production; ● Monitoring the deployment process and existing deployments Key Requirement ● Infrastructure should be scalable ● Environments Should be well isolated ● Rollback Mechanisms should be there ● In case of Cloud Usage, Dynamic Environment Build and Demolishing should be in place The CD

Slide 9

Slide 9 text

Acronym Metrics Description Process objectives under control Recommended value BFP Build Failed Percentage The percent of builds failed due to infrastructure reason per day vs all builds Infrastructure problems and progress in resolving them 5-10% T2F Time 2 Feedback Average duration of PR build Fluctuations of feedback time over period <30 min PUK Percentage of Unknown to Known The percent of unknown errors to known errors New infra problems (e.g., git updates) >90% MBSQ Maximum BuildServer Queue Maximal BuildServer queue on working hours quality/performance/insuffi ciency of build process <5 AQT Average Queue Time Avg build wait time in Jenkins queue quality/performance/insuffi ciency of build process <10m PRC Pull Request Cost Calculate count of pull (or merge) request per day if all PR created were reviewed/built in measured period reference: page 27 Metrics

Slide 10

Slide 10 text

IaC and Environments - Approach 1 If you can generalize only up to 20% of your TF code

Slide 11

Slide 11 text

IaC and Environments - Approach 2 If you can generalize only up to 50% of your TF code

Slide 12

Slide 12 text

IaC and Environments - Approach 3 If you can generalize more than 50% of your TF code

Slide 13

Slide 13 text

IaC and Environments - Dynamic and Static Dynamic Infrastructure ● Container Services; ● Users, Roles, Groups, Services; ● Serverless functions ● Networking Gateways ● VPNs ● Firewall Rules Static Infrastructure ● Virtual Machines (EC2 instances, Google Compute Engines, etc) ● DataBase Services (SaaS) ● Kubernetes ● Inter Region Setups ● Storage (Object, Data Storage) ● BigData Infrastructure

Slide 14

Slide 14 text

Dynamic and Static Infrastructure

Slide 15

Slide 15 text

Thank you

Slide 16

Slide 16 text

One More Thing To Announce DevOps Georgia have new Community Leaders Giorgi Keratishvili Davit Tsulaia Guram Jalaghonia