24
Email: [email protected] | Website: www.qburst.com US | UK | Poland | UAE | India | Singapore | Australia GETTING READY FOR THE CLOUD

Platform as a service google app engine

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Platform as a service   google app engine

Email:  [email protected]  |  Website:  www.qburst.com    

US  |  UK  |  Poland  |  UAE  |  India  |  Singapore  |  Australia    

GETTING  READY  FOR  THE  CLOUD    

Page 2: Platform as a service   google app engine

Pla@orm  as  a  Service  -­‐  Google  App  Engine    Arun  Shanker  Prasad  February,  2013    

Page 3: Platform as a service   google app engine

Pla@orm  as  a  Service  (PaaS)  -­‐  What  is  it?  

PaaS  is  a  category  of  cloud  compuCng  services  that  provide  a  compuCng  plaGorm  and  a  soluCon  stack  as  a  service.    Along  with  soPware  as  a  service  (SaaS)  and  infrastructure  as  a  service  (IaaS),  it  is  a  service  model  of  cloud  compuRng.  In  this  model,  the  consumer  creates  the  soPware  using  tools  and/or  libraries  from  the  provider/vendor.  The  consumer  also  controls  soPware  deployment  and  configuraRon  seVngs.  The  provider  provides  the  networks,  servers,  storage  and  other  services.  PaaS  offerings  facilitate  the  deployment  of  applicaRons  without  the  cost  and  complexity  of  buying  and  managing  the  underlying  hardware  and  soPware  and  provisioning  hosRng  capabiliRes.  

Page 4: Platform as a service   google app engine

PaaS  -­‐  Key  Features  

•  Services  to  develop,  test,  deploy,  host  and  maintain  applicaRons  in  the  same  integrated  development  environment  

•  Web-­‐based  management/administraRon  consoles  o  Reducing  the  need  for  system  administraRon/dev  ops  

o  Resource  uRlizaRon  monitoring  capabiliRes  o  Easily  idenRfy  bo[lenecks  

•  MulR-­‐tenant  architecture  •  Certain  PaaS  offerings  a[empt  to  support  use  of  the  applicaRon  

by  many  concurrent  users,  by  providing  concurrency  management,  scalability,  fail-­‐over  and  security  

•  Support  for  development  team  collaboraRon  •  Pay  for  what  you  use  billing  model  

Page 5: Platform as a service   google app engine

Some  popular  PaaS  offerings    

Page 6: Platform as a service   google app engine

PaaS  -­‐  Popular  offerings  

Heroku    •  One  of  the  first  cloud  pla@orms,  has  been  in  development  since  

June  2007,  when  it  supported  only  the  Ruby  programming  language,  but  has  since  added  support  for  Java,  Node.js,  Scala,  Clojure,  Python  and  (undocumented)  PHP  

•  Heroku  is  owned  by  Salesforce.com  

•  The  base  operaRng  system  is  Debian  or,  in  the  newest  stack,  the  Debian-­‐based  Ubuntu  

Page 7: Platform as a service   google app engine

PaaS  -­‐  Popular  offerings  

Windows  Azure  •  MicrosoP's  cloud  compuRng  pla@orm  used  to  build,  deploy  and  

manage  applicaRons  through  a  global  network  of  MicrosoP-­‐managed  datacenters  

•  Allows  for  applicaRons  to  be  built  using  many  different  programming  languages,  tools  or  frameworks  and  makes  it  possible  for  developers  to  integrate  their  public  cloud  applicaRons  in  their  exisRng  IT  environment  

•  Provides  both  Pla@orm  as  a  Service  (PaaS)  and  Infrastructure  as  a  Service  (IaaS)  services  and  is  classified  as  the  “Public  Cloud”  in  MicrosoP's  cloud  compuRng  strategy,  along  with  its  SoPware  as  a  Service  (SaaS)  offering,  MicrosoP  Online  Services  

Page 8: Platform as a service   google app engine

PaaS  -­‐  Popular  offerings  

dotCloud  •  Founded  in  2008  by  Solomon  Hykes,  dotCloud  is  the  first  

applicaRon  pla@orm  designed  from  the  ground  up  for  modern  service-­‐oriented  development  

•  Enables  developers  and  IT  organizaRons  to  deploy,  manage  and  scale  their  applicaRons  with  unprecedented  ease  and  flexibility  by  assembling  and  customizing  powerful  pre-­‐configured  stacks  and  services  

•  Powerful  and  easy-­‐to-­‐use  command  line  script  

•  Configure  stack  using  a  simple  YAML  config  •  Deploy  to  a  development  sandox  

•  Roll  live  

Page 9: Platform as a service   google app engine

PaaS  -­‐  Popular  offerings  

Cloud  Foundry    •  Developed  by  VMware  released  under  the  terms  of  the  Apache  

License  2.0  •  Primarily  wri[en  in  Ruby  

•  AppCloud  runs  on  Cloud  Foundry  •  Since  it  is  open  sourced,  AcRveState  has  created  a  commercial  

distribuRon  of  the  Cloud  Foundry  soPware  for  enterprises  to  host  their  own  private  PaaS  

Page 10: Platform as a service   google app engine

PaaS  -­‐  Popular  offerings  

Engine  Yard    •  A  San  Francisco,  California  based,  privately  held  pla@orm  as  a  

service  company  focused  on  Ruby  on  Rails  and  PHP,  and  recently  announced  support  for  Node.js  deployment  and  management  

•  One  of  the  leading  PaaS  players  for  Ruby  on  Rails  and  PHP  developers  

•  Handles  all  the  details  of  pushing  the  applicaRon  to  the  cloud,  and  monitors  their  conRnued  operaRon  

•  SoluRons  are  charged  on  a  pay-­‐as-­‐you-­‐go  basis  

Page 11: Platform as a service   google app engine

PaaS  -­‐  Popular  offerings  

Google  App  Engine  (oNen  referred  to  as  GAE  or  simply  App  Engine,  and  also  used  by  the  acronym  GAE/J)  •  A  cloud  compuRng  pla@orm  for  developing  and  hosRng  web  applicaRons  

in  Google-­‐managed  data  centers  

•  ApplicaRons  are  sandboxed  and  run  across  mulRple  servers  

•  Offers  automaRc  scaling  for  web  applicaRons—as  the  number  of  requests  increases  for  an  applicaRon,  App  Engine  automaRcally  allocates  more  resources  for  the  web  applicaRon  to  handle  the  addiRonal  demand  

•  Is  free  up  to  a  certain  level  of  consumed  resources.  Fees  are  charged  for  addiRonal  storage,  bandwidth,  or  instance  hours  required  by  the  applicaRon  

•  First  released  as  a  preview  version  in  April  2008,  and  came  out  of  preview  in  September  2011  

Page 12: Platform as a service   google app engine

More  on  Google  App  Engine    

Page 13: Platform as a service   google app engine

What  is  Google  App  Engine  

Google  App  Engine  lets  you  run  web  applicaRons  on  Google's  infrastructure.  App  Engine  applicaRons  are  easy  to  build,  easy  to  maintain,  and  easy  to  scale  as  your  traffic  and  data  storage  needs  grow.  With  App  Engine,  there  are  no  servers  to  maintain:  You  just  upload  your  applicaRon,  and  it's  ready  to  serve  your  users.  

Page 14: Platform as a service   google app engine

The  ApplicaRon  Environment  

Google  App  Engine  makes  it  easy  to  build  an  applicaRon  that  runs  reliably,  even  under  heavy  load  and  with  large  amounts  of  data.  App  Engine  includes  the  following  features;  •  dynamic  web  serving,  with  full  support  for  common  web  technologies  •  persistent  storage  with  queries,  sorRng  and  transacRons  •  automaRc  scaling  and  load  balancing  

•  APIs  for  authenRcaRng  users  and  sending  email  using  Google  Accounts  

•  a  fully  featured  local  development  environment  that  simulates  Google  App  Engine  on  your  computer  

Your  applicaRon  can  run  in  one  of  three  runRme  environments:  the  Go  environment,  the  Java  environment,  and  the  Python  environment,  which  gives  you  a  choice  of  Python  2.5  or  Python  2.7.  

Page 15: Platform as a service   google app engine

Why  App  Engine?  

Pros  •  Easy  to  Get  Started  •  AutomaRc  Scalability  •  The  Reliability,  Performance,  and  Security  of  Google's  

Infrastructure  •  Costs  less  •  There  is  a  generous  free  usage  quota  and  you  only  pay  for  what  

you  use  Cons  •  Sandboxed  environment  limits  the  scope  of  your  applicaRon  

•  Although  we  can  pay  for  certain  addiRonal  resources,  there  are  some  that  have  a  hard  limit  

Page 16: Platform as a service   google app engine

Why  App  Engine?  

TradiRonal  Way  •  Write  your  code  

•  Configure  &  Deploy  Web  server  (Apache/Tomcat)  •  Configure  &  Deploy  SQL  database  •  Maintain  all  of  these  infrastructure  

•  Cost  of  building  and  maintaining  the  infrastructure    App  Engine  Way  

•  Write  your  code  •  A  set  of  simple  configuraRons  to  let  App  Engine  know  how  to  

serve  your  applicaRon  That's  it....  

Page 17: Platform as a service   google app engine

Tools  -­‐  Bundled  with  the  SDK  

•  Development  Server  •  Uploading  and  Managing  an  App  •  Uploading  and  Downloading  Data  •  ProtoRPC  •  webapp  Framework  •  Local  Unit  TesRng  •  Appstats  •  Included  Libraries  (Python  2.5)  

o  Django,  PyCrypto,  YAML,  zipimport  •  Included  Libraries(Python  2.7)  

o  Jinja2,  PIL,  webapp2,  etc    

Page 18: Platform as a service   google app engine

Services  (APIs)  

•  Channel  •  Images  •  Mail  •  Memcache  •  MulRtenancy  •  OAuth  •  ProspecRve  Search  •  Search  •  Task  Queues  •  URL  Fetch  •  Users  •  XMPP    

Page 19: Platform as a service   google app engine

Services  (APIs)  

•  Blobstore  •  App  IdenRty  •  CapabiliRes  •  LogService  

Page 20: Platform as a service   google app engine

Bigtable  -­‐  M/S  &  HR  Datastore  

App  Engine  currently  has  two  database  offerings,  they  differ  on  the  basis  of  their  implementaRon  architecture;  

•  Master/Slave  (M/S)  

o  TradiRonal  (one  master/one  slave)  

o  Single  point  of  failure  

o  Deprecated  

o  Strong  Consistency  

•  High  ReplicaRon  (HR)  o  High  performance  

o  No  single  point  of  failure  

o  Now  default  and  the  only  supported  one  

o  Eventual  Consistency  

App  Engine  also  supports  a  SQL  database  Google  Cloud  Storage,  which  can  be  easily  be  linked  to  an  App  Engine  app  

Page 21: Platform as a service   google app engine

Pricing  

App  Engine  has  three  pricing  modes  

•  Free  

•  Paid  

•  Premier  

Paid  

•  $9/app/month  

•  Usage  based  pricing  

•  Infinetly  Scalable  

•  SLA  

Premier  version  has;  

•  $500/account/month  

•  OperaRonal  Support  

Page 22: Platform as a service   google app engine

What  does  QBurst  do  with  App  Engine?  

QBurst  has  built  a  suite  of  applicaRons  that  form  a  cloud  based  ERP  soluRon  called  Space    QBurst  had  a  team  of  engineers  developing  applicaRons  on  App  Engine  from  as  early  as  July  2008    We  were  one  of  the  first  people  to  get  approved  when  the  App  Engine  for  Java  was  released  as  an  invite  only  preview    We  have  applicaRons  deployed  on  Python  and  Java  environments,  and  are  experimenRng  with  Go  

Page 23: Platform as a service   google app engine

QuesRons?    

Page 24: Platform as a service   google app engine

Future Plans - 2012

Thank You !