SlideShare a Scribd company logo
1 of 19
Download to read offline
Building	
  a	
  mul+-­‐tenant	
  cloud	
  
service	
  from	
  legacy	
  code	
  with	
  
Docker	
  containers	
  	
  
Aleksander Slominski, Vinod Muthusamy,
and Rania Khalaf
{aslom, vmuthus, rkhalaf} at us.ibm.com
IBM T.J. Watson Research Center	
  
Overview	
  
•  A	
  bit	
  of	
  history	
  …	
  
•  IBM	
  Bluemix	
  Workflow	
  Service	
  Beta	
  
•  Legacy	
  non-­‐cloud	
  web	
  applica+on	
  	
  
•  Building	
  mul+-­‐tenant	
  cloud	
  architecture	
  with	
  
Docker	
  containers	
  
•  Conclusions	
  and	
  future	
  direc+ons	
  
Slides	
  at	
  	
  hGp://www.slideshare.net/aslomibm	
  	
  
Why	
  did	
  we	
  do	
  it?	
  
•  We	
  developed	
  very	
  lightweight	
  REST-­‐centric	
  workflow	
  
engine	
  that	
  was	
  inspired	
  by	
  BPEL	
  
–  Bite:	
  Workflow	
  Composi+on	
  for	
  the	
  Web.	
  Presented	
  at	
  the	
  
ICSOC	
  Conference	
  2007	
  
•  hGp://www.slideshare.net/raniakhalaf/flow-­‐composi+on-­‐in-­‐
resource-­‐centric-­‐environment	
  	
  
•  It	
  was	
  built	
  in	
  Java	
  and	
  used	
  servlets	
  –	
  just	
  run	
  .war	
  in	
  
servlet	
  container	
  and	
  connect	
  to	
  rela+onal	
  database	
  
for	
  persistence	
  (circa	
  2007)	
  
•  Developed	
  for	
  Mashups,	
  used	
  Atom/RSS,	
  script-­‐like	
  
approach	
  to	
  data	
  typing,	
  extensible	
  ac+vi+es	
  can	
  be	
  
defined	
  in	
  Java,	
  Groovy	
  or	
  other	
  JVM-­‐supported	
  
scrip+ng	
  language	
  ex.	
  <sendEmail	
  address=‘…’>	
  
Legacy	
  (non-­‐cloud)	
  applica+on	
  
Legacy	
  App:	
  
Tomcat	
  or	
  WebSphere	
  running	
  
workflow	
  engine	
  packaged	
  as	
  .war	
  
Uses	
  pluggable	
  persistence:	
  
	
  
File	
  system	
   RDBMS	
  
Browser	
   App	
  
REST	
  API	
  HTML	
  UI	
  
What	
  changed	
  in	
  7	
  years?	
  
•  s/Java/JavaScript/g	
  
•  s/XML/JSON/g	
  
•  s/Mashup/Cloud/g	
  
•  Etc.	
  
•  Expecta+ons:	
  users	
  want	
  to	
  get	
  from	
  idea	
  to	
  
running	
  workflow	
  in	
  seconds:	
  
– Write	
  JavaScript	
  code	
  in	
  Web	
  IDE	
  like	
  Orion?	
  
IBM	
  Bluemix	
  Workflow	
  
Take	
  form	
  ar+cle	
  “Create	
  an	
  applica+on	
  with	
  the	
  IBM	
  
Workflow	
  for	
  Bluemix”:	
  
–  hGp://www.ibm.com/developerworks/cloud/library/cl-­‐
workflow1-­‐trs/ 	
  	
  
buildSaleObj	
  =	
  SCRIPT(weather,	
  func+on()	
  {	
  
	
  	
  	
  	
  var	
  emailbody	
  =	
  'You	
  got	
  20%	
  discount!	
  Please	
  use	
  code	
  '+	
  coupon	
  +'	
  online	
  or	
  in	
  stores.';	
  
	
  	
  	
  	
  if(weather.out.main.temp	
  >=	
  290){	
  
	
  	
   	
  emailbody	
  +=	
  'It	
  is	
  quite	
  warm	
  out.	
  Try	
  our	
  new	
  iced	
  Mocha-­‐LaGe!';	
  
	
  	
  	
  	
  }	
  else	
  emailbody	
  +=	
  "Try	
  our	
  new	
  Caffe	
  Malin”	
  
});	
  
sendmail	
  =	
  POST(buildSaleObj,	
  'hGps://api.sendgrid.com/api/mail.send.json’,	
  	
  	
  	
  {	
  //….	
  
	
  'text':	
  emailbody});	
  
Changes	
  needed	
  in	
  “legacy”	
  code	
  
(legacy	
  =	
  non-­‐cloud)	
  for	
  Beta:	
  
	
  
	
  
•  How	
  to	
  support	
  mul+ple	
  tenants	
  when	
  majority	
  runs	
  only	
  few	
  workflows?	
  
–  1%	
  usage	
  during	
  a	
  24	
  hour	
  period	
  means	
  the	
  service	
  will	
  only	
  be	
  used	
  
for	
  about	
  15	
  minutes	
  (in	
  reality	
  it	
  was	
  much	
  lower	
  …)	
  
–  But	
  they	
  can	
  invoke	
  workflow	
  service	
  any	
  +me!	
  
•  Solu+on?	
  à	
  Start	
  JVM,	
  engine	
  and	
  load	
  state	
  to	
  process	
  request	
  in	
  
seconds.	
  And	
  when	
  no	
  workflows	
  running	
  stop	
  JVM	
  à	
  savings	
  
•  File-­‐systems	
  and	
  cloud	
  not	
  a	
  perfect	
  match:	
  
–  Storage	
  needs	
  to	
  be	
  fault-­‐tolerant	
  and	
  work	
  at	
  cloud	
  scale	
  
–  Unless	
  special	
  effort	
  is	
  made	
  files	
  are	
  ephemeral	
  (ex.	
  configura+on	
  
files	
  inside	
  container	
  –	
  how	
  to	
  manage	
  volumes	
  in	
  cloud?)	
  
–  If	
  possible	
  convert	
  file	
  opera+ons	
  to	
  use	
  (NoSQL)	
  database	
  or	
  cloud	
  
storage	
  (store	
  your	
  configura+on	
  in	
  key-­‐value	
  JSON	
  store	
  like	
  
Cloudant	
  or	
  Apache	
  CouchDB)	
  
Making	
  of	
  cloud	
  service	
  
•  “Cloud-­‐scale”:	
  cloud	
  services	
  should	
  meet	
  many	
  
expecta+ons:	
  
–  Elas+city,	
  scalability,	
  redundancy	
  etc.	
  
•  Cost:	
  a	
  high	
  density	
  design	
  is	
  desirable	
  so	
  that	
  
many	
  tenants	
  can	
  be	
  supported	
  with	
  minimal	
  
resources	
  	
  
–  Must	
  be	
  economically	
  viable	
  
•  Security	
  –	
  isola+on	
  between	
  tenants	
  but	
  also	
  
tenant	
  management,	
  metering	
  and	
  billing	
  
–  Security	
  is	
  not	
  op+onal	
  but	
  required	
  for	
  business	
  
$	
  
Created	
  (and	
  scaled	
  up	
  or	
  down)	
  on	
  demand	
  
Cloud	
  service	
  that	
  wraps	
  legacy	
  app	
  
Container	
  En	
  
Cloudant	
  
Browser	
   JazzHub	
  App	
  
Legacy	
  	
  
App	
  
…	
  
HTML	
  UI	
   REST	
  API	
  
Container	
  Em	
  
Legacy	
  	
  
App	
  
HTML	
  UI	
   REST	
  API	
  
Container	
  R	
  
File	
  
server	
  
Seeker	
  (Neylix	
  Zuul)	
  
Suppor+ng	
  mul+ple	
  tenants	
  with	
  
Docker	
  containers	
  
•  Incoming	
  requests	
  arrives	
  to	
  always	
  running	
  
Seeker	
  component	
  built	
  using	
  Neylix	
  Zuul	
  	
  
–  Seeker	
  check	
  request	
  for	
  tenant-­‐ID	
  (inside	
  HTTP	
  URL)	
  
and	
  checks	
  if	
  there	
  is	
  already	
  process	
  engine	
  for	
  that	
  
tenant	
  running	
  
–  If	
  no	
  tenant	
  process	
  is	
  running	
  then	
  Seeker	
  starts	
  new	
  
Docker	
  container	
  and	
  run	
  JVM	
  with	
  engine	
  
–  Seeker	
  forwards	
  the	
  request	
  to	
  tenant	
  engine	
  and	
  
wait	
  for	
  a	
  response	
  to	
  send	
  back	
  
•  Containers	
  enable	
  that	
  scenario	
  –	
  minimal	
  
overhead	
  and	
  quick	
  startup	
  of	
  containerized	
  
processes	
  
How	
  does	
  this	
  design	
  address	
  
cloud	
  requirement?	
  
•  Cloud-­‐scale	
  
–  Docker	
  containers	
  started	
  can	
  run	
  in	
  Container	
  cloud	
  
(auto-­‐scale	
  etc.)	
  
•  Mul+-­‐tenancy	
  
–  Containers	
  running	
  engine	
  JVM	
  will	
  stop	
  when	
  engine	
  
decides	
  to	
  exit	
  à	
  JVM	
  process	
  exits	
  à	
  container	
  
stops	
  (We	
  found	
  out	
  overhead	
  to	
  start	
  to	
  be	
  in	
  
seconds)	
  à	
  higher	
  density	
  à	
  $	
  
•  Security	
  
–  Only	
  JavaScript	
  code	
  is	
  executed	
  and	
  with	
  limited	
  set	
  
of	
  opera+ons,	
  addi+onal	
  work	
  on	
  network	
  isola+on	
  
etc.	
  
$	
  
Related	
  work	
  
•  Skyport	
  uses	
  containers	
  to	
  deploy	
  and	
  execute	
  
scien+fic	
  workflow	
  tasks	
  cheaply	
  in	
  a	
  cloud	
  playorm.	
  	
  
–  Skyport	
  is	
  not	
  designed	
  to	
  be	
  a	
  mul+-­‐tenant	
  cloud	
  service,	
  
and	
  hence	
  mul+-­‐tenancy,	
  density,	
  cost,	
  security,	
  and	
  
isola+on	
  are	
  not	
  cri+cal	
  requirements	
  	
  
•  Sandstorm.io	
  -­‐	
  personal	
  cloud	
  that	
  uses	
  containers	
  as	
  a	
  
natural	
  fit	
  for	
  running	
  “legacy”	
  web	
  applica+ons.	
  	
  
–  Sandstorm	
  uses	
  Linux	
  container	
  capabili+es	
  to	
  wrap	
  Web	
  
applica+ons,	
  such	
  as	
  Wordpress	
  
–  Needs	
  to	
  be	
  modified	
  to	
  store	
  all	
  the	
  state	
  in	
  the	
  /var	
  
directory,	
  use	
  RPC	
  for	
  networking	
  and	
  other	
  changes	
  to	
  fit	
  
into	
  sandbox.	
  	
  
Lessons	
  learnt	
  
•  Scalability	
  is	
  hard	
  –	
  cloud	
  ot	
  Docker	
  is	
  not	
  magic	
  …	
  
•  Anything	
  can	
  fail	
  any	
  +me!	
  	
  
–  Several	
  problems	
  with	
  virtual	
  disk	
  and	
  containers	
  corrupted	
  …	
  
•  Cloud	
  maintenance	
  happens	
  –	
  whole	
  cloud	
  failing?	
  
–  Cloud	
  reboot	
  with	
  Xen	
  VMs	
  …	
  
•  Do	
  not	
  underes+mate	
  +me	
  needed	
  to	
  make	
  changes!	
  
•  Good	
  monitoring	
  is	
  really	
  required	
  
–  Distributed	
  systems	
  …	
  
•  DevOps	
  is	
  really	
  required	
  and	
  made	
  easier	
  with	
  Docker!	
  
–  Containers	
  work	
  beGer	
  when	
  automated	
  
–  Who	
  to	
  blame	
  when	
  it	
  is	
  not	
  working	
  (see	
  above)?	
  
–  Instead	
  focus	
  on	
  incremental	
  delivery,	
  automa+on,	
  etc.	
  
–  Use	
  staged	
  deployments,	
  canaries,	
  A/B	
  tes+ng	
  etc.	
  	
  
Conclusions	
  
•  A	
  reusable	
  architectural	
  paGern	
  to	
  migrate	
  legacy	
  
applica+on	
  to	
  a	
  cloud	
  service	
  
•  The	
  architecture	
  paGern	
  can	
  be	
  used	
  by	
  other	
  
legacy	
  applica+ons	
  that	
  need	
  to	
  migrate	
  to	
  cloud	
  	
  
•  The	
  architecture	
  was	
  validated	
  by	
  the	
  Beta	
  
release	
  of	
  the	
  IBM	
  Bluemix	
  Workflow	
  service,	
  
–  Docker	
  containers	
  are	
  key	
  capability	
  to	
  manage	
  
separate	
  workflow	
  engines	
  for	
  each	
  tenant	
  combined	
  
with	
  cloud	
  database	
  for	
  persistence	
  layer	
  and	
  a	
  
content-­‐based	
  rou+ng	
  	
  
Future	
  steps	
  
•  Take	
  advantage	
  of	
  beGer	
  environments	
  to	
  run	
  
containers	
  –	
  future	
  of	
  cloud	
  is	
  containers?	
  
•  Even	
  more	
  lightweight	
  composi+ons	
  that	
  use	
  
new	
  run+me	
  systems	
  
–  Cusina	
  –	
  use	
  recipes	
  like	
  IFTTT	
  but	
  run	
  them	
  in	
  
enterprise,	
  support	
  sharing	
  and	
  collabora+on	
  
•  Easy	
  to	
  create	
  but	
  not	
  easy	
  to	
  understand	
  what	
  is	
  
happening?	
  
–  BPI	
  –	
  Business	
  Process	
  Insight	
  project	
  but	
  for	
  any	
  
process	
  
Future	
  
•  Dinosaurs	
  à	
  Birds	
  à	
  ???	
  
•  VM	
  à	
  Docker	
  à	
  ???	
  
	
  
•  X	
  à	
  Y	
  à	
  ???	
  
•  ???	
  is	
  a{er	
  “event	
  horizon”	
  of	
  what	
  we	
  can	
  see	
  
now?	
  Unexpected	
  unexpected	
  …	
  
•  Wikipedia	
  hGps://en.wikipedia.org/wiki/Dinosaur	
  	
  
Ques+ons	
  
•  And	
  last	
  but	
  not	
  least	
  …	
  
– Are	
  you	
  interested	
  in	
  similar	
  topics	
  and	
  having	
  the	
  
both	
  academia	
  and	
  industry?	
  
•  Check	
  our	
  IBM	
  Research	
  Service	
  IntegraDon	
  and	
  
AnalyDcs	
  Group	
  page	
  
hGp://researcher.watson.ibm.com/researcher/
view_group.php?id=2972	
  	
  
•  We	
  have	
  openings	
  for	
  a	
  full	
  Dme	
  researcher,	
  
summer	
  interns,	
  and	
  open	
  tßo	
  the	
  opDon	
  of	
  
visiDng	
  scienDsts.	
  
BACKUP	
  
Creating Scripts: Login, author,
deploy, invoke in minutes
1.  Web-based authoring in Orion in
JazzHub
2. Content assist for built-in activities.
3. Call template for service endpoints
4. Convenient buttons to deploy and invoke. Runs in BlueMix
BlueMix	
  

More Related Content

What's hot

(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive OverviewBob Killen
 
RBAC in Azure Kubernetes Service AKS
RBAC in Azure Kubernetes Service AKSRBAC in Azure Kubernetes Service AKS
RBAC in Azure Kubernetes Service AKSEmad Alashi
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesWill Hall
 
Service Discovery In Kubernetes
Service Discovery In KubernetesService Discovery In Kubernetes
Service Discovery In KubernetesKnoldus Inc.
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Ramit Surana
 
Lessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure codeLessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure codeYevgeniy Brikman
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overviewGabriel Carro
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overviewrajdeep
 
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18CodeOps Technologies LLP
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioningbuildacloud
 
CloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesCloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesSebastien Goasguen
 
Kubernetes Requests and Limits
Kubernetes Requests and LimitsKubernetes Requests and Limits
Kubernetes Requests and LimitsAhmed AbouZaid
 
Getting started with kubernetes
Getting started with kubernetesGetting started with kubernetes
Getting started with kubernetesBob Killen
 
Meetup 12-12-2017 - Application Isolation on Kubernetes
Meetup 12-12-2017 - Application Isolation on KubernetesMeetup 12-12-2017 - Application Isolation on Kubernetes
Meetup 12-12-2017 - Application Isolation on Kubernetesdtoledo67
 
Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.Nills Franssens
 
Brief Introduction To Kubernetes
Brief Introduction To KubernetesBrief Introduction To Kubernetes
Brief Introduction To KubernetesAvinash Ketkar
 
(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at ScaleAmazon Web Services
 
Running your dockerized application(s) on AWS Elastic Container Service
Running your dockerized application(s) on AWS Elastic Container ServiceRunning your dockerized application(s) on AWS Elastic Container Service
Running your dockerized application(s) on AWS Elastic Container ServiceMarco Pas
 

What's hot (20)

(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview(Draft) Kubernetes - A Comprehensive Overview
(Draft) Kubernetes - A Comprehensive Overview
 
RBAC in Azure Kubernetes Service AKS
RBAC in Azure Kubernetes Service AKSRBAC in Azure Kubernetes Service AKS
RBAC in Azure Kubernetes Service AKS
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 
Service Discovery In Kubernetes
Service Discovery In KubernetesService Discovery In Kubernetes
Service Discovery In Kubernetes
 
Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack Exploring Openstack Swift(Object Storage) and Swiftstack
Exploring Openstack Swift(Object Storage) and Swiftstack
 
Clocker and OpenStack
Clocker and OpenStackClocker and OpenStack
Clocker and OpenStack
 
Lessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure codeLessons learned from writing over 300,000 lines of infrastructure code
Lessons learned from writing over 300,000 lines of infrastructure code
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overview
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
Cloudfoundry Overview
Cloudfoundry OverviewCloudfoundry Overview
Cloudfoundry Overview
 
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
Securing Containers - Sathyajit Bhat - Adobe - Container Conference 18
 
Orchestration & provisioning
Orchestration & provisioningOrchestration & provisioning
Orchestration & provisioning
 
CloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use CasesCloudStack Conference Public Clouds Use Cases
CloudStack Conference Public Clouds Use Cases
 
Kubernetes Requests and Limits
Kubernetes Requests and LimitsKubernetes Requests and Limits
Kubernetes Requests and Limits
 
Getting started with kubernetes
Getting started with kubernetesGetting started with kubernetes
Getting started with kubernetes
 
Meetup 12-12-2017 - Application Isolation on Kubernetes
Meetup 12-12-2017 - Application Isolation on KubernetesMeetup 12-12-2017 - Application Isolation on Kubernetes
Meetup 12-12-2017 - Application Isolation on Kubernetes
 
Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.Making sense of containers, docker and Kubernetes on Azure.
Making sense of containers, docker and Kubernetes on Azure.
 
Brief Introduction To Kubernetes
Brief Introduction To KubernetesBrief Introduction To Kubernetes
Brief Introduction To Kubernetes
 
(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale
 
Running your dockerized application(s) on AWS Elastic Container Service
Running your dockerized application(s) on AWS Elastic Container ServiceRunning your dockerized application(s) on AWS Elastic Container Service
Running your dockerized application(s) on AWS Elastic Container Service
 

Viewers also liked

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotBaruch Sadogursky
 
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...festival ICT 2016
 
Dalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PADalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PAMaria Cristina Lavazza
 
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudAutomatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudSonia Pepe
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioPar-Tec S.p.A.
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes APIStefan Schimanski
 
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...Par-Tec S.p.A.
 
Corso Resp 16 Lezione Analisi Rischio
Corso Resp   16 Lezione   Analisi RischioCorso Resp   16 Lezione   Analisi Rischio
Corso Resp 16 Lezione Analisi RischioLuca Vecchiato
 
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherVMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherEduardo Patrocinio
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeAcademy
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...MongoDB
 
7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
7 characteristics of container-native infrastructure, Docker Zurich 2015-09-087 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08Casey Bisson
 
Certificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud ComputingCertificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud ComputingMailUp
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with dockerRuoshi Ling
 

Viewers also liked (16)

How we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we gotHow we took our server side application to the cloud and liked what we got
How we took our server side application to the cloud and liked what we got
 
Docker. General overview
Docker. General overviewDocker. General overview
Docker. General overview
 
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
Il paradigma UCaaS: come migliorare i processi di business dell’azienda attra...
 
Dalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PADalla parte degli utenti: riprogettare un sito della PA
Dalla parte degli utenti: riprogettare un sito della PA
 
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloudAutomatic Cloud Deployment: un caso di studio basato sul software OwnCloud
Automatic Cloud Deployment: un caso di studio basato sul software OwnCloud
 
Open Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studioOpen Source Day 2015 - DBaaS con Docker: un caso di studio
Open Source Day 2015 - DBaaS con Docker: un caso di studio
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes API
 
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
Open Source Day 2016 - Caso cliente: OpenStack Self Data Center, il cloud com...
 
Corso Resp 16 Lezione Analisi Rischio
Corso Resp   16 Lezione   Analisi RischioCorso Resp   16 Lezione   Analisi Rischio
Corso Resp 16 Lezione Analisi Rischio
 
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put togetherVMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
VMware, SoftLayer, OpenStack, Heat, Cloud Foundry and Docker put together
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
 
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
Securing MongoDB to Serve an AWS-Based, Multi-Tenant, Security-Fanatic SaaS A...
 
7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
7 characteristics of container-native infrastructure, Docker Zurich 2015-09-087 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
7 characteristics of container-native infrastructure, Docker Zurich 2015-09-08
 
Certificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud ComputingCertificazioni di Sicurezza in ambito Cloud Computing
Certificazioni di Sicurezza in ambito Cloud Computing
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 

Similar to Building a multi-tenant cloud service from legacy code with Docker containers

從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐Pahud Hsieh
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsRyan Green
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudDavid Veksler
 
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...Amazon Web Services
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudMongoDB
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and dockerShapeBlue
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWSDavid Mat
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb à Québec
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applicationsCorley S.r.l.
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2Docker, Inc.
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedDataStax Academy
 
Build your own private Cloud environment
Build your own private Cloud environmentBuild your own private Cloud environment
Build your own private Cloud environmentNico Meisenzahl
 
DNUG46 - Build your own private Cloud environment
DNUG46 - Build your own private Cloud environmentDNUG46 - Build your own private Cloud environment
DNUG46 - Build your own private Cloud environmentpanagenda
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateMichael Elder
 
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Tony Erwin
 
Lc3 beijing-june262018-sahdev zala-guangya
Lc3 beijing-june262018-sahdev zala-guangyaLc3 beijing-june262018-sahdev zala-guangya
Lc3 beijing-june262018-sahdev zala-guangyaSahdev Zala
 

Similar to Building a multi-tenant cloud service from legacy code with Docker containers (20)

從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐從劍宗到氣宗  - 談AWS ECS與Serverless最佳實踐
從劍宗到氣宗 - 談AWS ECS與Serverless最佳實踐
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloud
 
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
AWS September Webinar Series - Visual Effects Rendering in the AWS Cloud with...
 
Java Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the CloudJava Agile ALM: OTAP and DevOps in the Cloud
Java Agile ALM: OTAP and DevOps in the Cloud
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWS
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
JOSA TechTalks - Downgrade your Costs
JOSA TechTalks - Downgrade your CostsJOSA TechTalks - Downgrade your Costs
JOSA TechTalks - Downgrade your Costs
 
AWS in Practice
AWS in PracticeAWS in Practice
AWS in Practice
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Cassandra and Docker Lessons Learned
Cassandra and Docker Lessons LearnedCassandra and Docker Lessons Learned
Cassandra and Docker Lessons Learned
 
Build your own private Cloud environment
Build your own private Cloud environmentBuild your own private Cloud environment
Build your own private Cloud environment
 
DNUG46 - Build your own private Cloud environment
DNUG46 - Build your own private Cloud environmentDNUG46 - Build your own private Cloud environment
DNUG46 - Build your own private Cloud environment
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud Private
 
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
 
Lc3 beijing-june262018-sahdev zala-guangya
Lc3 beijing-june262018-sahdev zala-guangyaLc3 beijing-june262018-sahdev zala-guangya
Lc3 beijing-june262018-sahdev zala-guangya
 

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Building a multi-tenant cloud service from legacy code with Docker containers

  • 1. Building  a  mul+-­‐tenant  cloud   service  from  legacy  code  with   Docker  containers     Aleksander Slominski, Vinod Muthusamy, and Rania Khalaf {aslom, vmuthus, rkhalaf} at us.ibm.com IBM T.J. Watson Research Center  
  • 2. Overview   •  A  bit  of  history  …   •  IBM  Bluemix  Workflow  Service  Beta   •  Legacy  non-­‐cloud  web  applica+on     •  Building  mul+-­‐tenant  cloud  architecture  with   Docker  containers   •  Conclusions  and  future  direc+ons   Slides  at    hGp://www.slideshare.net/aslomibm    
  • 3. Why  did  we  do  it?   •  We  developed  very  lightweight  REST-­‐centric  workflow   engine  that  was  inspired  by  BPEL   –  Bite:  Workflow  Composi+on  for  the  Web.  Presented  at  the   ICSOC  Conference  2007   •  hGp://www.slideshare.net/raniakhalaf/flow-­‐composi+on-­‐in-­‐ resource-­‐centric-­‐environment     •  It  was  built  in  Java  and  used  servlets  –  just  run  .war  in   servlet  container  and  connect  to  rela+onal  database   for  persistence  (circa  2007)   •  Developed  for  Mashups,  used  Atom/RSS,  script-­‐like   approach  to  data  typing,  extensible  ac+vi+es  can  be   defined  in  Java,  Groovy  or  other  JVM-­‐supported   scrip+ng  language  ex.  <sendEmail  address=‘…’>  
  • 4. Legacy  (non-­‐cloud)  applica+on   Legacy  App:   Tomcat  or  WebSphere  running   workflow  engine  packaged  as  .war   Uses  pluggable  persistence:     File  system   RDBMS   Browser   App   REST  API  HTML  UI  
  • 5. What  changed  in  7  years?   •  s/Java/JavaScript/g   •  s/XML/JSON/g   •  s/Mashup/Cloud/g   •  Etc.   •  Expecta+ons:  users  want  to  get  from  idea  to   running  workflow  in  seconds:   – Write  JavaScript  code  in  Web  IDE  like  Orion?  
  • 6. IBM  Bluemix  Workflow   Take  form  ar+cle  “Create  an  applica+on  with  the  IBM   Workflow  for  Bluemix”:   –  hGp://www.ibm.com/developerworks/cloud/library/cl-­‐ workflow1-­‐trs/     buildSaleObj  =  SCRIPT(weather,  func+on()  {          var  emailbody  =  'You  got  20%  discount!  Please  use  code  '+  coupon  +'  online  or  in  stores.';          if(weather.out.main.temp  >=  290){        emailbody  +=  'It  is  quite  warm  out.  Try  our  new  iced  Mocha-­‐LaGe!';          }  else  emailbody  +=  "Try  our  new  Caffe  Malin”   });   sendmail  =  POST(buildSaleObj,  'hGps://api.sendgrid.com/api/mail.send.json’,        {  //….    'text':  emailbody});  
  • 7. Changes  needed  in  “legacy”  code   (legacy  =  non-­‐cloud)  for  Beta:       •  How  to  support  mul+ple  tenants  when  majority  runs  only  few  workflows?   –  1%  usage  during  a  24  hour  period  means  the  service  will  only  be  used   for  about  15  minutes  (in  reality  it  was  much  lower  …)   –  But  they  can  invoke  workflow  service  any  +me!   •  Solu+on?  à  Start  JVM,  engine  and  load  state  to  process  request  in   seconds.  And  when  no  workflows  running  stop  JVM  à  savings   •  File-­‐systems  and  cloud  not  a  perfect  match:   –  Storage  needs  to  be  fault-­‐tolerant  and  work  at  cloud  scale   –  Unless  special  effort  is  made  files  are  ephemeral  (ex.  configura+on   files  inside  container  –  how  to  manage  volumes  in  cloud?)   –  If  possible  convert  file  opera+ons  to  use  (NoSQL)  database  or  cloud   storage  (store  your  configura+on  in  key-­‐value  JSON  store  like   Cloudant  or  Apache  CouchDB)  
  • 8. Making  of  cloud  service   •  “Cloud-­‐scale”:  cloud  services  should  meet  many   expecta+ons:   –  Elas+city,  scalability,  redundancy  etc.   •  Cost:  a  high  density  design  is  desirable  so  that   many  tenants  can  be  supported  with  minimal   resources     –  Must  be  economically  viable   •  Security  –  isola+on  between  tenants  but  also   tenant  management,  metering  and  billing   –  Security  is  not  op+onal  but  required  for  business   $  
  • 9. Created  (and  scaled  up  or  down)  on  demand   Cloud  service  that  wraps  legacy  app   Container  En   Cloudant   Browser   JazzHub  App   Legacy     App   …   HTML  UI   REST  API   Container  Em   Legacy     App   HTML  UI   REST  API   Container  R   File   server   Seeker  (Neylix  Zuul)  
  • 10. Suppor+ng  mul+ple  tenants  with   Docker  containers   •  Incoming  requests  arrives  to  always  running   Seeker  component  built  using  Neylix  Zuul     –  Seeker  check  request  for  tenant-­‐ID  (inside  HTTP  URL)   and  checks  if  there  is  already  process  engine  for  that   tenant  running   –  If  no  tenant  process  is  running  then  Seeker  starts  new   Docker  container  and  run  JVM  with  engine   –  Seeker  forwards  the  request  to  tenant  engine  and   wait  for  a  response  to  send  back   •  Containers  enable  that  scenario  –  minimal   overhead  and  quick  startup  of  containerized   processes  
  • 11. How  does  this  design  address   cloud  requirement?   •  Cloud-­‐scale   –  Docker  containers  started  can  run  in  Container  cloud   (auto-­‐scale  etc.)   •  Mul+-­‐tenancy   –  Containers  running  engine  JVM  will  stop  when  engine   decides  to  exit  à  JVM  process  exits  à  container   stops  (We  found  out  overhead  to  start  to  be  in   seconds)  à  higher  density  à  $   •  Security   –  Only  JavaScript  code  is  executed  and  with  limited  set   of  opera+ons,  addi+onal  work  on  network  isola+on   etc.   $  
  • 12. Related  work   •  Skyport  uses  containers  to  deploy  and  execute   scien+fic  workflow  tasks  cheaply  in  a  cloud  playorm.     –  Skyport  is  not  designed  to  be  a  mul+-­‐tenant  cloud  service,   and  hence  mul+-­‐tenancy,  density,  cost,  security,  and   isola+on  are  not  cri+cal  requirements     •  Sandstorm.io  -­‐  personal  cloud  that  uses  containers  as  a   natural  fit  for  running  “legacy”  web  applica+ons.     –  Sandstorm  uses  Linux  container  capabili+es  to  wrap  Web   applica+ons,  such  as  Wordpress   –  Needs  to  be  modified  to  store  all  the  state  in  the  /var   directory,  use  RPC  for  networking  and  other  changes  to  fit   into  sandbox.    
  • 13. Lessons  learnt   •  Scalability  is  hard  –  cloud  ot  Docker  is  not  magic  …   •  Anything  can  fail  any  +me!     –  Several  problems  with  virtual  disk  and  containers  corrupted  …   •  Cloud  maintenance  happens  –  whole  cloud  failing?   –  Cloud  reboot  with  Xen  VMs  …   •  Do  not  underes+mate  +me  needed  to  make  changes!   •  Good  monitoring  is  really  required   –  Distributed  systems  …   •  DevOps  is  really  required  and  made  easier  with  Docker!   –  Containers  work  beGer  when  automated   –  Who  to  blame  when  it  is  not  working  (see  above)?   –  Instead  focus  on  incremental  delivery,  automa+on,  etc.   –  Use  staged  deployments,  canaries,  A/B  tes+ng  etc.    
  • 14. Conclusions   •  A  reusable  architectural  paGern  to  migrate  legacy   applica+on  to  a  cloud  service   •  The  architecture  paGern  can  be  used  by  other   legacy  applica+ons  that  need  to  migrate  to  cloud     •  The  architecture  was  validated  by  the  Beta   release  of  the  IBM  Bluemix  Workflow  service,   –  Docker  containers  are  key  capability  to  manage   separate  workflow  engines  for  each  tenant  combined   with  cloud  database  for  persistence  layer  and  a   content-­‐based  rou+ng    
  • 15. Future  steps   •  Take  advantage  of  beGer  environments  to  run   containers  –  future  of  cloud  is  containers?   •  Even  more  lightweight  composi+ons  that  use   new  run+me  systems   –  Cusina  –  use  recipes  like  IFTTT  but  run  them  in   enterprise,  support  sharing  and  collabora+on   •  Easy  to  create  but  not  easy  to  understand  what  is   happening?   –  BPI  –  Business  Process  Insight  project  but  for  any   process  
  • 16. Future   •  Dinosaurs  à  Birds  à  ???   •  VM  à  Docker  à  ???     •  X  à  Y  à  ???   •  ???  is  a{er  “event  horizon”  of  what  we  can  see   now?  Unexpected  unexpected  …   •  Wikipedia  hGps://en.wikipedia.org/wiki/Dinosaur    
  • 17. Ques+ons   •  And  last  but  not  least  …   – Are  you  interested  in  similar  topics  and  having  the   both  academia  and  industry?   •  Check  our  IBM  Research  Service  IntegraDon  and   AnalyDcs  Group  page   hGp://researcher.watson.ibm.com/researcher/ view_group.php?id=2972     •  We  have  openings  for  a  full  Dme  researcher,   summer  interns,  and  open  tßo  the  opDon  of   visiDng  scienDsts.  
  • 19. Creating Scripts: Login, author, deploy, invoke in minutes 1.  Web-based authoring in Orion in JazzHub 2. Content assist for built-in activities. 3. Call template for service endpoints 4. Convenient buttons to deploy and invoke. Runs in BlueMix BlueMix