Stratos Open PaaS OSCON 2011

5,507 views
5,219 views

Published on

My OSCON 11 presentation on Stratos

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
5,507
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
76
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Stratos Open PaaS OSCON 2011

  1.      WSO2  Stratos  –  Open  Source  Public  and   Private  PaaS       Paul  Fremantle   CTO  and  Co-­‐Founder   www.wso2.com     paul@wso2.com   #pzfreo    
  2. Paul  Fremantle  •  Working  in  Apache  since  2002  •  Apache  Member  and  Commi8er  •  CTO  and  Co-­‐Founder  of  WSO2  •  VP,  Apache  Synapse  •  10  years  at  IBM  ending  as  STSM   in  WebSphere  Development   –  Led  the  IBM  Web  Services  Gateway   team  •  I  also  play  the  Tin  Whistle     @tedleung  
  3. What  should  you  take  away  from  this  presentaEon?  •  What  is  Stratos?  •  Why  is  an  Open  PaaS  important?  •  How  can  I  try  out  Stratos?   –  On  the  Web?   –  On  your  machine?  •  What  services  does  Stratos  provide?  •  Where  can  you  get  more  informaRon?   3  
  4. Moore’s  Law  for  Data    •  The  amount  of  data  online  went  from   –  5  exabytes  in  2002   –  281  exabytes  in  2009  •  Doubling  every  15  months  •  You  cannot  deal  with  this  data  growth  with   the  same  applicaRons   –  A  reasonable  conclusion  is  that  the  number  of   applicaRons  will  double  every  15  months  too  
  5. PaaS  is  hot   5  
  6. Why  is  PaaS  hot?   6  
  7. Stratos  Overview  •  Stratos  –  an  Open  Source  project  /  product   –  A  full  middleware  plaorm  available  as  a  service,  with   self  service   •  Fast  provisioning   –  Based  on  OSGi   •  Modular,  componenRzed,  standard     –  MulR-­‐tenant,  ElasRc,  Metered  and  Billed   •  EffecRve  and  powerful   –  Available  under  the  Apache  License   •  Open  Source,  Open  License,  Open  Development  •  StratosLive  –  a  Plaorm-­‐as-­‐a-­‐Service   –  Stratos  running  in  the  cloud  with  various  plans   •  Including  a  free  demo  plan  
  8. Stratos  resources  •  Running  on  the  web     –  h8p://stratoslive.wso2.com    •  Stratos  SVN   –  h8p://svn.wso2.org/repos/wso2/trunk/stratos/  •  Stratos-­‐dev  list   –  h8ps://mail.wso2.org/cgi-­‐bin/mailman/lisRnfo/stratos-­‐ dev  •  Blog  on  how  to  build  /  install   –  h8p://yumani.blogspot.com/2011/06/sedng-­‐up-­‐wso2-­‐ stratos-­‐in-­‐personal.html     8  
  9. InstallaEon  opEons  •  1.  Full  installaRon  (like  StratosLive)   –  Pre-­‐reqs   •  IaaS  –  Eucalyptus,  vmWare,  Ubuntu  or  Amazon   •  MySQL  &  Perl  &  JVM   •  Ability  to  run  a  number  of  VMs  (one  per  service)  •  2.  Laptop/Simple  install  (on  my  laptop)   –  Pre-­‐reqs   •  A  machine  with  lots  of  memory  (4Gb  min,  8GB   preferred)     •  JVM   •  MySQL  &  Perl     9  
  10. InstallaEon  of  Stratos  1.5.1  pack    •  Config  mysql   –  max_allowed_packet    =  16M  •  ulimit  –n  65000  •  Unzip  the  distro  •  cd  stratos  •  ./stratos-­‐setup.pl  •  export  STRATOS_DIR=`pwd`/deploy  •  cd  deploy  •  ./stratos.sh  start  all     10  
  11. Deploy  a  webapp   h8p://stratoslive.wso2.com     11  
  12. Isn’t  something  missing?  •  APIs  and  Services  •  You  can’t  just  run  a  webapp  •  You  need:   –  Data   –  Messaging   –  Logging   –  What  else?   12  
  13. JDBC  in  Stratos   13  
  14. Cassandra  in  Stratos   14  
  15. Hector  API      /**        *  Insert  a  new  value  keyed  by  key        *  @param  key  Key  for  the  value        *  @param  value  the  String  value  to  insert        */      public  void  insert(final  String  key,  final  String  value)  throws  ExcepRon  {          execute(new  Command(){              public  Void  execute(final  Keyspace  ks)  throws  ExcepRon  {                  ks.insert(key,  createColumnPath(COLUMN_NAME),  bytes(value));                  return  null;              }          });      }       15  
  16. What  are  the  dimensions  to  evaluate  a  PaaS?  •  Which  languages  and  APIs  does  it  support?   –  (Are  you  locked  in?)  •  Is  it  available  to  run  on  a  private  cloud?   –  (Are  you  locked  in?)  •  Which  services  does  it  offer?   –  (Are  you  locked  in?)  •  Is  it  Open  Source?   –  (Are  you  locked  in?!)   16  
  17. Who  are  the  other  players  in  the  PaaS  market?  •  Those  without  a  Private  PaaS   –  Force.com  and  Heroku   –  Google  App  Engine   –  Amazon  ElasRc  Beanstalk  •  Those  with  a  Private  /  Public  PaaS   –  Tibco   –  Microsox  •  Those  with  an  Open  Private  /  Public  PaaS   –  SpringSource  CloudFoundry     –  WSO2  Stratos   17  
  18. Available  Services  in  Stratos    (a  selecEon)   18  
  19. Available  Services  (low  level)  •  MulR-­‐tenancy  •  Deployment  synchronizer  •  ElasRc  Load  Balancer     –  tenant-­‐aware  •  Tenant-­‐aware  idenRty  manager   –  SAML2,  OpenId,  Oauth,  XACML  •  Tenant  Metering  and  Billing  •  Discovery  •  Logging  •  ConfiguraRon  &  Repository  •  Data-­‐as-­‐a-­‐Service  •  Queueing-­‐as-­‐a-­‐Service  •  Health  Monitor  •  Private  /  Public  Cloud  bridging   19  
  20. Every  Service  has  a  network  API  •  All  admin  funcRons  and  all  the  low  level  services   are  available  as  SOAP  APIs   –  Full  SOAP  support,  REST  in  some  cases   –  Always  possible  to  bridge  into  REST  using  the  ESB  •  Why?   –  Clear  SOA  design   •  Allow  mashups,  BPEL  and  ESB  integraRon   –  Automated  provisioning   –  Support  hybrid  mulE-­‐tenancy  models  for  legacy   soVware   20  
  21. MulE-­‐tenancy  •  Every  service  can  support  mulRple  tenants  in  the  same   container   –  Higher  efficiency,  lower  resources   –  Can  be  split  tenant  per-­‐VM  using  the  MT-­‐aware  Load  Balancer  •  IsolaRon  includes  classloaders,  code  signing  and  Java   security  policies   –  Cross-­‐tenant  sharing  is  via  the  network  (REST,  SOAP,  etc)  •  Every  tenant  has  all  services  by  default  but  they  can  be   turned  off  •  You  can  deploy  webapps  that  are  available  to  all  tenants   21  
  22. Stratos  1.5.1  Services     ©  WSO2  2011    
  23. InstallaEon  opEons  •  1.  Full  installaRon   –  Pre-­‐reqs   •  IaaS  –  Eucalyptus,  vmWare,  Ubuntu  or  Amazon   •  MySQL  &  Perl  &  JVM   •  Ability  to  run  a  number  of  VMs  (one  per  service)  •  2.  Laptop/Simple  install   –  Pre-­‐reqs   •  A  machine  with  lots  of  memory  (4Gb  min,  8GB   preferred)     •  JVM   •  MySQL  &  Perl     23  
  24. InstallaEon  of  Stratos  1.5.1  pack    •  Config  mysql   –  max_allowed_packet    =  16M  •  ulimit  –n  65000  •  Unzip  the  distro  •  cd  stratos  •  ./stratos-­‐setup.pl  •  export  STRATOS_DIR=`pwd`/deploy  •  cd  deploy  •  ./stratos.sh  start  all     24  
  25. Examples  and  Case  Studies  •  System  Integrator   –  Currently  running  Stratos  for  internal  projects   –  Examining  the  use  of  Stratos  for  customer  projects  and  SaaS  •  Home  Loan  Bank   –  WSO2  runs  a  private  deployment  of  Stratos   –  Developer  sandbox  and  test  environment   –  Currently  apps  are  then  deployed  internally  in  Carbon  •  Niche  PaaS   –  CombinaRon  of  cross  tenant  services  /  APIs   –  Allow  each  tenant  to  deploy  /  customise  the  logic  •  Mobile  PaaS   –  Building  a  PaaS  environment  for  a  mobile  telco  •  SaaS-­‐enablement  of  legacy  applicaRons    
  26. Stratos  1.5.1  launched    •  StratosLive  GA  producRon  •  Stratos  1.5.1  available  18th  July  2011  •  Full  producRon  SLAs  for  StratosLive  customers  •  New  features  for  Stratos:   –  Google  Apps  integraRon   –  Data-­‐as-­‐a-­‐Service   –  Distributed  mulR-­‐tenant  logging   –  Cloud  Service  Gateway  (hybrid  cloud  bridging)   –  Billing  and  Metering  (including  Paypal  integraRon)     ©  WSO2  2011    
  27. Beyond  Stratos  1.x  •  SimplificaRon  of  the  Cloud  Programming  model   –  DSLs  for  Data  definiRon,  appdev  (including  mobile)  and  integraRon  •  Mobile   –  Working  to  provide  Mobile  PaaS    •  VerRcal  industry  iniRaRves     –  E.g.  FIX/HL7  in  the  Cloud  •  End-­‐to-­‐end  automated  governance  and  development  •  Pure  VM  deployment  and  management  •  Super-­‐scale  shared  nothing   –  Based  on  NoSQL  Cassandra  and  elasRc  load  balancer   –  MulR-­‐tenant  HDFS-­‐as-­‐a-­‐Service     ©  WSO2  2011    
  28. What  to  take  away  with  you  •  Look  at  the  lock-­‐in  points  •  What  services  do  you  need  now,  and  in  the   future  •  Try  some  out  PaaS’s  now  •  Even  if  its  too  early  for  your  main   producRon,  it  might  suit  some  part  of  your   deployment   h8p://stratoslive.wso2.com       28  
  29. QuesEons?   h8p://www.flickr.com/photos/oberazzi/   29  

×