Rails Conf

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Rails Conf as PDF for free.

More details

  • Words: 554
  • Pages: 38
Utilizing Amazon S3 and EC2 in Rails

Jonathan Weiss, Peritor Wissensmanagement GmbH RailsConf Europe Berlin, 2007

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

Elastic Compute Cloud - EC2

Redundant Data Store

Virtual server per hour

$0,15 per GB data per month

$0,10 per CPU hour

$0,10 - $0,20 per GB traffic

$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

www.peritor.com

foto_5.jpg

site/screen.css

backups/januar.zip

site/script.js

fotos/2007/001.png

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 • 1,7 GHz • 1,75 GB RAM • 160 GB local file system (not persistent!) • 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

• S3Browser

• Brackup

• Firefox S3 Organizer extension

• Jungle Disk

•…

• S3 FUSE • s3DAV • Duplicity

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

EC2 for extra capacity

29

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

30

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

31

Swiftiply Proxy Installation

Configuration

Start

32

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

Start

or

33

EC2 on Demand before Swiftiply

34

EC2 on Demand with Swiftiply

35

EC2 on Demand with Swiftiply

36

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 • RightScale http://www.rightscale.com

37

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 38

Related Documents

Rails Conf
December 2019 15
Rails
June 2020 21
Conf
November 2019 45
Conf
October 2019 47
Tutorial Rails
November 2019 29
Textmate Rails
August 2019 29