Scaling Drupal & Deployment in AWS

34
Scaling Drupal & Deployment in AWS Everright Chen

Transcript of Scaling Drupal & Deployment in AWS

Page 1: Scaling Drupal & Deployment in AWS

Scaling Drupal & Deployment in AWSEverright Chen

Page 2: Scaling Drupal & Deployment in AWS

About Me● Developer Master in CI&T● Drupal (8+ years)● Drupal, Magento, Wordpress,

osCommerce● PHP, Python, Java, Bash, Ruby,

Perl, SQL, Javascript, CSS, ...● Acquia Certified Grand Master,

MCSE, MCDBA, RCE● Github:

https://github.com/everright● Email: [email protected]

Page 3: Scaling Drupal & Deployment in AWS

Agenda● Infrastructure● AWS● Drupal on AWS● Environment &

Deploy

Page 4: Scaling Drupal & Deployment in AWS

Web Infrastructure

Page 5: Scaling Drupal & Deployment in AWS

Simple Web Infrastructure

Page 6: Scaling Drupal & Deployment in AWS
Page 7: Scaling Drupal & Deployment in AWS
Page 8: Scaling Drupal & Deployment in AWS

AWS Management

●AWS Management Console●AWS Command Line Tools●AWS API & SDK

Page 9: Scaling Drupal & Deployment in AWS
Page 10: Scaling Drupal & Deployment in AWS

Drupal Cloud Service Based on AWS

Acquia Cloud

Page 11: Scaling Drupal & Deployment in AWS

Drupal Environment - Basic

Amazon Route 53 MySQL RDSWebserver

EC2 Instance

Page 12: Scaling Drupal & Deployment in AWS

Drupal Environment - Web Server Scaling

Amazon Route 53 MySQL RDSWeb Servers

EC2 Instances

Elastic Load Balancing

Page 13: Scaling Drupal & Deployment in AWS

Drupal Environment - Database Scaling

Amazon Route 53 MySQL RDSWeb Servers

EC2 Instances

Elastic Load Balancing

Master

Replica

Page 14: Scaling Drupal & Deployment in AWS

Drupal Environment - Reverse Proxy

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

Instances

Page 15: Scaling Drupal & Deployment in AWS

Drupal Environment - Auto Scaling Group

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

InstancesAuto Scaling group

Page 16: Scaling Drupal & Deployment in AWS

Drupal Environment - Auto Scaling Group

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

InstancesAuto Scaling groupAuto Scaling group

Page 17: Scaling Drupal & Deployment in AWS

Drupal Environment - Final

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

InstancesAuto Scaling groupAuto Scaling group

Amazon S3

bucket Amazon SES

ElastiCache

Page 18: Scaling Drupal & Deployment in AWS
Page 19: Scaling Drupal & Deployment in AWS

CloudFormation Template

Page 20: Scaling Drupal & Deployment in AWS

CloudFormation Template

Page 21: Scaling Drupal & Deployment in AWS
Page 22: Scaling Drupal & Deployment in AWS
Page 23: Scaling Drupal & Deployment in AWS

CodeDeploy Workflow

Page 24: Scaling Drupal & Deployment in AWS

CodeDeploy Hooks

Page 25: Scaling Drupal & Deployment in AWS
Page 26: Scaling Drupal & Deployment in AWS

Jenkins

An extensible open source continuous integration server.

Page 27: Scaling Drupal & Deployment in AWS

Jenkins - AWS Cloudformation Plugin

Page 28: Scaling Drupal & Deployment in AWS

Jenkins - AWS CodeDeploy Plugin

Page 29: Scaling Drupal & Deployment in AWS

Jenkins - Github Plugin

Page 30: Scaling Drupal & Deployment in AWS
Page 32: Scaling Drupal & Deployment in AWS

Thanks!

Page 33: Scaling Drupal & Deployment in AWS