AWS Startup Webinar | Developing on AWS

2,512
-1

Published on

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,512
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
12
Embeds 0
No embeds

No notes for slide

AWS Startup Webinar | Developing on AWS

  1. 1. AWS  Ac&vate   Developing  on  AWS   Markku  Lepisto  –  Principal  Technology  Evangelist   @markkulepisto  
  2. 2. Housekeeping   • Presenta&on  ~50mins   • Post  Ques&ons  Online   • Q&A  at  the  end   • Reminder  –  Fill  in  the  survey!    
  3. 3. IDEA  !   For  the  next  -­‐  
  4. 4. Fail  Fast   Fail  Cheap   Fail  Forward  
  5. 5. Scale  Success  
  6. 6. Validate  Idea  
  7. 7. Minimum  Viable  Product  (MVP)   •  Release  quickly   •  Limited  core  features   •  Iterate  in  produc&on   •  Business  decisions  based  on  data     “Produc(on  is  truly  the  only  place     you  can  validate  your  code”   -­‐  Michael  Nygard,  author  of  ‘Release  it!’  
  8. 8. Applica&on  Architecture   for  MVP’s  Core  Features  
  9. 9. Tightly  Coupled,  Monolithic  (monster)  
  10. 10. Decomposed  to  Services  
  11. 11. Decomposed  to  Services  
  12. 12. Decomposed  to  Services  
  13. 13. Define  Your  MVP’s  Building  Blocks  
  14. 14. Define  Your  MVP’s  Building  Blocks   Compute   Object  Store   Load  Balancer   SQL  Database   Iden&ty  &  Access   Data  Warehouse   Applica&on  Lifecycle   CDN   Recommenda&on  Engine   Social  Login  SSO   BI  Analy&cs   Web  Server   Reverse  Proxy   My  Second  Cool  Feature  My  Cool  Feature  
  15. 15. Focus  
  16. 16. Focus  on  Your  Core  Differen&ator  
  17. 17. Outsource  Undifferen&a&ng  Ones  to  Services   Amazon  EC2   Amazon  S3   Elas&c  Load  Balancing   Amazon  RDS   AWS  IAM   Amazon  RedShic   AWS  OpsWorks   Amazon  CloudFront   EasyRec   HybridAuth   JasperSoc   Puma   Nginx   My  Second  Cool  Feature  My  Cool  Feature  
  18. 18. Amazon  Web  Services  
  19. 19. Regions,  Zones  and  Edge  Loca&ons  
  20. 20. API   Regions Availability Zones Edge Locations Storage   S3 EBS Glacier Storage Gateway Foundation Services   Networking   VPC Direct Connect ELB Route53 Databases RDS ElastiCacheDynamo RedShift Content Delivery CloudFront Analytics   DataPipelineEMR Kinesis EC2 Compute   WorkSpaces AWS  Global  Infrastructure   Deployment& Management   IAM Federation Identity & AccessMonitoring CloudWatch Deployment & Management BeanStalk Cloud Formation OpsWork CloudTrail AWS   Global   Infrastru cture   Libraries, SDK’s   Web Console Interaction   Human Interaction   Support Command Line AWS  Global  Infrastructure   Application Services   Application Services   SES SNS SQS Elastic Transcoder CloudSearch SWF AppStream
  21. 21. Discover  SW  Components  –  AWS  marketplace  
  22. 22. Discover  SW  Components  –  GitHub  
  23. 23. Discover  SW  Components  –  NeglixOSS  
  24. 24. Services  are  Black  Boxes  Exposed  via  APIs   My  Cool  Feature   Iterate,  even  re-­‐ write  internal   implementa&on   API  is  stable,  with  few   changes,  poten&ally   versioning   API  
  25. 25. Loose  Coupling  Enables  Scale-­‐out  and  Resiliency   Use  Message  Queues  
  26. 26. Loose  Coupling  Enables  Scale-­‐out  and  Resiliency   Use  Message  Queues   Simple  Queue  Service   (SQS)  
  27. 27. Loose  Coupling  Enables  Scale-­‐out  and  Resiliency   Use  Idempotent  Interfaces  
  28. 28. Loose  Coupling  Enables  Scale-­‐out  and  Resiliency   Use  Circuit  Breakers  
  29. 29. Loose  Coupling  Enables  Scale-­‐out  and  Resiliency   Use  Circuit  Breakers   Temporarily  bypass   unresponsive  service.   Switch  to  degraded   mode  transac&ons  
  30. 30. Auto  Scale,  Load  Balance,  Monitor,  HA  Assure   Each  Service  Separately  
  31. 31. Statelessness  Enables  Scale-­‐out   Separate  State  and  Data  from  Compute  Instances   Load  Balanced,  Auto  Scaling   pool  of  EC2  Workers   Scalable  Services  for   State  and  Data   ElastiCacheDynamoDBS3
  32. 32. Amazon  DynamoDB   Zero  Admin  NoSQL  Service   Unlimited  Storage   Provisioned  Throughput   <10ms  response  &me   Durable  on  SSD  
  33. 33. Cloud-­‐SOA   S O A •  Cloud-­‐na&ve  New  Applica&ons   •  SOA  principles  leveraging  Cloud  services   •  Architect  for   –  Automa&on   –  Scale   –  Cost   –  Availability   –  Data   •  Applica&ons  are     –  Always-­‐on   –  Self-­‐healing   –  An&-­‐fragile  
  34. 34. Implemented  by  Two-­‐Pizza  Teams   •  Small,  autonomous  teams   •  Full  responsibility  for  Service  X   •  Decoupled  launch  schedules   •  No  handovers   •  Trust    
  35. 35. Pulng  It  All  Together  into  a  Solu&on  
  36. 36. Pulng  It  All  Together  into  a  Solu&on  
  37. 37. Pulng  It  All  Together  into  a  Solu&on  
  38. 38. Pulng  It  All  Together  into  a  Solu&on  
  39. 39. =   Programmable  Plagorm  
  40. 40. If  you  can  program  it   You  can  automate  it  
  41. 41. AWS  SDKs  
  42. 42. Java  SDK   …! res = ec2.runInstances new RunInstancesRequest([! !imageId: "ami-00754474", ! !keyName: ”MyKeyPair", ! !instanceType: ”m3.medium", ! !securityGroups: [”MySecurityGroup"],! !minCount: 1,! !maxCount: 1,! !userData:! !"AWSWeb.war".bytes.encodeBase64().toString()! !])! …! !
  43. 43. Unified  Command  Line  Interface   ~ $ aws ec2 run-instances --image-id ami-554ac83c --min-count 1 --max-count 1 --key-name MyKeyPair --security-groups MySecurityGroup
  44. 44. AMI  AMI  AMI   YOUR  CODE   CORE  SERVICES   3rd  PARTY   LIBRARIES   OPERATING  SYSTEM   YOUR  CODE   CORE  SERVICES   3rd  PARTY   LIBRARIES   OPERATING  SYSTEM   YOUR  CODE   CORE  SERVICES   3rd  PARTY   LIBRARIES   OPERATING  SYSTEM   Pre-­‐baked  Image   Base  OS  Image  +  Orchestra&on    
  45. 45. 3rd  Party  Configura&on  Mgmt  &  Orchestra&on  Tools  
  46. 46. AWS  OpsWorks   AWS   CloudFormaHon   AWS  ElasHc   Beanstalk   DevOps  framework  for   applicaHon  lifecycle   management  and   automaHon   Templates  to  deploy  &   update  infrastructure   as  code   Automated  resource   management  –  web   apps  made  easy   DIY  /     On  Demand   DIY,  on  demand   resources:  EC2,  S3,   custom  AMI’s,  etc.   ControlConvenience AWS  Services  for  Applica&on  Lifecycle  Management  
  47. 47. CloudForma&on   Template  
  48. 48. SOURCE CODE REPOSITORY DNS CONTINUOUS INTEGRATION SERVER PROJECT MANAGEMENT SERVER BUILDS DATABASE STORAGE
  49. 49. CLOUDFORMATION TEMPLATE BUILD + DB SNAPSHOT
  50. 50. Application Versions + Infrastructure Versions Applica&on   Your  Code   Infrastructure   To  Run  and  Support  Your  Code  
  51. 51. Deliver  Con&nuously   •  Infrastructure  as  Code   – Everything  now  programmable   – App  =  code  +  infrastructure  descrip&on   – In  version  control   •  Full  test  automa&on   •  Frequent  small  risk  &  size  builds   •  Successful  builds  to  produc&on  
  52. 52. test   Con&nuous  Integra&on   code   build  plan   Agile  Development   Source  hpp://www.collab.net   deploy   operate   collabora&on   value   DevOps   release   Con&nuous  Delivery  
  53. 53. Go  Global  –  in  Minutes   •  Launch  in  a  test  market   •  A/B  Tes&ng   •  Collect  all  logs   •  Analy&cs  à  Insights  à  Iterate     Once  you  hit  the  sweet  spot  –   •  Replicate  the  applica&on  to  all  regions  
  54. 54. Measure  &  Log  Everything   Amazon  CloudWatch  
  55. 55. COLLECT  |    STORE    |  ANALYZE  |  SHARE   Import  Export   Glacier   S3   EC2   Redshic  DynamoDB     EMR   Data  Pipeline   S3  Direct  Connect   Leverage  AWS  Big  Data  Services   CloudFront   Kinesis  
  56. 56. Keep  Itera&ng  
  57. 57. Keep  Innova&ng  
  58. 58. «  Want  to  increase  innova&on?   Lower  the  cost  of  failure  »     Joi  Ito   MIT  MediaLabs  
  59. 59. Fail  Fast  &  Cheap  -­‐  Scale  Success   Experiment   OXen     Fail  quickly  at  a   low  cost     More   InnovaHon   Experiment   Infrequently     Failure  is   expensive     Less  InnovaHon   ON-­‐PREMISE  
  60. 60. DEMOS   1.  AWS  Elas&c  Beanstalk        Deploy  to  Produc&on  using  Git   2.  AWS  CloudForma&on        Upgrade  a  Deployed  Template     3.  AWS  SDK  for  Ruby      Control  DynamoDB  &  RDS  
  61. 61. Thank You! aws.amazon.com/ac&vate   Markku  Lepisto  –  Principal  Technology  Evangelist   @markkulepisto  
  62. 62. Your  Feedback  is  Important   Please  complete  the  Survey!   What’s  good,  what’s  not   What  you  want  to  see  at  these  events   What  you  want  AWS  to  deliver  for  you    
  63. 63. Q & A

×