of 40

Rails on AWS

Published on June 2016 | Categories: Documents | Downloads: 22 | Comments: 0
124 views

Comments

Content

Rails on AWS

Jonathan Weiss, Peritor Wissensmanagement GmbH RubyFools Copenhagen, 2008

Starting Point

One machine: • Apache • Ruby / Rails • MySQL

2

Worst Case Populariy

3

A Difficult Path

4

Problem: Backup

• High availability • Redundancy • Very big data sets

5

Problem: File System
• Important files have to be accessed by many servers • NFS / Samba not practical

6

Problem: Spontaneous Traffic

7

Problem: Load Fluctuation

8

Don‘t reinvent the wheel!

9

Amazon Web Services

Simple Storage Service - S3 Redundant Data Store $0,15 per GB data per month $0,10 - $0,20 per GB traffic

Elastic Compute Cloud - EC2 Virtual server per hour $0,10 per CPU hour $0,10 - $0,20 per GB traffic

E-Commerce S.. …….

10

S3 - Simple Storage Service
•  Redundant storage - as much as you like •  max. 5 GB per object •  Organized in „Buckets“ •  Web Service API for uploads •  Downloads via •  Web Service •  HTTP / HTTPS •  BitTorrent

11

S3 - Buckets S3
•  Unique over all S3 •  Contains many key-value-metadata tupel •  Cannot contain other buckets! •  Key can contain „/“
MyBucket_name foto_5.jpg backups/januar.zip fotos/2007/001.png www.peritor.com site/screen.css site/script.js FreeBSD-6.2.iso

12

S3 with AWS::S3
Upload

Download

13

EC2 - Elastic Compute Cloud
•  Based on XEN virtualization •  On demand virtual servers - controlled with Web Service API

•  Use your favorite Linux distro (Linux 2.6.16), Amazon Machine Images (AMI) are stored on S3 •  ACLs for hosts/ports access control
14

EC2 Tools
List availabe images

Start a new instance

Login with SSH

Shutdown instance

15

amazon-ec2 gem
Setup

Usage

16

And now? How does this solve my problems?

17

S3 - Backup

• s3sync.rb • Brackup • Jungle Disk • S3 FUSE • s3DAV • Duplicity

• S3Browser • Firefox S3 Organizer extension • …

18

s3sync.rb
Backup

Restore

19

S3 Asset Host

20

S3 Asset Host
Setup DNS

Rails configuration

21

S3 Asset Host
welcome.rhtml template

Output

22

S3 - Authenticated User Data

23

attachment_fu Rails plugin
Setup

24

attachment_fu Rails plugin
Upload

Download

25

On-Demand Computing with EC2

Time based, e.g. with cron

26

On-Demand Computing with EC2

Load based, e.g. with Monit

27

On-Demand Computing with EC2

28

Availability Zones

29

Elastic IPs

30

EC2 for extra capacity

31

Load Balancer / Proxy
Example mod_proxy_blancer: •  Talks to multiple backend servers (Mongrel) •  Central Proxy/Load-Balancer configuration that has knowledge about nodes •  Typically proxy restart on config change

32

Swiftiply
Swiftiply Proxy: •  Multiple backend clients have a persistent connection to the backend port •  Proxy listens on cluster port for requests and forwards them

No re-configuration

33

Swiftiply Proxy
Installation Configuration

Start

34

Swiftiplied Mongrel
•  Gem plugin that patches Mongrel •  Transforms Mongrel in Swiftiply client •  Experimental

Start

or

35

EC2 on Demand before Swiftiply

36

EC2 on Demand with Swiftiply

37

EC2 on Demand with Swiftiply

38

Ressources
•  Amazon Web Services http://aws.amazon.com •  Swiftiply http://swiftiply.swiftcore.org •  Attachment_fu http://svn.techno-weenie.net/projects/plugins/attachment_fu/ •  Elastic Rails http://www.elasticrails.com •  Capazon http://capazon.rubyforge.org •  Rubber http://rubber.rubyforge.org •  RightScale http://www.rightscale.com
39

Peritor Wissensmanagement GmbH Lenbachstraße 2 12157 Berlin Internet: www.peritor.com Email: [email protected] Telefon: +49 (0)30 69 40 11 94 Telefax: +49 (0)30 69 40 11 95

© Peritor Wissensmanagement GmbH - All Rights Reserved
40

Sponsor Documents


Recommended

No recommend documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close