37
Cloud Computing ECPE 276 AWS Hosted Services

Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

ì  Cloud  Computing  ECPE  276  

AWS  Hosted  Services  

Page 2: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

ì  Compute  

Spring  2016  Cloud  Compu2ng  

2  

Page 3: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Compute  Options  

1.  Amazon  Elas2c  Compute  Cloud  (EC2)  

2.  Amazon  Lambda  (λ)  

3.  Amazon  Elas2c  Bean  Stalk  (EBS)  

4.  Other  services  1.  ElasDc  Load  Balancing  2.  Auto  Scaling  3.  CloudFront  (content  delivery)  

Spring  2016  Cloud  Compu2ng  

3  

Page 4: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Spring  2016  Cloud  Compu2ng  

4  

EC2  

Page 5: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Elastic  Compute  Cloud  

ì  MarkeDng  ì  Infinite  supply  of  servers,  on-­‐demand  ì  Rent  by  the  hour  

ì  You  supply  ì  The  operaDng  system  (or  use  standard  Amazon  

images)  ì  The  soVware  stack  ì  The  applicaDon  

Spring  2016  Cloud  Compu2ng  

5  

Page 6: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Spring  2016  Cloud  Compu2ng  

6  

AWS  Lambda  

Page 7: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Lambda  

ì  Event-­‐driven  coding  

ì  You  write  a  custom  Lambda  funcDon  ì  Node.js,  Java,  or  Python  

ì  Amazon  runs  your  funcDon  automaDcally  upon  event  ì  File  uploaded  to  S3  bucket  ì  DynamoDB  record  changed  ì  HTTP  Request  (Amazon  API  gateway  or  your  own)  

Spring  2016  Cloud  Compu2ng  

7  

Page 8: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Lambda  -­‐  Marketing  

ì  Sub-­‐second  metering  ($$)  (in  100ms)  ì  (Charged  flat  rate  per  access  

plus  actual  compute  Dme  incurred)  

ì  No  servers  to  manage  

 

ì  ConDnuous  scaling  

Spring  2016  Cloud  Compu2ng  

8  

Page 9: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Spring  2016  Cloud  Compu2ng  

9  

h`ps://www.youtube.com/watch?v=eOBq__h4OJ4    

Page 10: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Lambda  –  Example  Use  Case  

Spring  2016  Cloud  Compu2ng  

10  

Page 11: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Lambda  –  Example  Use  Case  

Spring  2016  Cloud  Compu2ng  

11  

Page 12: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Lambda  –  Example  Use  Case  

Spring  2016  Cloud  Compu2ng  

12  

Page 13: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Spring  2016  Cloud  Compu2ng  

13  AWS  Elastic  Beanstalk  

Page 14: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Elastic  Beanstalk  

ì  Applica2on  Hos2ng  ì  Specifically,  web  sites  or  web  apps  

ì  You  provide  only  the  applicaDon  (one-­‐click  deployment!)  ì  AWS  Management  Console  (manually  upload)  ì  Git  repository  (update  app  in  seconds!)  ì  IDE  on  local  machine  (Eclipse  or  Visual  Studio)  

ì  Amazon  provides  ì  Infrastructure!  ì  Servers,  databases,  load  balancers,  firewalls,  networks,  

etc…  

Spring  2016  Cloud  Compu2ng  

14  

Page 15: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Elastic  Beanstalk  -­‐  Marketing  

ì  AutomaDc  everything!  ì  Capacity  provisioning  ì  Load  balancing  (among  pool  of  servers)  ì  Auto-­‐scaling  (up  and  down)  ì  ApplicaDon  health  monitoring  

ì  Full  control  of  underlying  infrastructure  and  ability  to  modify  if  desired  

Spring  2016  Cloud  Compu2ng  

15  

Page 16: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Spring  2016  Cloud  Compu2ng  

16  

h`ps://www.youtube.com/watch?v=SrwxAScdyT0    

Page 17: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Elastic  Beanstalk  -­‐  Environments  

ì  Supported  environments  are  limited  because  Amazon  provides  the  enDre  soVware  stack  ì  Apache  Tomcat  for  Java  applicaDons  ì  Apache  HTTP  Server  for  PHP  applicaDons  ì  Apache  HTTP  Server  for  Python  applicaDons  ì  Nginx  or  Apache  HTTP  Server  for  Node.js  applicaDons  ì  Passenger  or  Puma  for  Ruby  applicaDons  ì  MicrosoV  IIS  7.5,  8.0,  and  8.5  for  .NET  applicaDons  ì  Java  SE  ì  Docker  ì  Go  

Spring  2016  Cloud  Compu2ng  

17  

TargeDng    web  sites  or  web  apps  

Page 18: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

AWS  Elastic  Beanstalk  -­‐  Control  

ì  Programmer  opDons  /  programmer  controls  ì  OperaDng  system  (Linux,  Windows,  specific  releases)  ì  Database  ì  Directly  login  to  EC2  instances  for  immediate  

troubleshooDng  ì  Run  in  more  than  one  Availability  Zone  (reliability)  ì  HTTPS  on  load  balancer  ì  Amazon  CloudWatch  monitoring  (cluster  health  and  events)  ì  Adjust  applicaDon  server  senngs  (e.g.  JVM  senngs)  and  

pass  environment  variables  ì  Run  other  applicaDon  components,  such  as  a  memory  

caching  service,  side-­‐by-­‐side  in  Amazon  EC2  ì  Access  log  files  without  logging  in  to  the  applicaDon  servers  

Spring  2016  Cloud  Compu2ng  

18  

Targeted  at  programmer,  not  sysadmin  

Page 19: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Other  Services  –  Elastic  Load  Balancing  

ì  Amazon  provides  load  balancers  

ì  Accept  incoming  HTTP,  HTTPS,  SSL,  and  generic  TCP  requests  

ì  Forward  request  to  mulDple  EC2  instances  across  different  availability  zones  

ì  Improves  reliability  by  disDnguishing  between  healthy  and  unhealthy  targets  ì  ApplicaDon  health-­‐check  (e.g.  try  to  load  a  special  page  from  

your  website)  

Spring  2016  Cloud  Compu2ng  

19  

Design:  Never  have  customers  directly  connect  to  EC2  instance  –  they  always  go  through  load  balancer!  

Page 20: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Other  Services  –  Auto  Scaling  

ì  Launch  or  terminate  EC2  nodes  based  on  current  demand  ì  CPU  uDlizaDon?  ì  Available  RAM?  ì  Disk  uDlizaDon?  (%  full?    Read/Write  bandwidth?)  ì  Network  uDlizaDon?  ì  Many  other  AWS  CloudWatch  metrics  (or  custom)  

ì  Launch  new  nodes  to  replace  failed  ones  

ì  Coordinates  with  load  balancer  ì  New  nodes?  NoDfy  load  balancer  ì  TerminaDng  nodes?  NoDfy  load  balancer  

Spring  2016  Cloud  Compu2ng  

20  

Page 21: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Other  Services  –  Auto  Scaling  

Spring  2016  Cloud  Compu2ng  

21  

Page 22: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Other  Services  –  Auto  Scaling  

Spring  2016  Cloud  Compu2ng  

22  

Page 23: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Other  Services  –  Auto  Scaling  

Spring  2016  Cloud  Compu2ng  

23  

Page 24: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Other  Services  –  CloudFront  

ì  Global  Content  Distribu2on  Network  (CDN)  for  web  content  

ì  Single  URL/domain  can  resolve  to  myriad  local  content  servers  (caches)  close  to  customers  ì  DNS  trickery  (rouDng  based  on  latency  or  geography)  via  

Amazon  Route53  DNS  service  

ì  Use  cases:  ì  Distribute  staDc  (infrequently  changing)  content  

ì  Images,  style  sheets,  JavaScript  ì  Distribute  pre-­‐recorded  streaming  media  ì  Distribute  live  streaming  events  (short  buffer  in  cache)    

Spring  2016  Cloud  Compu2ng  

24  

Page 25: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

ì  Networking  

Spring  2016  Cloud  Compu2ng  

25  

Page 26: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Networking  

ì  Amazon  Virtual  Private  Cloud  (VPC)  

ì  AWS  Direct  Connect  

ì  Amazon  Route  53  

Spring  2016  Cloud  Compu2ng  

26  

Page 27: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Virtual  Private  Cloud  

ì  Virtual  networking  ì  Isolate  your  EC2  nodes  in  their  own  virtual  network  ì  Choose  your  own  subnets,  gateways,  routes,  address  

translaDon  (NAT),  firewall  rules,  …  

ì  Use  case:  Extend  your  corporate  network  into  the  cloud  ì  Hardware  VPN  brings  AWS  cloud  servers  inside  your  

corporate  firewall  

ì  Use  case:  Mul2-­‐2er  applica2ons  ì  Web  servers  in  publically  accessible  subnet  ì  ApplicaDon  servers  and  databases  in  private  subnet  

Spring  2016  Cloud  Compu2ng  

27  

Page 28: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Virtual  Private  Cloud  

Spring  2016  Cloud  Compu2ng  

28  

Page 29: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Direct  Connect  

ì  Tired  of  waiDng  for  your  massive  datasets  to  be  sent  over  the  public  Internet?  

ì  Got  extra  $$  burning  a  hole  in  your  pocket?  

ì  SoluDon:  Amazon  Direct  Connect  ì  Private  fiber  direct  to  Amazon’s  cloud  ì  Reduced  bandwidth  price  from  Amazon  

ì  But  you’ll  pay  someone  else  for  the  fiber…  

ì  Be`er  QOS  /  bandwidth?    

Spring  2016  Cloud  Compu2ng  

29  

Page 30: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Direct  Connect  –  Peering  

“West”  ì  New  York  City  

ì  Northern  Virginia  

ì  Dallas  

ì  Las  Vegas  

ì  San  Francisco  

ì  Sea`le  

ì  Sao  Paulo  

“East”  ì  Dublin  

ì  London  

ì  Frankfurt  

ì  Mumbai  

ì  Osaka  

ì  Seoul  

ì  Sydney  

Spring  2016  Cloud  Compu2ng  

30  

Your  private  fiber  needs  to  reach  a  specific  network  coloca2on  facility  in  one  of  these  ciDes  to  join  Amazon’s  network  

Page 31: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Route  53  

ì  DNS  Service:    “www.example.com”  -­‐>  1.2.3.4  

ì  MarkeDng:  “built  using  AWS’s  highly  available  and  reliable  infrastructure”  ì  Servers  across  the  globe  

ì  EssenDal  part  of  load  balancing  and  scaling  ì  Integrates  with  Amazon  ElasDc  Load  Balancer  

ì  Fancy  rouDng  to  best  server  based  on  ì  Server  health  check  (sDll  working?)  ì  Latency  ì  Geography  ì  Round-­‐robin  

Spring  2016  Cloud  Compu2ng  

31  

Page 32: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

ì  Communication  /  Coordination  

Spring  2016  Cloud  Compu2ng  

32  

Page 33: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Communication  /  Coordination  

ì  Amazon  Simple  No2fica2on  Service  (SNS)  

ì  Amazon  Simple  Queue  Service  (SQS)  

Spring  2016  Cloud  Compu2ng  

33  

Page 34: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Simple  Notification  Service    

ì  Messaging  service  for  distributed  clients  ì  Publish/subscribe  push  model  

ì  A  few  nodes  publish  data  to  the  service  ì  Many  other  nodes  subscribe  to  the  service  

ì  Cloud  pushes  noDficaDons  to  all  clients  immediately  aVer  publisher  submits  it  ì  HTTP/HTTPS,  email,  SMS  

ì  Client  Plaxorms  &  Languages  ì  Mobile:  iOS,  Android  ì  Any  of  the  AWS  SDKs  (Java,  Python,  PHP,  Node.js,  .NET)  

Spring  2016  Cloud  Compu2ng  

34  

Page 35: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Simple  Queue  Service  

ì  Messaging  service  for  distributed  clients  ì  Pull  model  ì  Clients  send  and  receive  data  via  cloud-­‐based  queues  ì  Arbitrary  data  up  to  256kB  ì  Arbitrary  senders  (many!)  and  receivers  (many!)  

ì  API  in  AWS  SDK  ì  SendMessage  (to  a  queue)  ì  ReceiveMessage  (from  a  queue)  ì  DeleteMessage  (from  a  queue)  ì  ChangeMessageVisibility  (of  a  previous  message)  ì  Batching  (to  reduce  cost!)  ì  Queue  Management  

Spring  2016  Cloud  Compu2ng  

35  

Page 36: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Amazon  Simple  Queue  Service  -­‐  Lifecycle  

1.  System  “A”  needs  to  send  a  message  1.  Select  an  Amazon  SQS  queue  2.  Call  SendMessage()  to  transfer  to  queue  

2.  System  “Z”  needs  more  messages  to  process  1.  Call  ReceiveMessage(),  and  get  message  from  System  “A”  

3.  Once  a  message  has  been  returned  by  ReceiveMessage(),  it  will  not  be  returned  by  any  other  ReceiveMessage()  unDl  the  visibility  Dmeout  has  passed  1.  Keeps  mulDple  computers  from  processing  the  same  message  at  once  

4.  System  “Z”  successfully  processes  this  message?  1.  Call  DeleteMessage()  2.  Removes  the  message  from  the  queue  so  no  one  else  will  ever  process  it  

5.  System  “Z”  fails  to  process  the  message?  1.  Message  will  be  read  by  another  ReceiveMessage()  call  as  soon  as  the  visibility  Dmeout  

passes  

Spring  2016  Cloud  Compu2ng  

36  

Page 37: Cloud&Computing&ecs-network.serv.pacific.edu/past-courses/2016-spring-ecpe-276/slides/06aws...AWS&Elastic&Beanstalk&:&Environments&! Supportedenvironmentsarelimited because!Amazon!

Next  Week:  Netflix  Case  Study  

Spring  2016  Cloud  Compu2ng  

37