Intro Docker

Agenda

  • Monoliths to micro services
  • Docker and the container analogy
  • Pains and why we care
  • How it works and awesomeness

A decade ago (and AEM today)

  • Monolithic
  • Built on a single stack like .NET or Java
  • Long lived
  • Deployed to a single server

Monolithic Architecture

ELB Monoliths

Today (an into the future)

  • Apps are constantly developed
  • Deployed often  (AWS deploys ~10sec)
  • Built from loosely coupled components
  • Deployed to run on multitude of environments
    (local, digital ocean, prod AWS, CX lab)

Service Based Architecture

An analogy

Ops Pain

  • Compiling: This app needs x version of libc to compile
  • External Deps: This needs python 2, 3, etc. but the server runs 2, 3
  • Config Problems: The legacy app only runs on port 80 and the developer left 5 years ago

Dev Pain

  • Prod vs Local: I can't reproduce the problem locally
  • Ops Meddling: You did what to get my app running?
  • Local Versions: Why do I need to install Hazelcast locally??
  • Platform Dependency: I run Ubuntu, and the server runs Debian, but Linux is linux right?

BUT WE HAVE VM's!!!

Dockerfile

Docker compose

Docker is awsome

By Anthony May

Docker is awsome

An unbiased view of docker and alternatives

  • 473