Your SlideShare is downloading. ×
AWS	
  Ac&vate	
  
Developing	
  on	
  AWS	
  
Markku	
  Lepisto	
  –	
  Principal	
  Technology	
  Evangelist	
  
@markku...
Housekeeping	
  
• Presenta&on	
  ~50mins	
  
• Post	
  Ques&ons	
  Online	
  
• Q&A	
  at	
  the	
  end	
  
• Reminder	
 ...
IDEA	
  !	
  
For	
  the	
  next	
  -­‐	
  
Fail	
  Fast	
  
Fail	
  Cheap	
  
Fail	
  Forward	
  
Scale	
  Success	
  
Validate	
  Idea	
  
Minimum	
  Viable	
  Product	
  (MVP)	
  
•  Release	
  quickly	
  
•  Limited	
  core	
  features	
  
•  Iterate	
  in	
 ...
Applica&on	
  Architecture	
  
for	
  MVP’s	
  Core	
  Features	
  
Tightly	
  Coupled,	
  Monolithic	
  (monster)	
  
Decomposed	
  to	
  Services	
  
Decomposed	
  to	
  Services	
  
Decomposed	
  to	
  Services	
  
Define	
  Your	
  MVP’s	
  Building	
  Blocks	
  
Define	
  Your	
  MVP’s	
  Building	
  Blocks	
  
Compute	
  
Object	
  Store	
  
Load	
  Balancer	
  
SQL	
  Database	
  
...
Focus	
  
Focus	
  on	
  Your	
  Core	
  Differen&ator	
  
Outsource	
  Undifferen&a&ng	
  Ones	
  to	
  Services	
  
Amazon	
  EC2	
  
Amazon	
  S3	
  
Elas&c	
  Load	
  Balancing	
...
Amazon	
  Web	
  Services	
  
Regions,	
  Zones	
  and	
  Edge	
  Loca&ons	
  
API	
  
Regions Availability Zones Edge Locations
Storage	
  
S3 EBS Glacier Storage
Gateway
Foundation
Services	
  
Netwo...
Discover	
  SW	
  Components	
  –	
  AWS	
  marketplace	
  
Discover	
  SW	
  Components	
  –	
  GitHub	
  
Discover	
  SW	
  Components	
  –	
  NeglixOSS	
  
Services	
  are	
  Black	
  Boxes	
  Exposed	
  via	
  APIs	
  
My	
  Cool	
  Feature	
  
Iterate,	
  even	
  re-­‐
write	...
Loose	
  Coupling	
  Enables	
  Scale-­‐out	
  and	
  Resiliency	
  
Use	
  Message	
  Queues	
  
Loose	
  Coupling	
  Enables	
  Scale-­‐out	
  and	
  Resiliency	
  
Use	
  Message	
  Queues	
  
Simple	
  Queue	
  Servi...
Loose	
  Coupling	
  Enables	
  Scale-­‐out	
  and	
  Resiliency	
  
Use	
  Idempotent	
  Interfaces	
  
Loose	
  Coupling	
  Enables	
  Scale-­‐out	
  and	
  Resiliency	
  
Use	
  Circuit	
  Breakers	
  
Loose	
  Coupling	
  Enables	
  Scale-­‐out	
  and	
  Resiliency	
  
Use	
  Circuit	
  Breakers	
  
Temporarily	
  bypass	...
Auto	
  Scale,	
  Load	
  Balance,	
  Monitor,	
  HA	
  Assure	
  
Each	
  Service	
  Separately	
  
Statelessness	
  Enables	
  Scale-­‐out	
  
Separate	
  State	
  and	
  Data	
  from	
  Compute	
  Instances	
  
Load	
  B...
Amazon	
  DynamoDB	
  
Zero	
  Admin	
  NoSQL	
  Service	
  
Unlimited	
  Storage	
  
Provisioned	
  Throughput	
  
<10ms	...
Cloud-­‐SOA	
  
S
O
A
•  Cloud-­‐na&ve	
  New	
  Applica&ons	
  
•  SOA	
  principles	
  leveraging	
  Cloud	
  services	
...
Implemented	
  by	
  Two-­‐Pizza	
  Teams	
  
•  Small,	
  autonomous	
  teams	
  
•  Full	
  responsibility	
  for	
  Ser...
Pulng	
  It	
  All	
  Together	
  into	
  a	
  Solu&on	
  
Pulng	
  It	
  All	
  Together	
  into	
  a	
  Solu&on	
  
Pulng	
  It	
  All	
  Together	
  into	
  a	
  Solu&on	
  
Pulng	
  It	
  All	
  Together	
  into	
  a	
  Solu&on	
  
=	
  
Programmable	
  Plagorm	
  
If	
  you	
  can	
  program	
  it	
  
You	
  can	
  automate	
  it	
  
AWS	
  SDKs	
  
Java	
  SDK	
  
…!
res = ec2.runInstances new RunInstancesRequest([!
!imageId: "ami-00754474", !
!keyName: ”MyKeyPair", !
...
Unified	
  Command	
  Line	
  Interface	
  
~ $ aws ec2 run-instances
--image-id ami-554ac83c
--min-count 1
--max-count 1
-...
AMI	
  AMI	
  AMI	
  
YOUR	
  CODE	
  
CORE	
  SERVICES	
  
3rd	
  PARTY	
  
LIBRARIES	
  
OPERATING	
  SYSTEM	
  
YOUR	
 ...
3rd	
  Party	
  Configura&on	
  Mgmt	
  &	
  Orchestra&on	
  Tools	
  
AWS	
  OpsWorks	
   AWS	
  
CloudFormaHon	
  
AWS	
  ElasHc	
  
Beanstalk	
  
DevOps	
  framework	
  for	
  
applicaHon	
 ...
CloudForma&on	
  
Template	
  
SOURCE CODE
REPOSITORY
DNS
CONTINUOUS
INTEGRATION SERVER
PROJECT
MANAGEMENT SERVER
BUILDS
DATABASE
STORAGE
CLOUDFORMATION
TEMPLATE
BUILD +
DB SNAPSHOT
Application Versions + Infrastructure Versions
Applica&on	
  
Your	
  Code	
  
Infrastructure	
  
To	
  Run	
  and	
  Supp...
Deliver	
  Con&nuously	
  
•  Infrastructure	
  as	
  Code	
  
– Everything	
  now	
  programmable	
  
– App	
  =	
  code	...
test	
  
Con&nuous	
  Integra&on	
  
code	
   build	
  plan	
  
Agile	
  Development	
  
Source	
  hpp://www.collab.net	
 ...
Go	
  Global	
  –	
  in	
  Minutes	
  
•  Launch	
  in	
  a	
  test	
  market	
  
•  A/B	
  Tes&ng	
  
•  Collect	
  all	
...
Measure	
  &	
  Log	
  Everything	
  
Amazon	
  CloudWatch	
  
COLLECT	
  |	
  	
  STORE	
  	
  |	
  ANALYZE	
  |	
  SHARE	
  
Import	
  Export	
  
Glacier	
  
S3	
   EC2	
  
Redshic	
 ...
Keep	
  Itera&ng	
  
Keep	
  Innova&ng	
  
«	
  Want	
  to	
  increase	
  innova&on?	
  
Lower	
  the	
  cost	
  of	
  failure	
  »	
  
	
  
Joi	
  Ito	
  
MIT	
  Me...
Fail	
  Fast	
  &	
  Cheap	
  -­‐	
  Scale	
  Success	
  
Experiment	
  
OXen	
  
	
  
Fail	
  quickly	
  at	
  a	
  
low	...
DEMOS	
  
1.  AWS	
  Elas&c	
  Beanstalk	
  	
  	
   	
  Deploy	
  to	
  Produc&on	
  using	
  Git	
  
2.  AWS	
  CloudFor...
Thank You!
aws.amazon.com/ac&vate	
  
Markku	
  Lepisto	
  –	
  Principal	
  Technology	
  Evangelist	
  
@markkulepisto	
...
Your	
  Feedback	
  is	
  Important	
  
Please	
  complete	
  the	
  Survey!	
  
What’s	
  good,	
  what’s	
  not	
  
What...
Q & A
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
Upcoming SlideShare
Loading in...5
×

AWS Startup Webinar | Developing on AWS

1,948

Published on

Published in: Technology

Transcript of "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

×