45
Embrace the Cloud Henrik Møller Rasmussen · Founder & CTO at famly.co

Embrace the Cloud - Inspiring Conference 2015

Embed Size (px)

Citation preview

Embrace the Cloud Henrik Møller Rasmussen · Founder & CTO at famly.co

The digital daycare

TICKET.COM

Buy

Peaks with heavy load Always available

+

+

Hub

DNS - Route 53

“Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service.”

Integrates extremely well with other AWS servicesElastic Load Balancing

Simple Email Services

Health checks / failover

Let’s start simple - Elastic Beanstalk

“Amazon Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services.”

Elastic Compute Cloud (EC2)

t2.micro: 1 core, 1GiB ram ~ $15 / monthr3.8xlarge: 32 core, 244GiB ram ~ $2.000 / month

Regions and Availability Zones

* Old map - more regions today

Zone A Zone B Zone C

Region EU-WEST-1

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

54.12.13.14

54.12.13.14

MySQL - Amazon RDS

“Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to set up, operate, and scale a relational database in the cloud.”

Automated backups

Encryption in transit and at rest

Automated maintenance (security upgrades etc.)

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

54.12.13.14

54.12.13.14

Buy

Elastic Load Balancing

“Elastic Load Balancing automatically distributes incoming application traffic across multiple Amazon EC2 instances in the cloud.”

High availability

Scalable

SSL termination (encryption / decryption)

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

Problems with multiple servers

TYPO3 Flow sessions are stored in local file cache

Logging goes to local filesystem

Uploaded resources are stored on local filesystem

TYPO3 Flow sessions are stored in local file cache

Solution:Change TYPO3 Flow’s session backend to a

database or redis backend (e.g. ElastiCache)

Logging goes to local filesystem

Solution: Ship log files to a central logging server

CloudWatch

Uploaded resources are stored on local filesystem

Solution:Upload resources to a shared file service (e.g. Amazon S3)

Amazon S3

“Amazon S3 provides developers and IT teams with secure, durable, highly-scalable object storage.”

Easy to use

Cheap

Highly-scalable

Durable

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

AWS PHP SDK

Install with composer

aws/aws-sdk-php

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

Auto-Scaling

“Auto Scaling helps you maintain application availability and allows you to scale your Amazon EC2 capacity up or down automatically according to conditions you define"

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

RDS Multi-AZ

“Amazon RDS Multi-AZ deployments provide enhanced availability and durability for Database (DB) Instances"

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

RDS Read Replicas

“Amazon RDS Read Replicas provide enhanced performance and durability”

Reading (HTTP GET) uses a random read replica

Writing (HTTP POST) goes to master

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

Amazon SQS

“Amazon Simple Queue Service (SQS) is a fast, reliable, scalable, fully managed message queuing service.

Things to use a queue for:Generate and send emails (newsletters etc.)

Generate and send reports

Handling events in an event-driven architecture

Zone A Zone B Zone C

Region EU-WEST-1

DNS Route 53

ticket.com

One of ELB’s IP'sBuy

Elastic Load Balancing

S3

SQS

Emails - SES

“Amazon Simple Email Service (Amazon SES) is a cost-effective outbound-only email-sending service built on the

reliable and scalable infrastructure.”

High deliverability

Automated DKIM signing

Anti-spam agreements

Higher delivery rates

Push iOS / Android - Amazon SNS

“Amazon Simple Notification Service is a fast, flexible, fully managed push messaging service.”

Amazon Cloudwatch

“Amazon CloudWatch is a monitoring service to collect and track metrics and set alarms.”

And much more..

CDN (CloudFront)

Managed Redis / Memcached (ElastiCache)

And more …

Start cost

My experience so far:99% predictable, 1% unknown

2 x t2.micro (with SSD)…………… ~ $30 1 x Load Balancer ………………………… ~ $20 1 x MySQL with failover…………… ~ $30 1 x MySQL Read replica …………… ~ $15 S3, Route 53, SES, SNS etc…… ~ $ 5 ——

Total ………………………………………………………… ~ $100 / month

AWS Pricing is very complex and hard to predict.

+

Some of the reasons why I love AWS:• Fairly easy to get started (with a very advanced setup) • File/push/email/queue/cache/… services are super useful and easy to use • The auto-healing / auto-scaling features gives me peace of mind • Feels confident that we can scale easily using horizontal scaling

Hub

The digital daycare

Henrik Møller Rasmussen · [email protected] · Twitter: @heinodk Founder & CTO at famly.co

Thanks for listening.