FIG FOR DEVELOPING 
MICROSERVICES 
Paul Lam, co-founder Spokepoint 
! 
Presented at Docker Boston, October 2014
RUNNING CODE ON MY 
OWN MACHINE 
• Guaranteeing consistency 
running the same code on 
different machines 
• Guaranteeing consistency 
running different stacks on 
any developer's machine 
• Everything running at the 
same time on any laptop
“the microservice architectural style is an approach to 
developing a single application as a suite of small 
services, each running in its own process and 
communicating with lightweight mechanisms, often an 
HTTP resource API.” 
–Martin Fowler 
http://martinfowler.com/articles/microservices.html
INDEPENDENT SERVICES 
Author name 
scraping 
Article image 
Contact info 
scraping 
News search scraping 
Why? See http://martinfowler.com/articles/microservices.html 
Impact 
estimation
Front-end 
Write 
Search 
Manage 
Back-end 
Write 
Search 
Manage 
Data 
Mining 
Data 
Mining 
ARCHITECTURE 
You want to work on this
SOLUTIONS 
Efforts 
version manager, etc. 
use staging 
servers 
Robustness 
virtual 
just run environments 
them
DEMO: FIG UP UP AND UP 
- Go 
- MySQL - Clojure - Clojure 
- Redis 
- MySQL 
- Clojure 
- DynamoDB
DEMO: JEKYLL WITHOUT 
RUBY / RVM 
• Continuous development 
• https://github.com/ 
Spokepoint/reagent-project. 
github.io
ALTERNATIVES 
Fig Vagrant 
Syntax YAML Ruby 
Providers Docker Docker, VirtualBox, 
VMware, and more 
Bootup time seconds seconds 
(with Docker provider) 
Multiple containers Yes Yes 
Plugins No? Yes
BENEFITS 
• Fast -- bootup in a couple seconds 
• Easy -- install Docker and Fig + a few lines of YAML 
• Reproducible -- laptop environment independent 
• Isolated -- no conflict between databases 
• Continuous -- host/guest shared folders
CONTACT 
Paul Lam 
paul @ spokepoint.com 
@ Quantisan

2014 docker boston fig for developing microservices

  • 1.
    FIG FOR DEVELOPING MICROSERVICES Paul Lam, co-founder Spokepoint ! Presented at Docker Boston, October 2014
  • 2.
    RUNNING CODE ONMY OWN MACHINE • Guaranteeing consistency running the same code on different machines • Guaranteeing consistency running different stacks on any developer's machine • Everything running at the same time on any laptop
  • 3.
    “the microservice architecturalstyle is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.” –Martin Fowler http://martinfowler.com/articles/microservices.html
  • 5.
    INDEPENDENT SERVICES Authorname scraping Article image Contact info scraping News search scraping Why? See http://martinfowler.com/articles/microservices.html Impact estimation
  • 6.
    Front-end Write Search Manage Back-end Write Search Manage Data Mining Data Mining ARCHITECTURE You want to work on this
  • 7.
    SOLUTIONS Efforts versionmanager, etc. use staging servers Robustness virtual just run environments them
  • 8.
    DEMO: FIG UPUP AND UP - Go - MySQL - Clojure - Clojure - Redis - MySQL - Clojure - DynamoDB
  • 9.
    DEMO: JEKYLL WITHOUT RUBY / RVM • Continuous development • https://github.com/ Spokepoint/reagent-project. github.io
  • 10.
    ALTERNATIVES Fig Vagrant Syntax YAML Ruby Providers Docker Docker, VirtualBox, VMware, and more Bootup time seconds seconds (with Docker provider) Multiple containers Yes Yes Plugins No? Yes
  • 11.
    BENEFITS • Fast-- bootup in a couple seconds • Easy -- install Docker and Fig + a few lines of YAML • Reproducible -- laptop environment independent • Isolated -- no conflict between databases • Continuous -- host/guest shared folders
  • 12.
    CONTACT Paul Lam paul @ spokepoint.com @ Quantisan