Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nomad, a love story

Nomad, a love story

Sebastian Montini

May 30, 2017
Tweet

More Decks by Sebastian Montini

Other Decks in Technology

Transcript

  1. $whoami • DevOps Engineer @ Jampp • Amateur Golfer •

    Whisky enthusiast • #AWSmeetupBA organizer • HUG founder (?) @sebamontini
  2. In the beginning... @sebamontini • Docker Swarm 1.12 • Custom

    Ansible Role for deployment • Small services and PoCs • No mission critical apps • Portainer as UI • Just run stuff there and forget about them
  3. A common friend introduced us... @sebamontini • Already using: ◦

    Consul in prod for health-checking and (some) service discovery ◦ Terraform for AWS infrastructure provisioning ◦ Vagrant for running the tests of our Ansible roles • Thinking about implementing Vault
  4. We fell in love... @sebamontini • Easy to schedule batch

    jobs • Simple integration with consul • Cost reduction (in our case) • Multiple drivers beyond docker • Multi-region • Simple HCL job definition
  5. We’re on a break... @sebamontini • No new service being

    scheduled in Swarm • All batch jobs run in Nomad • Spots ASG for Nomad jobs • Self registering with Consul
  6. Who gets custody? @sebamontini • Some small services still running

    in swarm • Testing traefik with consul as backend • PoC with nginx+consul-template • Swarm ASG freezed
  7. Scheduler types @sebamontini • Service The service scheduler is designed

    for scheduling long lived services that should never go down • Batch Designed for jobs that are short lived, finishing in a few minutes to a few days • System The system scheduler is used to register jobs that should be run on all clients that meet the job's constraints
  8. drivers @sebamontini • Docker • Rkt • Lxc • Isolated

    exec • Java • Qemu • Raw exec (disabled by default)