Paa s and oss

Preview:

Citation preview

Copyright  ©  2013  Engine  Yard.  All  Rights  Reserved.

株式会社  Engine  Yard

E-‐‑‒mail:  Twitter:  

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

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

Yusuke  Andoyando@engineyard.com@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

勉強会情報更新中!!

Recommended