35
Clarkie 25th January 2017 A Year with AWS @clarkieclarkie github.com/clarkie

LNUG - A year with AWS

Embed Size (px)

Citation preview

Page 1: LNUG - A year with AWS

Clarkie25th January 2017

A Year with AWS

@clarkieclarkie github.com/clarkie

Page 2: LNUG - A year with AWS

2

Page 3: LNUG - A year with AWS

3

Case StudyStore API

Page 4: LNUG - A year with AWS

4

● Drives the content in the app● Simple relational model (Volumes, Pieces and Masterclasses)

API

Page 5: LNUG - A year with AWS

5

● A database○ Clustered?○ Backups?

● An application○ Servers?○ Clustered?

● Continuous Integration / Deployments

Requirements

Page 6: LNUG - A year with AWS

6

Page 7: LNUG - A year with AWS

7

AWS, WTF?!

Page 8: LNUG - A year with AWS

8

Name that AWS Service!

Page 9: LNUG - A year with AWS

9

RDS (Relational Database Service)

Page 10: LNUG - A year with AWS

10

● MySQL, PostgreSQL, Microsoft SQL Server, ...● Simple setup● Automated backups● Multi-AZ

RDS (Relational Database Service)

Page 11: LNUG - A year with AWS

11

What about the application?

Page 12: LNUG - A year with AWS

12

Elastic Beanstalk

Page 13: LNUG - A year with AWS

13

● PaaS● “Infrastructure as code”● Layer of abstraction on top of CloudFormation● A bit like Heroku

Elastic Beanstalk

Page 14: LNUG - A year with AWS

14

● Select Platform

Elastic Beanstalk

Page 15: LNUG - A year with AWS

15

● Select Platform

Elastic Beanstalk

● Environment Type

Page 16: LNUG - A year with AWS

16

● Instance type

Elastic Beanstalk

Page 17: LNUG - A year with AWS

17

● User interface or command line?

Elastic Beanstalk

Page 18: LNUG - A year with AWS

18

● Scriptable (CI)● UI is rubbish

Elastic Beanstalk

Page 19: LNUG - A year with AWS

19

Lang Lang

Page 20: LNUG - A year with AWS

20

Regions?● Regions

○ eu-west-1 (Ireland)○ ap-northeast-1 (Tokyo)○ ...

● Availability Zones (AZ)○ eu-west-1-a○ eu-west-1-b○ ...

Page 21: LNUG - A year with AWS

21

Page 22: LNUG - A year with AWS

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

Page 23: LNUG - A year with AWS

23

What about the content?

Page 24: LNUG - A year with AWS

24

Simple Storage Service (S3)

Page 25: LNUG - A year with AWS

25

● Buckets● Permissions● Object versioning● Static website hosting

Simple Storage Service (S3)

Page 26: LNUG - A year with AWS

26

Great firewall of China

Page 27: LNUG - A year with AWS

27

CloudFront

Page 28: LNUG - A year with AWS

28

● S3● Elastic Beanstalk (Elastic Loadbalancers)

CloudFront

Page 29: LNUG - A year with AWS

29

CloudFront

Page 30: LNUG - A year with AWS

30

What happened next?

Page 31: LNUG - A year with AWS

31

Now

Page 32: LNUG - A year with AWS

32

● 13 Elastic Beanstalk environments○ SQS

● 3 S3 Buckets● 8 CloudFront distributions● Elasticache● RDS scrapped in favour of DynamoDB

Summary

Page 33: LNUG - A year with AWS

33

● All the things!● Vendor lock-in● China● ‘Hidden’ limits● Documentation

AWS is great, but ...

Page 34: LNUG - A year with AWS

Questions?

@clarkieclarkie github.com/clarkie

Page 35: LNUG - A year with AWS

The future of music is here

@tidomusic tidomusicapp.com