building a cloud native platform with apache paas

18
Last Updated: March. 2014 VP Developer Evangalism Samisa Abeysinghe Building a Cloud Na5ve Pla8orm with Apache Stratos

Upload: samisa

Post on 08-May-2015

365 views

Category:

Education


0 download

DESCRIPTION

As a PaaS framework, there are some key elements that the cloud computing industry is taking interest on Apache Stratos (incubating). This presentation explore the unique advantaged of Apache Stratos as a PaaS framework.

TRANSCRIPT

Page 1: Building a cloud native platform with Apache PaaS

Last Updated: March. 2014

VP  Developer  Evangalism    

Samisa  Abeysinghe  

Building  a  Cloud  Na5ve  Pla8orm  with  Apache  

Stratos  

Page 2: Building a cloud native platform with Apache PaaS

*  *  

๏  Cloud  Na)ve  pla-orms  accelerates  innova)on,  increases  opera)onal  efficiency,  reduces  costs  

๏  The  key  building  blocks  of  the  cloud  na)ve  pla-orms  are        -­‐  service  provisioning        -­‐  load  balancing        -­‐  management        -­‐  policy  enforcement        -­‐  auto  scaling        -­‐  monitoring,  metering  and  logging        -­‐  mul)-­‐tenancy        -­‐  mul)-­‐cloud,  cloud  SLA  and  cloud  burs)ng        -­‐  control/governance        -­‐  extendability  

Cloud  Na5ve  Pla8orm  

Page 3: Building a cloud native platform with Apache PaaS

*  *  

๏  Enterprise-­‐grade  Open  Pla-orm  as  a  Service  

๏  Stratos  ini)ally  developed  by  WSO2  and  donated  to  Apache  Stratos  

What  is  Apache  Stratos  (incuba5ng)?  

Page 4: Building a cloud native platform with Apache PaaS

*  *  

Apache  Stratos  PaaS  Layered  Architecture  

Page 5: Building a cloud native platform with Apache PaaS

*  *  

Why  is  this  architecture  so  important?  ๏  Cartridge  model  enable  bringing  in  even  legacy  apps  

into  cloud  ๏  Unified  communica)on  across  components  in  the  PaaS  

using  message  broker    ๏  Centralized  monitoring  and  metering  with  unified  

logging  framework        -­‐  ability  to  plug  in  BAM  

๏  Ability  to  plugin  any  IaaS  due  to  the  use  of  jclouds  API  ๏  Ability  to  plugin  any  third  party  load  balancer  using  

message  broker  model  ๏  Ability  to  plugin  any  third  party  health  checking/

monitoring  framework  

Apache  Stratos  PaaS  Architecture  

Page 6: Building a cloud native platform with Apache PaaS

*  *  

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 7: Building a cloud native platform with Apache PaaS

*  *  

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

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

Scalable  and  Dynamic  Load  Balancing..  

Page 8: Building a cloud native platform with Apache PaaS

*  *  

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

   -­‐  Load  avarage  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    

Mul5-­‐factored  Auto  Scaling  

Page 9: Building a cloud native platform with Apache PaaS

*  *  

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  

Mul5-­‐factored  Auto  Scaling...  

Page 10: Building a cloud native platform with Apache PaaS

*  *  

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  paYerns  

Smart  Policies  

Page 11: Building a cloud native platform with Apache PaaS

*  *  

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 12: Building a cloud native platform with Apache PaaS

*  *  

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  

   -­‐  by  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  

Mul5-­‐tenancy  

Page 13: Building a cloud native platform with Apache PaaS

*  *  

What  is  a  Par55on?  ๏  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  par55on?  ๏  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 14: Building a cloud native platform with Apache PaaS

*  *  

What  are  the  advantages?  ๏  Can  controll  

   -­‐  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 15: Building a cloud native platform with Apache PaaS

*  *  

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  

Cloud  Burs5ng  

Page 16: Building a cloud native platform with Apache PaaS

*  *  

What  are  the  advantages?  ๏  Make  DevOps  life  easy  ๏  Low  TCO,  and  higher  u)liza)on  exis)ng  dedicated  

resources  

Cloud  Burs5ng...  

Page 17: Building a cloud native platform with Apache PaaS

*  *  

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?  ๏  DevOps  life  easy  

   -­‐  centralize  log  viewer      -­‐  centralize  dashboard  

๏  Easy  to  throYling  

Logging,  Metering  and  Monitoring  

Page 18: Building a cloud native platform with Apache PaaS

*  *  

More  Informa5on  !  

๏  Apache Stratos (Incubating) - http://stratos.incubator.apache.org/

๏  WSO2 Private PaaS - http://wso2.com/cloud/private-paas/