Baking Wins

Download Baking Wins

Post on 19-Aug-2014

2.344 views

Category:

Engineering

1 download

Embed Size (px)

DESCRIPTION

Do you take the time to bake your deployments from scratch to ensure they work reliably, or do you fry them at the risk of something breaking? Using Swipely's open source Docker projects, you can now enjoy the best of both worlds by baking reliable Docker containers in less time than it takes to launch new instances.

TRANSCRIPT

  • B A K I N G W I N S @brightfulton 901 3320 29 03
  • The bake vs. fry debate is over and baking wins
  • THEORY RESOLUTIONPRACTICE
  • THEORY RESOLUTIONPRACTICE Baking makes deployment better
  • GOALS! reliability scalability availability
  • GOALS! reliability scalability availability HURDLES! mutable state startup latency dependencies
  • GOALS! reliability scalability availability HURDLES! mutable state startup latency dependencies SOLUTION! baking
  • The bake vs. fry debate is over and baking wins * *! for some the debate was over long ago
  • The bake vs. fry debate is over and baking wins * *! for some the debate was over long ago
  • THEORY RESOLUTIONPRACTICE Baking improves deployment reliability, scalability, availability
  • THEORY RESOLUTIONPRACTICE But, baking isnt very fun
  • http://techblog.netix.com/2013/03/ami-creation-with-aminator.html BAKING TOOLS PRESUME AN ARCHITECTURE Bakery! Aminator! (Asgard)
  • BAKING TOOLS ARE SLOW AND FRAGILE umount: /sysroot/proc: device is busy.
  • THEORY RESOLUTIONPRACTICE Baking proved to be demanding, slow, messy
  • THEORY RESOLUTIONPRACTICE We use Docker to make baking better
  • D O C K E R R E D U C E S T H E O R Y T O P R A C T I C E single dependency isolated containers improved dev / ops interface fast
  • SWIPELYS ESSENTIAL INGREDIENTS docker-api: programmatic docker control dockly: declarative package denition aerosol: functional deployment orchestration
  • swipely/docker-api Docker::Image.allGet all images Create an image Docker::Image.create( 'repo' => ubuntu', 'tag' => latest' ) Add le to existing image image.insert_local( 'localPath' => /some/file', 'outputPath' => /other/path' ) Ruby wrapper for Docker Remote API
  • swipely/dockly deb :my_package do package_name 'my_app' ! docker do name 'my_image' import 's3://.../base-image.tar.gz' git_archive '/app' ! build