paa s and oss

40
Copyright © 2013 Engine Yard. All Rights Reserved. 株式会社 Engine Yard Email: Twitter: PaaS with OSS Webアプリをクラウドの展開する オープンソースソフトウェアとPaaS Yusuke Ando [email protected] @yando

Upload: yandod

Post on 31-May-2015

1.756 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved.

株式会社  Engine  Yard

E-‐‑‒mail:  Twitter:  

PaaS with OSSWebアプリをクラウドの展開する

オープンソースソフトウェアとPaaS

Yusuke  [email protected]@yando

Page 2: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 2

@yando

CandyCane / php

「懇親会 ピザ 発注 アプリ」

Page 3: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 3

Engine Yard

PHP/Ruby/Node/Java 対応

PaaS

24時間有人監視 / DevOps

SSH&sudo可 サポート有

Page 4: Paa s and oss
Page 5: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 5

Engine Yard

��!�� �&�

����

.-*�

�����

��#���

���%��

&����

��"���

���

��$��,+� ����,+�

�$�� ��"������)('�

Page 6: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 6

Engine YardがPaaSスタックを

の内側についてお話します

Page 7: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 7

アジェンダ

• クラウド時代のソフトウェア

• Engine Yardが使用するプロダクト

• PaaS運用からの教訓

Page 8: Paa s and oss

クラウド時代のソフトウェア

Page 9: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 9

IPA: IT人材白書2013

Page 10: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 10

クラウド化

• ユーザは具体的な機能を求める

• ハードウェアを意識しない

• ソフトウェアがより重要に

Page 11: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 11

構成

LAMP

Page 12: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 12

本当にLAMPだけ?

• Linux

• Apache

• MySQL

• PHP

Page 13: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 13

必要とされるソフトウェアの増加

• 環境の管理

• ロードバランサー

• その他のWebサーバー

• NoSQL

Page 14: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 14

実際にどう違うのでしょうか

Page 15: Paa s and oss

Engine Yardが使用するプロダクト

Page 16: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 16

OSレベル

• Gentoo 12.11

AWSとTerremarkで使用中

• Ubuntu 12.04 LTS

Windows Azureで使用中

Page 17: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 17

構成管理

• Chef 0.6 旧世代の環境• Chef 10現行の環境• Chef 11次世代の環境

Page 18: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 18

Chefを利用する際の注意点

• バージョン間の違い

• インストールの方法

• 外部のクックブックの考慮

Page 19: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 19

Chef11の最新情報

Page 20: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 20

Chef関連

• foodcritic

クックブックのルールチェック

• Berkshelf

外部クックブックの管理

Page 21: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 21

ロードバランサー

• HAProxy

オープンソースのLB

• Elastic Load Balancing (AWS)

AWSの提供する機能

Page 22: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 22

• 高性能TCP/HTTP ロードバランサ

• 高速・効率・安定

• GitHub / Tumblr / Twitter が採用

• 2000年にWilly Tarreau氏が開発

Page 23: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 23

Stats

Page 24: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 24

• HTTP / TCP に対応 (例えばDB)• 賢いバランシングroundrobin static-rr leastconn source uri url_param hdr rdp-cookie

• L7 (Sticky Session)

豊富な機能

Page 25: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 25

haproxy.cfg

Page 26: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 26

• バランシング先のメンテナンス

• スケールアウト時

• ダウン時

• HAproxy自身の冗長化

課題

Page 27: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 27

haproxy.cfg.erb (Chef)

Page 28: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 28

Webサーバー・APPコンテナ

• Nginx

• Unicorn Passenger Puma

• php-fpm

• Jetty

Page 29: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 29

Nginx

• 急速に普及中

• 静的コンテンツの配信性能が高い

• FastCGIを使ったリバースプロキシ

• Gzip圧縮・設定分割

Page 30: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 30

Nginx

Page 31: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 31

php-fpm

• Apacheを使わずにPHPが動作

• 高速

• mod_rewriteは設定で代替

Page 32: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 32

/etc/nginx/servers/*.conf

Page 33: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 33

データストア

• MySQL

• PostgreSQL

• Riak

• Memcache

Page 34: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 34

Riak with HAProxy

Page 35: Paa s and oss

PaaS運用からの教訓

Page 36: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 36

クックブックの実装

• 様々なプロダクトが混在

• 手動での構築は非現実的

• Rubyを使ったクックブックの実装

部隊が必要になる

Page 37: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved. 37

頻繁なアップデートの実施

• クックブックが「腐る」

• 頻繁に実施できる環境

• 世代管理・バージョン管理

Page 38: Paa s and oss

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved.

突然の脆弱性対応

38

Page 39: Paa s and oss

脆弱性対応などを随時配信

Page 40: Paa s and oss

The Leading Platform as a Servicewww.facebook.com/eyjapan

勉強会情報更新中!!