Upload
andrew-clarke
View
135
Download
1
Embed Size (px)
Citation preview
Clarkie25th January 2017
A Year with AWS
@clarkieclarkie github.com/clarkie
2
3
Case StudyStore API
4
● Drives the content in the app● Simple relational model (Volumes, Pieces and Masterclasses)
API
5
● A database○ Clustered?○ Backups?
● An application○ Servers?○ Clustered?
● Continuous Integration / Deployments
Requirements
6
7
AWS, WTF?!
8
Name that AWS Service!
9
RDS (Relational Database Service)
10
● MySQL, PostgreSQL, Microsoft SQL Server, ...● Simple setup● Automated backups● Multi-AZ
RDS (Relational Database Service)
11
What about the application?
12
Elastic Beanstalk
13
● PaaS● “Infrastructure as code”● Layer of abstraction on top of CloudFormation● A bit like Heroku
Elastic Beanstalk
14
● Select Platform
Elastic Beanstalk
15
● Select Platform
Elastic Beanstalk
● Environment Type
16
● Instance type
Elastic Beanstalk
17
● User interface or command line?
Elastic Beanstalk
18
● Scriptable (CI)● UI is rubbish
Elastic Beanstalk
19
Lang Lang
20
Regions?● Regions
○ eu-west-1 (Ireland)○ ap-northeast-1 (Tokyo)○ ...
● Availability Zones (AZ)○ eu-west-1-a○ eu-west-1-b○ ...
21
22
$ eb clone store-api \ --clone_name lang-lang-store \ --envvars NODE_ENV=langLang \ --region ap-northeast-1 \ --scale 2 \ --exact
eb clone to the rescue
23
What about the content?
24
Simple Storage Service (S3)
25
● Buckets● Permissions● Object versioning● Static website hosting
Simple Storage Service (S3)
26
Great firewall of China
27
CloudFront
28
● S3● Elastic Beanstalk (Elastic Loadbalancers)
CloudFront
29
CloudFront
30
What happened next?
31
Now
32
● 13 Elastic Beanstalk environments○ SQS
● 3 S3 Buckets● 8 CloudFront distributions● Elasticache● RDS scrapped in favour of DynamoDB
Summary
33
● All the things!● Vendor lock-in● China● ‘Hidden’ limits● Documentation
AWS is great, but ...
Questions?
@clarkieclarkie github.com/clarkie
The future of music is here
@tidomusic tidomusicapp.com