Scaling Drupal & Deployment in AWS

Post on 16-Apr-2017

696 views 9 download

Transcript of Scaling Drupal & Deployment in AWS

Scaling Drupal & Deployment in AWSEverright Chen

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: everright.chen@gmail.com

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

Deploy

Web Infrastructure

Simple Web Infrastructure

AWS Management

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

Drupal Cloud Service Based on AWS

Acquia Cloud

Drupal Environment - Basic

Amazon Route 53 MySQL RDSWebserver

EC2 Instance

Drupal Environment - Web Server Scaling

Amazon Route 53 MySQL RDSWeb Servers

EC2 Instances

Elastic Load Balancing

Drupal Environment - Database Scaling

Amazon Route 53 MySQL RDSWeb Servers

EC2 Instances

Elastic Load Balancing

Master

Replica

Drupal Environment - Reverse Proxy

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

Instances

Drupal Environment - Auto Scaling Group

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

InstancesAuto Scaling group

Drupal Environment - Auto Scaling Group

Amazon Route 53 MySQL RDS

Web Servers EC2

InstancesElastic Load Balancing

Master

Replica

VarnishEC2

InstancesAuto Scaling groupAuto Scaling group

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

CloudFormation Template

CloudFormation Template

CodeDeploy Workflow

CodeDeploy Hooks

Jenkins

An extensible open source continuous integration server.

Jenkins - AWS Cloudformation Plugin

Jenkins - AWS CodeDeploy Plugin

Jenkins - Github Plugin

Thanks!