DevOps A-Z:

Terms and Concepts

Lansing DevOps Meetup
April 2nd, 2019

Brendon Thiede

  • DevOps Engineer at the Michigan Supreme Court
  • Continuous Learner
  • Maximizing Impact

Important Rules:

  • Term has to be said by Brendon or appear on a slide
  • 5 terms in a row, diagonally, horizontally, or vertically
  • You can only win once
  • Winners get to pick prizes in order of win
  • You have to say "BINGO" to be acknowledged as a winner

The Anti-Jargonist Oath

I, (state your name), do hereby solemnly swear to never use buzzwords, slang, or jargon with the intent to belittle, baffle, or hoodwink my fellow human beings.

What is DevOps?

DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.

- Donovan Brown

DevOps is Not:

  • A role
  • Getting rid of Operations, QA, and/or Security
  • A methodology
  • Prescriptive

Where does DevOps come from?

Agile

  • Extreme Programming (XP)
  • Scrum
  • Kanban
  • others

Development team focused

Lean

  • Value Stream Mapping
  • Identify bottlenecks
  • Reduce inventory
  • Optimize for throughput
  • "Shift left"

Implementing DevOps

Security

  • Threat Modeling
  • Static Analysis
  • Dynamic Scans/Web Application Scanning

Continuous Integration

  • Source control (for everything...)
  • Common build server (Azure Pipelines, GitHub Actions, Jenkins...)
  • Every push triggers a "build"
    • Unit tests
    • Package - ONLY ONCE!
    • Static Analysis (SonarQube, linters, etc.)

Infrastructure as Code

  • Creates/configures infrastructure
  • Declarative
  • Imperative
  • Idempotent
  • Environment variables???

Configuration Management

  • AKA Desired State Configuration (DSC)
  • Runs on existing infrastructure
  • Declarative
  • Imperative
  • Idempotent
  • Environment variables???

To the Cloud!

Shared Responsibility https://blogs.msdn.microsoft.com/azuresecurity/2016/04/18/what-does-shared-responsibility-in-the-cloud-mean/

Cloud Scale-Cost Model

  • Scale up/down, scale in/out
  • Serverless/Consumption: Functions as a Service
  • OpEx vs CapEx
  • Workload types: bursty, stateless, batch

Containers

  • Microservices
  • Orchestration
  • Scheduling
  • Fan-out/fan-in

Distributed Systems are Hard...

Brendon's Microservices Formula


if (service.independentScale == BENEFICIAL &&
    service.independentDeployment == REQUIRED &&
    service.interopSpeed == NEGOTIABLE) {
  you.makeMicroservice();
} else {
  you.goWithWhatYouKnow();
}
  

Networking

  • Service mesh
  • Sidecar
  • Service discovery

Load Balancer

  • Layer 4 - Faster, but limited info (port and protocol)
  • Layer 7 - Application awareness (HTTP, etc)
  • Persistent
  • Round-robin

Routing

  • DNS - A record, CNAME
  • Reverse proxy
  • Virtual network (VNET)/Hybrid network
  • Subnet - CIDR notation
  • Zero trust network

Outages Happen...

  • White listing
  • Black listing
  • Circuit breaker pattern
  • Chaos engineering
  • Fault injection

Ephemeral Services

  • Cattle vs Pets
  • Idempotent deployment

Pokemon or Technology?

Pika

Spinnaker

Kaggle

Swalot

Molepig

Istio

Zipkin

So What About Persistence?

Databases

  • NoSQL
  • CAP Theorem
  • Eventually consistent
  • Horizontally scalable
  • Polyglot persistence

Event Driven Architecture

  • Message queues
  • Event loops
  • Triggers
  • Webhooks

Show Me The Runny!!!

Continuous Delivery

  • Build triggered deployment
  • Feature toggle
  • Gated deployment
  • Canary deployment
  • Blue/Green deployment
  • Self healing
  • Instrumentation - telemetry
  • A/B testing

Special Bonus Words!

  • IoT
  • Intelligent edge
  • Blockchain
  • Big data

Further Reading

  • https://12factor.net/
  • https://martinfowler.com/articles/microservices.html
  • https://blogs.msdn.microsoft.com/azuresecurity/2016/04/18/what-does-shared-responsibility-in-the-cloud-mean/

fin