Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Microservices,
Containers and Docker
by Joost Hietbrink

April, 2015
Joost?Linkedin - Github
YelloYelloSold in 2008 to Yellow Pages Fastest Site Builder

StartupBootcamp Batch 2014
Goal?
Make you
look smart
in the pub!
Buzzword bingo..
& bignumber bingo..
Agenda:
Netflix
Microservices?
Containers?
Docker?
Netflix
Microservices?
Containers?
Docker?
$32.900.000.000 company (32.9B)
$2.390.000 revenue per employee (#1) (Apple $2,21M)
57.000.000 subscribers
40-60 countries...
1997(yep.. 18 years ago)
Reed Hastings
CEO Netflix
1997(yep.. 18 years ago)
1998(yep.. 17 years ago)
2007(10 years later..)
1.000.000.000
DVDs delivered
2007(10 years later..)
2008
2010
Move to cloud
(AWS)
2010
2010
link
2015
• 10x customers
• 20x visits
• 100x traffic
• 5x devs

200 devs → 1.000 product devs
• 2x costs of IT Infrastructure ...
> 1/3 of US traffic is Netflix

7.000.000.000 hours streamed (Q3 2014)

10.000.000.000.000.000.000 bytes (10.000PB)
10.000 ...
Netflix
Microservices?
Containers?
Docker?
Loosely coupled service oriented
architecture with bounded contexts
— Adrian Cockcroft, ex-Cloud Architect @ Netflix
SOA > Microservice
link
link
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dum...
Any organization that designs a system (defined broadly) will
produce a design whose structure is a copy of the organizatio...
link
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dum...
Unix Philosophy
• Write programs that do one thing
and do it well.
• Write programs to work together.
— M. Douglas McIlroy...
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dum...
Why?
• Smaller footprint:
• easier to develop
• easier deploy
• own responsibility
• Loosely coupled:
• develop independently (...
How?
Netflix
Microservices?
Containers?
Docker?
March 2013
“docker”
jan 2014 - $15.000.000
sep 2014 - $40.000.000
apr 2015 - $95.000.000
Docker is an open-source project that automates the
deployment of applications inside software containers, by
providing an...
Static website
Web frontend
User DB
Queue Analytics DB
Background workers
API endpoint
nginx 1.5 + modsecurity + openssl +...
The Matrix From Hell
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Si...
Multiplicity	
  of	
  Goods
Multipilicity	
  of	
  
methods	
  for	
  
transporting/storing
Do	
  I	
  worry	
  about	
  h...
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
? ? ? ? ? ? ?
Also a matrix from hell
Multiplicity	
  of	
  Goods
Multiplicity	
  of	
  
methods	
  for	
  
transporting/storing
Do	
  I	
  worry	
  about	
  ho...
Static website Web frontendUser DB Queue Analytics DB
Development
VM
QA server Public Cloud Contributor’s
laptop
Docker is...
Static website
Web frontend
Background workers
User DB
Analytics DB
Queue
Development
VM
QA Server
Single Prod
Server
Onsi...
Docker > Containers
• images (Dockerfile)
• layered filesystem (versioning)
• index/hub/repository (push, pull)
• machine: c...
so.. what?
for you as an
Enterprise
• deploy faster
• separate per microservices
• no downtime
• microservice teams
• scale faster
• a-b testing
• make more m...
for you as a
Developer
• get it running your project
(microservices :))
• on your computer
• on every computer (production, test, that
designer t...
• ‘stand on the shoulder of giants’
• deploy like Netflix
• ‘stand on the shoulders of many midgets’
• try things super qui...
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Microservices, Containers and Docker for Dummies
Próxima SlideShare
Cargando en…5
×

Microservices, Containers and Docker for Dummies

14.502 visualizaciones

Publicado el

An introduction to Microservices, Containers and Docker. How did we get to Microservices (Netflix intro), what are Containers and how do they relate? How did Docker get so hyped and how does it help me with Microservices?

Publicado en: Tecnología
  • Is Your Ex With a Man? Don't lose your Ex girlfriend! This weird trick will get her back! ♣♣♣ http://t.cn/R50e2MX
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Secrets To Working Online, Hundreds of online opportunites you can profit with today! ◆◆◆ http://ishbv.com/ezpayjobs/pdf
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Have you ever heard of taking paid surveys on the internet before? We have one right now that pays $50, and takes less than 10 minutes! If you want to take it, here is your personal link ■■■ https://tinyurl.com/make2793amonth
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Just got my check for $500, Sometimes people don't believe me when I tell them about how much you can make taking paid surveys online... So I took a video of myself actually getting paid $500 for paid surveys to finally set the record straight. I'm not going to leave this video up for long, so check it out now before I take it down!  https://tinyurl.com/realmoneystreams2019
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Microservices, Containers and Docker for Dummies

  1. 1. Microservices, Containers and Docker by Joost Hietbrink
 April, 2015
  2. 2. Joost?Linkedin - Github YelloYelloSold in 2008 to Yellow Pages Fastest Site Builder
 StartupBootcamp Batch 2014
  3. 3. Goal?
  4. 4. Make you look smart in the pub!
  5. 5. Buzzword bingo.. & bignumber bingo..
  6. 6. Agenda: Netflix Microservices? Containers? Docker?
  7. 7. Netflix Microservices? Containers? Docker?
  8. 8. $32.900.000.000 company (32.9B) $2.390.000 revenue per employee (#1) (Apple $2,21M) 57.000.000 subscribers 40-60 countries (only US until 2010)
  9. 9. 1997(yep.. 18 years ago) Reed Hastings CEO Netflix
  10. 10. 1997(yep.. 18 years ago)
  11. 11. 1998(yep.. 17 years ago)
  12. 12. 2007(10 years later..) 1.000.000.000 DVDs delivered
  13. 13. 2007(10 years later..)
  14. 14. 2008
  15. 15. 2010 Move to cloud (AWS)
  16. 16. 2010
  17. 17. 2010 link
  18. 18. 2015 • 10x customers • 20x visits • 100x traffic • 5x devs
 200 devs → 1.000 product devs • 2x costs of IT Infrastructure in 2008
  19. 19. > 1/3 of US traffic is Netflix
 7.000.000.000 hours streamed (Q3 2014)
 10.000.000.000.000.000.000 bytes (10.000PB) 10.000 starts / second 2.000.000.000 edge API requests per day 2.000.000 payment transactions per day 60.000 instances (AWS) 40.000.000.000.000.000 bytes S3 storage (40PB) >500 microservices 1.500 employees (1.000 devs) ~30 engineering teams (microservices)
  20. 20. Netflix Microservices? Containers? Docker?
  21. 21. Loosely coupled service oriented architecture with bounded contexts — Adrian Cockcroft, ex-Cloud Architect @ Netflix
  22. 22. SOA > Microservice
  23. 23. link
  24. 24. link
  25. 25. • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design Characteristics of a Microservice Architecture — Martin Fowler, loud-mouth
  26. 26. Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. — Melvyn Conway, 1967
  27. 27. link
  28. 28. • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design Characteristics of a Microservice Architecture — Martin Fowler, loud-mouth
  29. 29. Unix Philosophy • Write programs that do one thing and do it well. • Write programs to work together. — M. Douglas McIlroy (Inventor Unix Pipe) (Head Bell Labs Computing Sciences Research Center) - 1978 - ➜ ~ tr 'A-Z' 'a-z' < doc.txt | tr -cs 'a-z' 'n' | sort | uniq | comm -23 - /usr/share/dict/words
  30. 30. • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design Characteristics of a Microservice Architecture — Martin Fowler, loud-mouth
  31. 31. Why?
  32. 32. • Smaller footprint: • easier to develop • easier deploy • own responsibility • Loosely coupled: • develop independently (own stack) • update independently (own versions) • scale independently • fail independently (own bugs)
  33. 33. How?
  34. 34. Netflix Microservices? Containers? Docker?
  35. 35. March 2013
  36. 36. “docker” jan 2014 - $15.000.000 sep 2014 - $40.000.000 apr 2015 - $95.000.000
  37. 37. Docker is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating-system-level virtualization on Linux.
  38. 38. Static website Web frontend User DB Queue Analytics DB Background workers API endpoint nginx 1.5 + modsecurity + openssl + bootstrap 2 postgresql + pgv8 + v8 hadoop + hive + thrift + OpenJDK Ruby + Rails + sass + Unicorn Redis + redis-sentinel Python 3.0 + celery + pyredis + libcurl + ffmpeg + libopencv + nodejs + phantomjs Python 2.7 + Flask + pyredis + celery + psycopg + postgresql-client DevelopmentVM QA server Public Cloud Disaster recovery Contributor’s laptop Production Servers The ChallengeMultiplicity  of  Stacks Multiplicity  of   hardware   environments Production Cluster Customer Data Center Do  services  and  apps   interact   appropriately? Can  I  migrate   smoothly  and   quickly?
  39. 39. The Matrix From Hell Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
  40. 40. Multiplicity  of  Goods Multipilicity  of   methods  for   transporting/storing Do  I  worry  about  how   goods  interact  (e.g.   coffee  beans  next  to   spices) Can  I  transport  quickly   and  smoothly   (e.g.  from  boat  to  train   to  truck) Cargo Transport Pre-1960
  41. 41. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Also a matrix from hell
  42. 42. Multiplicity  of  Goods Multiplicity  of   methods  for   transporting/storing Do  I  worry  about  how   goods  interact  (e.g.   coffee  beans  next  to   spices) Can  I  transport  quickly   and  smoothly   (e.g.  from  boat  to   train  to  truck) Solution: Intermodal Shipping Container …in between, can be loaded and unloaded, stacked, transported efficiently over long distances, and transferred from one mode of transport to another A standard container that is loaded with virtually any goods, and stays sealed until it reaches final delivery.
  43. 43. Static website Web frontendUser DB Queue Analytics DB Development VM QA server Public Cloud Contributor’s laptop Docker is a shipping container system for codeMultiplicity  of  Stacks Multiplicity  of   hardware   environments Production Cluster Customer Data Center Do  services  and  apps   interact   appropriately? Can  I  migrate   smoothly  and  quickly …that can be manipulated using standard operations and run consistently on virtually any hardware platform An engine that enables any payload to be encapsulated as a lightweight, portable, self-sufficient container…
  44. 44. Static website Web frontend Background workers User DB Analytics DB Queue Development VM QA Server Single Prod Server Onsite Cluster Public Cloud Contributor’s laptop Customer Servers Docker eliminates the matrix from Hell
  45. 45. Docker > Containers • images (Dockerfile) • layered filesystem (versioning) • index/hub/repository (push, pull) • machine: create hosts • compose: linking • swarm: clustering
  46. 46. so.. what?
  47. 47. for you as an Enterprise
  48. 48. • deploy faster • separate per microservices • no downtime • microservice teams • scale faster • a-b testing • make more money • for us all • greener
  49. 49. for you as a Developer
  50. 50. • get it running your project (microservices :)) • on your computer • on every computer (production, test, that designer that needs to work a few hours) • no more “works on my machine” • easily deploy everywhere
  51. 51. • ‘stand on the shoulder of giants’ • deploy like Netflix • ‘stand on the shoulders of many midgets’ • try things super quickly • click to deploy (tutum.co)

×