DevOps 101

Development Operations

What is "DevOps"?

"a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality"

β€” Bass, Weber, and Zhu of the Software Engineering Institute (2015)
  • Infrastructure
  • Deployment
  • Monitoring

This Talk

  1. The problems we are solving
  2. Cloud infrastructure
  3. Tools of the trade

Web Applications

πŸ“ˆ Scalable

Web Applications

πŸ’Έ Affordable

πŸ“ˆ Scalable

Web Applications

πŸ’ͺ Resilient

πŸ’Έ Affordable

πŸ“ˆ Scalable

Web Applications

🍱 Manageable

πŸ’ͺ Resilient

πŸ’Έ Affordable

πŸ“ˆ Scalable

Web Applications

πŸ€– Automated

🍱 Manageable

πŸ’ͺ Resilient

πŸ’Έ Affordable

πŸ“ˆ Scalable

Web Applications

πŸ€–πŸ±πŸ’ͺπŸ’ΈπŸ“ˆ

DevOps is the art of making this shπŸ’©t look easy

☁️ Cloud Infrastructure

Amazon Web Services (AWS)

  • EC2 (servers)
  • RDS (databases)
  • S3 (files)
  • Route53 (DNS)
  • Lambda (serverless)

Google Cloud Engine (GCE)

Azure

Dedicated Servers

  • Hetzner
  • OVH/Kimsufi

Horizontal Scalability

Tools of the trade

"Containerisation"

i.e.

"we put a computer in your computer"

Docker

is a

Container management tool

Continuous Delivery (CD)

a.k.a. Continuous Deployment

Continuous Integration (CI)

(usually lumped as CI/CD)

Infrastructure-as-code

  • Terraform
  • Ansible

Logging / Monitoring

Serverless

  • AWS Lambda
  • Zeit now.sh

Questions?