+ All Categories
Home > Technology > QCon New York 2014 - Apache Stratos

QCon New York 2014 - Apache Stratos

Date post: 08-Jul-2015
Category:
Upload: samisa
View: 346 times
Download: 2 times
Share this document with a friend
Description:
PaaS Design and Architecture: A Deep Dive into Apache Stratos
42
PaaS Design and Architecture: A Deep Dive into Apache Stratos Samisa Abeysinghe VP Delivery, WSO2 Member Apache So<ware FoundaAon 11 th June 2014
Transcript
Page 1: QCon New York 2014  - Apache Stratos

PaaS  Design  and  Architecture:    A  Deep  Dive  into    Apache  Stratos  

Samisa  Abeysinghe  VP  Delivery,  WSO2    

Member  Apache  So<ware  FoundaAon    

11th  June  2014          

Page 2: QCon New York 2014  - Apache Stratos

What  is  Apache  Stratos  ?  

●  A  Pla'orm-­‐as-­‐a-­‐Service  (PaaS)  Framework  from  Apache  Community  

●  Ini@ally  developed  and  maintained  by  WSO2  ●  Donated  to  Apache  SoGware  Founda@on  ●  Evolved  within  the  Apache  Community  for  nearly  a  year  ●  Significantly  re-­‐architected  and  improved  in  Apache  ●  Graduated  to  an  Apache  TLP  last  month  (May  2014)    

Page 3: QCon New York 2014  - Apache Stratos

What  does  it  Do?  

●  Elas@c  scalability  for  any  type  of  service  using  underlying  infrastructure  cloud  

●  Managing  logging  and  metering  for  services  ●  Provides  founda@on  services  

●  User  management  ●  Storage  ●  Billing    

Page 4: QCon New York 2014  - Apache Stratos

Topics  Covered  

●  Architecture    ●  Scalable  and  dynamic  load  balancing  ●  Mul@-­‐factored  auto  scaling    ●  Controlling  IaaS  resources  ●  Smart  policies    ●  Mul@-­‐tenancy    ●  Cloud  burs@ng    ●  Logging,  metering  and  monitoring        

Page 5: QCon New York 2014  - Apache Stratos

Architecture  

Page 6: QCon New York 2014  - Apache Stratos

*  

Apache  Stratos  Layered  Architecture  

Page 7: QCon New York 2014  - Apache Stratos

Stratos Architecture  

Page 8: QCon New York 2014  - Apache Stratos

Stratos Controller  

Page 9: QCon New York 2014  - Apache Stratos

IaaS  Integra?on  with  jclouds    

Page 10: QCon New York 2014  - Apache Stratos

Services  

Page 11: QCon New York 2014  - Apache Stratos

Real  Time  Event  Bus  

Page 12: QCon New York 2014  - Apache Stratos

*  

Apache  Stratos  Message  Flows  

Page 13: QCon New York 2014  - Apache Stratos

Founda?on  Services  

Page 14: QCon New York 2014  - Apache Stratos

Stratos Architecture  

Page 15: QCon New York 2014  - Apache Stratos

*  

Why  is  this  architecture  so  important?  ๏  Unified  communica@on  across  components  in  the  PaaS  

using  message  broker    ๏  Ability  to  plugin  any  third  party  load  balancer  using  message  

broker  model  ๏  A  real  @me  event  bus  to  capture  and  process  complex  

events    ๏  Centralized  monitoring  and  metering  with  unified  

logging  framework  ๏  Ability  to  plugin  any  third  party  health  checking/monitoring  

framework  ๏  Ability  to  plugin  any  IaaS  due  to  the  use  of  jclouds  API  ๏  Cartridge  model  enable  bringing  in  even  legacy  apps  

into  cloud  as  service  nodes      

Architecture  Advantages    

Page 16: QCon New York 2014  - Apache Stratos

Stratos  Cartridges  

Not only Web Oriented: e.g. Can Scale Thrift Services

Page 17: QCon New York 2014  - Apache Stratos

Scalable  and  Dynamic    Load  Balancing  

Page 18: QCon New York 2014  - Apache Stratos

*  

How  Scalable  it  is?  ๏  In  theory  infinite  

 -­‐  horizontal  scaling    -­‐  limited  by  resource  (instance  capacity)  availability  

 How  Dynamic  it  is?  ๏  Load  Balancers  are  spawned  dynamically  

 -­‐  LB  too  is  a  cartridge  ๏  In  case  of  mul@-­‐cloud,  mul@-­‐region,  LB  can  scale  per  

cloud/region  ๏  Per  service  cluster  LB  

Scalable  and  Dynamic  Load  Balancing  

Page 19: QCon New York 2014  - Apache Stratos

*  

What  is  unique  about  Stratos  ๏  Cartridge  based  LB  model  ๏  Can  bring  any  third-­‐party  LB  

 -­‐  HAProxy,  nginx,  AWS  ELB    -­‐  As  easy  as  plugging  into  LB  extension  API  

Scalable  and  Dynamic  Load  Balancing..  

Page 20: QCon New York 2014  - Apache Stratos

*  

Scalable  and  Dynamic  Load  Balancing..  

Page 21: QCon New York 2014  - Apache Stratos

Mul;-­‐Factored  Auto  Scaling  

Page 22: QCon New York 2014  - Apache Stratos

*  

What  is  it?  ๏  Scaling  algorithm  can  use  mul@ple  factors.  such  as  

 -­‐  Load  average  of  the  instance    -­‐  Memory  consump@on  of  the  instance    -­‐  In-­‐flight  request  count  in  LB  

 ๏  Capable  of  predic@ng  future  load                    -­‐  Real  @me  analysis  of  current  load  status  using  CEP    

     integra@on  -­‐  Predict  immediate  future  load  based  on  CEP          resul@ng  streams    -­‐  Predic@ng  equa@on  s=ut  +  ½  at2  -­‐  s=predicted  load,  u=first  deriva@ve  of  current        average  load,  t=  @me  interval  ,  a=second  deriva@ve      of  current  load  

 

Mul?-­‐factored  Auto  Scaling  

Page 23: QCon New York 2014  - Apache Stratos

*  

Why  should  one  care?  ๏  Maximise  resource  u@liza@on  ๏  Easy  to  do  capacity  planning  ๏  Dynamic  load  based  resource  provisioning  ๏  Op@mizing  across  mul@ple  clouds  What  are  the  advantages?  ๏  Make  DevOps  life  easy  ๏  More  accurate  capacity  planning  

Mul?-­‐factored  Auto  Scaling...  

Page 24: QCon New York 2014  - Apache Stratos

*  

Mul?-­‐factored  Auto  Scaling...  

Page 25: QCon New York 2014  - Apache Stratos

Controlling  IaaS  Resources    

Page 26: QCon New York 2014  - Apache Stratos

*  

What  is  a  Par??on?  ๏  Logically  group  IaaS  resource  loca@ons  ๏  Par@@ons  are  important  to  make  applica@on  high  

availability  ๏  Cartridge  instances  are  spawned  inside  these  par@@ons  ๏  Par@@ons  are  defined  by  DevOps  What  is  a  network  par??on?  ๏  Logical  groups  mul@ple  par@@ons,  that  are  in  the  same  

network  ๏  Stratos  will  spawn  Load  Balancers  per  network  par@@on  ๏  Since  LB  instances  and  cartridge  instances  reside  in  

same  network,  they  can  communicate  using  private  IP  addresses  

๏  Used  in  deployment  policies      

Controlling  IaaS  Resources  

Page 27: QCon New York 2014  - Apache Stratos

*  

What  are  the  advantages?  ๏  Can  control  

๏  per  cloud,  per  region,  per  zone,  ...etc  ๏  Can  achieve  high  availability,  disaster  recovery  ๏  Help  for  cloud  SLA  ๏  Control  the  resource  u@liza@on  ๏  Help  with  geo  based  deployments  

๏  help  comply  with  geo  rules/regula@ons  

Controlling  IaaS  Resources  

Page 28: QCon New York 2014  - Apache Stratos

Smart  Policies    

Page 29: QCon New York 2014  - Apache Stratos

*  

What  are  the  smart  policies?  ๏  Auto  scaling  ๏  Deployment  Auto  scaling  policy  ๏  Define  thresholds  values  pertaining  scale  up/down  

decision    ๏  Auto  Scaler  refer  this  policy  ๏  Defined  by  DevOps  Deployment  policy  ๏  Defined  how  and  where  to  spawn  cartridge  instances  ๏  Defined  min  and  max  instances  in  a  selected  service  

cluster  ๏  Defined  by  DevOps  based  on  deployment  paaerns    

Smart  Policies  

Page 30: QCon New York 2014  - Apache Stratos

*  

Why  should  one  care?  ๏  Can  provide  cloud  SLA    What  are  the  advantages?  ๏  Make  DevOps  life  easy  

 -­‐  Help  keep  to  SLA  ๏  Make  SaaS  app  delivery  life  easy  

 -­‐  Do  not  have  to  worry  about  availability  in  applica@on  layer      

Smart  Policies  

Page 31: QCon New York 2014  - Apache Stratos

Mul;-­‐Tenancy    

Page 32: QCon New York 2014  - Apache Stratos

*  

What  MT  model  does  it  support?  ๏  Container  MT  

 -­‐  virtual  Machine,  LXC,  Docker  ๏  In-­‐container  MT  

 -­‐  within  VM/LXC/Docker  tenancy  What  is  unique?  ๏  Can  have  high  tenant  density  What  are  the  advantage  of  this  model?  ๏  Op@mizing  resource  u@liza@on  

๏  Sharing  resource  such  as  CPU,  memory  across  tenants  ๏  low  footprint,  based  on  u@liza@on/usage  of  the          tenants  app  

๏  No  need  dedicated  resource  alloca@on  for  tenants  

Mul?-­‐tenancy  

Page 33: QCon New York 2014  - Apache Stratos

Cloud  Burs;ng    

Page 34: QCon New York 2014  - Apache Stratos

*  

What  is  it?  ๏  Expanding/provisioning  applica@on  into  another  cloud  

to  handle  peak  load.  Why  Should  one  care?  ๏  Resource  peak  @me  can  be  off-­‐loaded  to  third  party  

clouds/resources  What  is  unique  about  it?  ๏  Can  off-­‐load  to  any  cloud  -­‐  Private,  Public  and  Hybrid  

๏  Easy  to  managed  with  the  model  of  LB  per  bus@ng  cloud  What  are  the  advantages?  ๏  Make  DevOps  life  easy  ๏  Low  TCO,  and  higher  u@liza@on  exis@ng  dedicated  

resources    

Cloud  Burs?ng  

Page 35: QCon New York 2014  - Apache Stratos

Cloud  Burs?ng

Page 36: QCon New York 2014  - Apache Stratos

Logging,  Metering  and  Monitoring  

Page 37: QCon New York 2014  - Apache Stratos

*  

How  detail  it  is?  ๏  Instance  up/down  @me  ๏  Each  and  every  instance  public  health  status  

๏  applica@on  health,  OS  health  like  load  average,  memory  consump@on    

๏  Applica@on  logs  Why  should  one  care?  ๏  Centralize  view  for  all  logging,  metering  and  monitoring  What  are  the  advantages?  ๏  Easy  to  make  throaling  ๏  DevOps  life  easy  

๏  centralize  log  viewer  ๏  centralize  dashboard  

Logging,  Metering  and  Monitoring  

Page 38: QCon New York 2014  - Apache Stratos

DevOps  Tooling    

Page 39: QCon New York 2014  - Apache Stratos

Be  Part  of  It  

Page 40: QCon New York 2014  - Apache Stratos

What  are  the  Advantages    

●  Elas@c  scalability  for  “anything”  –  not  only  HTTP  based  services    

●  Cloud  burs@ng    ●  Scale  across  mul@ple  infrastructure  clouds  (IaaS)  simultaneously    

●  Mul@  zone/data  center  support      ●  Mul@ple  tenant  isola@on  levels    

●  In  container  mul@  tenancy    ●  OS  container  (LXC,  Docker)    ●  Virtual  machines    ●  Physical  machines    

Page 41: QCon New York 2014  - Apache Stratos

What  Can  you  Do  with  it?    

●  Build  your  SaaS  applica@ons  on  top  of  it  ●  Create  Cartridges  to  extend  the  services    ●  Cloud  enable  your  applica@ons    ●  Scale  your  legacy  applica@ons    

Page 42: QCon New York 2014  - Apache Stratos

Apache  Stratos    

●  Try  it!  ●  Be  part  of  it!!!  o Contribute  Cartridges  –  Cartridge  Store  o  Join  the  community!!!    ●  hap://stratos.apache.org/index.html    o  Facebook:  haps://www.facebook.com/apache.stratos  o  LinkedIn:  hap://www.linkedin.com/groups/Apache-­‐Stratos-­‐5131436    o  Twiaer:  haps://twiaer.com/ApacheStratos  


Recommended