paa s and oss
TRANSCRIPT
Copyright © 2013 Engine Yard. All Rights Reserved.
株式会社 Engine Yard
E-‐‑‒mail: Twitter:
PaaS with OSSWebアプリをクラウドの展開する
オープンソースソフトウェアとPaaS
Yusuke [email protected]@yando
Copyright © 2013 Engine Yard. All Rights Reserved. 2
@yando
CandyCane / php
「懇親会 ピザ 発注 アプリ」
Copyright © 2013 Engine Yard. All Rights Reserved. 3
Engine Yard
PHP/Ruby/Node/Java 対応
PaaS
24時間有人監視 / DevOps
SSH&sudo可 サポート有
Copyright © 2013 Engine Yard. All Rights Reserved. 5
Engine Yard
��!�� �&�
����
.-*�
�����
��#���
���%��
&����
��"���
���
��$��,+� ����,+�
�$�� ��"������)('�
Copyright © 2013 Engine Yard. All Rights Reserved. 6
Engine YardがPaaSスタックを
の内側についてお話します
Copyright © 2013 Engine Yard. All Rights Reserved. 7
アジェンダ
• クラウド時代のソフトウェア
• Engine Yardが使用するプロダクト
• PaaS運用からの教訓
クラウド時代のソフトウェア
Copyright © 2013 Engine Yard. All Rights Reserved. 9
IPA: IT人材白書2013
Copyright © 2013 Engine Yard. All Rights Reserved. 10
クラウド化
• ユーザは具体的な機能を求める
• ハードウェアを意識しない
• ソフトウェアがより重要に
Copyright © 2013 Engine Yard. All Rights Reserved. 11
構成
LAMP
Copyright © 2013 Engine Yard. All Rights Reserved. 12
本当にLAMPだけ?
• Linux
• Apache
• MySQL
• PHP
Copyright © 2013 Engine Yard. All Rights Reserved. 13
必要とされるソフトウェアの増加
• 環境の管理
• ロードバランサー
• その他のWebサーバー
• NoSQL
Copyright © 2013 Engine Yard. All Rights Reserved. 14
実際にどう違うのでしょうか
Engine Yardが使用するプロダクト
Copyright © 2013 Engine Yard. All Rights Reserved. 16
OSレベル
• Gentoo 12.11
AWSとTerremarkで使用中
• Ubuntu 12.04 LTS
Windows Azureで使用中
Copyright © 2013 Engine Yard. All Rights Reserved. 17
構成管理
• Chef 0.6 旧世代の環境• Chef 10現行の環境• Chef 11次世代の環境
Copyright © 2013 Engine Yard. All Rights Reserved. 18
Chefを利用する際の注意点
• バージョン間の違い
• インストールの方法
• 外部のクックブックの考慮
Copyright © 2013 Engine Yard. All Rights Reserved. 19
Chef11の最新情報
Copyright © 2013 Engine Yard. All Rights Reserved. 20
Chef関連
• foodcritic
クックブックのルールチェック
• Berkshelf
外部クックブックの管理
Copyright © 2013 Engine Yard. All Rights Reserved. 21
ロードバランサー
• HAProxy
オープンソースのLB
• Elastic Load Balancing (AWS)
AWSの提供する機能
Copyright © 2013 Engine Yard. All Rights Reserved. 22
• 高性能TCP/HTTP ロードバランサ
• 高速・効率・安定
• GitHub / Tumblr / Twitter が採用
• 2000年にWilly Tarreau氏が開発
Copyright © 2013 Engine Yard. All Rights Reserved. 23
Stats
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)
豊富な機能
Copyright © 2013 Engine Yard. All Rights Reserved. 25
haproxy.cfg
Copyright © 2013 Engine Yard. All Rights Reserved. 26
• バランシング先のメンテナンス
• スケールアウト時
• ダウン時
• HAproxy自身の冗長化
課題
Copyright © 2013 Engine Yard. All Rights Reserved. 27
haproxy.cfg.erb (Chef)
Copyright © 2013 Engine Yard. All Rights Reserved. 28
Webサーバー・APPコンテナ
• Nginx
• Unicorn Passenger Puma
• php-fpm
• Jetty
Copyright © 2013 Engine Yard. All Rights Reserved. 29
Nginx
• 急速に普及中
• 静的コンテンツの配信性能が高い
• FastCGIを使ったリバースプロキシ
• Gzip圧縮・設定分割
Copyright © 2013 Engine Yard. All Rights Reserved. 30
Nginx
Copyright © 2013 Engine Yard. All Rights Reserved. 31
php-fpm
• Apacheを使わずにPHPが動作
• 高速
• mod_rewriteは設定で代替
Copyright © 2013 Engine Yard. All Rights Reserved. 32
/etc/nginx/servers/*.conf
Copyright © 2013 Engine Yard. All Rights Reserved. 33
データストア
• MySQL
• PostgreSQL
• Riak
• Memcache
Copyright © 2013 Engine Yard. All Rights Reserved. 34
Riak with HAProxy
PaaS運用からの教訓
Copyright © 2013 Engine Yard. All Rights Reserved. 36
クックブックの実装
• 様々なプロダクトが混在
• 手動での構築は非現実的
• Rubyを使ったクックブックの実装
部隊が必要になる
Copyright © 2013 Engine Yard. All Rights Reserved. 37
頻繁なアップデートの実施
• クックブックが「腐る」
• 頻繁に実施できる環境
• 世代管理・バージョン管理
Copyright © 2013 Engine Yard. All Rights Reserved.
突然の脆弱性対応
38
脆弱性対応などを随時配信
The Leading Platform as a Servicewww.facebook.com/eyjapan
勉強会情報更新中!!