Drupal in the Cloud. Scaling with Drupal and Amazon Web Services. Northern Virginia Drupal Meetup



Similar documents
Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

Amazon Elastic Beanstalk

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Alfresco Enterprise on AWS: Reference Architecture

ArcGIS for Server in the Amazon Cloud. Michele Lundeen Esri

Scalable Architecture on Amazon AWS Cloud

Cloud computing - Architecting in the cloud

Storage Options in the AWS Cloud: Use Cases

Opsview in the Cloud. Monitoring with Amazon Web Services. Opsview Technical Overview

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Deploying for Success on the Cloud: EBS on Amazon VPC. Phani Kottapalli Pavan Vallabhaneni AST Corporation August 17, 2012

Scalable Application. Mikalai Alimenkou

TECHNOLOGY WHITE PAPER Jun 2012

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

Backup and Recovery of SAP Systems on Windows / SQL Server

AVLOR SERVER CLOUD RECOVERY

Online Backup Guide for the Amazon Cloud: How to Setup your Online Backup Service using Vembu StoreGrid Backup Virtual Appliance on the Amazon Cloud

An Introduction to Cloud Computing Concepts

Description of Application

How AWS Pricing Works

Zend Server Amazon AMI Quick Start Guide

How AWS Pricing Works May 2015

Preparing Your IT for the Holidays. A quick start guide to take your e-commerce to the Cloud

Every Silver Lining Has a Vault in the Cloud

Expand Your Infrastructure with the Elastic Cloud. Mark Ryland Chief Solutions Architect Jenn Steele Product Marketing Manager

Migration Scenario: Migrating Backend Processing Pipeline to the AWS Cloud

TECHNOLOGY WHITE PAPER Jan 2016

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

Cloud Computing and Amazon Web Services. CJUG March, 2009 Tom Malaher

Cloud Based Application Architectures using Smart Computing

Chapter 9 PUBLIC CLOUD LABORATORY. Sucha Smanchat, PhD. Faculty of Information Technology. King Mongkut s University of Technology North Bangkok

Drobo How-To Guide. Cloud Storage Using Amazon Storage Gateway with Drobo iscsi SAN

Last time. Today. IaaS Providers. Amazon Web Services, overview

AWS Account Setup and Services Overview

Amazon Cloud Storage Options

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

Web Application Hosting in the AWS Cloud Best Practices

Amazon AWS in.net. Presented by: Scott Reed

Concentrate Observe Imagine Launch

Designing Apps for Amazon Web Services

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.

GeoCloud Project Report USGS/EROS Spatial Data Warehouse Project

Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

Cloud Models and Platforms

This computer will be on independent from the computer you access it from (and also cost money as long as it s on )

Automated Application Provisioning for Cloud

Using ArcGIS for Server in the Amazon Cloud

Deploying Database clusters in the Cloud

Website Disaster Recovery

Postgres Plus Cloud Database!

ur skills.com

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

Deploying for Success on the Cloud: EBS on Amazon VPC Session ID#11312

Amazon Web Services Student Tutorial

Benchmarking Couchbase Server for Interactive Applications. By Alexey Diomin and Kirill Grigorchuk

Cloud Hosting. QCLUG presentation - Aaron Johnson. Amazon AWS Heroku OpenShift

SERVER CLOUD RECOVERY. User Guide

Using ArcGIS for Server in the Amazon Cloud

Cloud Computing with Amazon Web Services and the DevOps Methodology.

A programming model in Cloud: MapReduce

Cloud Computing: Making the right choices

SkySQL Data Suite. A New Open Source Approach to MySQL Distributed Systems. Serge Frezefond V

Amazon Web Services 100 Success Secrets

Design for Failure High Availability Architectures using AWS

SERVER CLOUD DISASTER RECOVERY. User Manual

Scalable Web Application

There Are Clouds In Your Future. Jeff Barr Amazon Web (Twitter)

Storage and Disaster Recovery

WHITE PAPER: PAN Cloud Director Technical Overview

Amazon Elastic Compute Cloud Getting Started Guide. My experience

A Survey on Cloud Storage Systems

Software- as- a- Service (SaaS) on AWS Business and Architecture Overview

GETTING STARTED WITH PROGRESS AMAZON CLOUD

High-Availability in the Cloud Architectural Best Practices

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Web Application Hosting in the AWS Cloud Best Practices

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Migration Scenario: Migrating Batch Processes to the AWS Cloud

Dynamic Deployment and Scalability for the Cloud. Jerome Bernard Director, EMEA Operations Elastic Grid, LLC.

Best Practices for Using MySQL in the Cloud

ArcGIS for Server: In the Cloud

Increased Security, Greater Agility, Lower Costs for AWS DELPHIX FOR AMAZON WEB SERVICES WHITE PAPER

A Comparative Study Of Cloud Environments and the Development of a Framework for the Automatic Deployment of Scalable Cloud-Based Applications

Storage Solutions in the AWS Cloud. Miles Ward Enterprise Solutions Architect

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

Building Success on Acquia Cloud:

AdWhirl Open Source Server Setup Instructions

Overview and Deployment Guide. Sophos UTM on AWS

CLOUD COMPUTING WITH AWS An INTRODUCTION. John Hildebrandt Solutions Architect ANZ

Oracle Applications and Cloud Computing - Future Direction

Transcription:

Drupal in the Cloud Scaling with Drupal and Amazon Web Services Northern Virginia Drupal Meetup 3 Dec 2008

Cast of Characters

Eric at The Case Foundation: The Client With typical client challenges Cost: Spending lots for boxes & load balancer in a data center Reliability And some atypical ones Scale: Runs big campaigns -- say 48,000 people donating 6-month grant competition http://miyo.casefoundation. org and Or a 6-week challenge http://www.parade. com/contests/givingchallenge Boss likes to send out press releases

Frank at Phase2 Technology : The Architect Dealing with Deployment Scenarios How many front/back end servers What to do about redundancy Automating the deployment process Aggressive timeline Hurdles No significant deployments on AWS Building site AND deployment scripts Juggling the constellation of services, scripts, servers

Drupal: The CMS We've done this for Drupal 5 and 6

AWS: The Cloud Collection of infrastructure services provided by Amazon S3 - Simple Storage Service Scalable http read-write storage Slow but bulletproof, pay per GB stored and transfered EC2 - Elastic Compute Cloud Web service that provides resizable computing capacity Pay by size of instance, time running, transfer rates EBS - Elastic Block Storage for EC2 data Fast, perminent until the datacenter burns CloudFront: Content delivery network SimpleDB: Non-relational db Simple Queue Service: A message queue for splitting jobs among machines

How does S3 work? Upload into buckets via REST/SOAP Download like a webserver via HTTP http://s2.amazonaws.com/basec/171890/2329706/copytitle.jpg Decentralized and fault tolerant

How does EC2 work? Virtualized servers across Amazon hardware infrastructure Commands are executed via REST/SOAP You can use front end services to ease the pain (RightScale) Pick your instance size Pick your OS Build an Amazon Machine Image (AMI) or use a stock/contributed AMI AMI is a snapshot of a server installation, configured packages, etc.

Act 1 How do I save my stuff?

The Cloud is not like Kansas EC2 servers are virtual They can die at any time Disk goes poof You don't even know where they are You can add more whenever load (or whim) dictates This means... Configuration should be fast/automatic Server monitoring, please Load balancing, too And how do I save my stuff?

So how to save your stuff -- if you're Google 1. Non-relational database like SimpleDB (or BigTable) No tables, just key-value pairs -- a giant hash Data is safe, but not necessarily consistent No locking, so scales really well This is how Google does it 2. But Drupal is tied tightly to the DB So this doesn't work http://buytaert.net/drupal-in-the-cloud

How to save your stuff -- if you're Drupal For the Database: 1. Use EBS for persistent storage of db disk 2. Use master-slave MySQL & backup A vendor like RightScale can help with setup For the Files: 1. Write files to S3 2. Or write them to EBS

Act 2 Configuration

Deployment Architecture You must know your deployment architecture before you can build it and (more importantly) scale it. Build for your worst (best?) case scenario Have a scaling strategy & implement acordingly

Single-tier Deployment Very easy to setup Difficult to scale

Multi-tier Deployment More difficult to setup Scales easily

Did someone say Pirates?!?!?!?! Arrrrrrrrrrr! Grrrrrrrrrrr!

Getting this show on the road Use EC2 command line, ElasticFox, or a provider such as RightScale Launch your instance Configure your instances Via shell scripts, RightScripts Assign Elastic IP or register dynamic with DNSME Mount ESB filesystem(s) Restore backups/snapshots as necessary Configure webserver Deploy Drupal from SVN or S3 (if needed) Install cron jobs Start services

Sure but HOW?!?!?!? Using Plain EC2 Largely manual process Write shell scripts to configure server (bash, ruby, perl, etc.) Make all variations environment variables Create packages of scripts, script runners, and naming conventions to order scripts Upload scripts to S3 bucket or commit to SVN Start an AMI Post AMI boot Setup environment variables for the instances Get scripts on server from S3 or SVN Run scripts to configure the server

Wait a minute, Eric says...

Better living thru... RightScale to the rescue More expensive, but great framework to manage your setup Automates a great deal Create RightScripts Create Alerts & Escalations Build Server Templates Assign AMI Assign RightScripts - Boot/Operational/Decommission Provide Inputs (env vars) Assign Alerts/Escalations Bulk of the work is at design time Runtime deployments/scaling are button clicks (or automated!)

Disaster Planning It will never happen to me Plan for disaster and test for it Kill Web or Database instance See if you survive and make fixes until you do Things that can help you survive Master-Slave DB Replication Daily S3 backup for Master 10 minute S3 incremental for Slave Filesystem sync to S3 Even better, ESB for filesystems & ESB to S3 backup Test recovery from complete failure of all instances

Other Cloud Providers Rackspace/Mosso http://mosso.com Scalr/EC2 http://scalr.net Google App Engine (Python Only) http://code.google.com/appengine/ Coming Soon to EC2 Web Based Console Built-in Load Balancing Auto-Scaling options Monitoring

Act 3 Cost and other stats

After all that, Eric saved some money Hosting expenses now 25% of what they were Cost now varies with what we use No more year-long hosting agreements Rolling out additional servers is a 15-minute job

Questions?

Or drop us a note... Eric Johnson Director of Web Development The Case Foundation ericj@casefoundation.org Frank Febbraro CTO Phase2 Technology frank@phase2technology.com Slides will be posted later tonight Eric's blog: http://el-studio.com/tag/cloud/ Phase2 blog: http://agileapproach.com