7/5 大阪で行われたJAWS-UG三都物語に参加しました。
(写真は帰り伊丹空港で撮影したものです)
- JAWS-UG三都物語 ( on パソナテック大阪本社)
- Togetterまとめ 三都物語に関するツイートをまとまっています。
参加したセッション
- 三都物語でAmazon SWFと握手! (片山暁雄)
- OpsWorksで構築するアプリケーションデプロイ環境 (堂端翔・麻田優真)
- 開発現場で活用するVagrant (新原雅司)
- オンプレからAWSへの劇的ビフォーアフター (坂井学)
- MTとAWSと萌えと (青木まゆみ)
- AWSクラウドを使った情報共有・リモートワーク (辻義一)
- 回転寿司をクラウドで。スシローがクラウドを選んだわけ (田中覚)
- 三都物語でAmazon SWFと握手!
SWFは、ワークフローを担当するものではなく、何かがどこまで進んでの管理、仲介役
GUIが付いたものはではない
状態管理とコーディネイトを管理
処理能力が上がっていかない
その処理とその処理が終わったら、次の処理に移る
ファイアウォールなどネットワーク越も可能
動画の処理を例に挙げて説明をされました。
アップロードから始まって、元のファイルを保存、サムネイルを造ったり、していく
個別の処理をプログラムを作って、サイト公開まで
全体の処理が長くなってしまう
性能向上 スケールアップする サーバーのスペックを上げる
エラーでリカバリできない
という問題がある
これでは大きなサービスにする場合はまずい
処理の間にキューを挟む
SQSの場合、エラーになった場合リトライできる
キューに対して複数のサーバーを立てることで負荷分散
アプリケーションの冗長
順番は意識する必要がある
タスクの制御
集中的に進捗管理をする
指揮官みたいな人が入れて、タスクの順番をしているので、PC用、スマホ用で同時に処理をする
タスク間が疎結合になる
同時に処理を投げることもできる
タスクの順番も変える
メリットは大きい
タスクの制御がSPOF
複雑な実装が必要
タスクの制御は難しい
アプリケーションの順序をする機能を切り出し
処理終了したら。通知
処理が楽になる
状態の管理、キューに投げたりすることを分ける
決めるところをステートレスになる
これがAmazon SWF 中間管理職的役割
SWFの利点
データを三カ所のAZに保存
1タスク、1アプリケーションでしか処理できない
履歴も三ヶ月保存
ポーリング タスクを決める人、各種タスクをファイアウォールを超えることができる
南米にあっても、アメリカにあってもOK
SWFのワードの説明
- ワークフロースターター
ワークフローをキック
- ワークフローエグゼキューション
- タスクリスト
タスクが入っているキュー
キューも分けることもできる 無料ユーザ、有料ユーザを分けることもできる
SWFの利用事例 として、Sansan株式会社 名刺サービス 「Eight」
写真を撮ったら、SWFで加工して手作業などへて、データ化
SWFを開発する上で
Flow Framework オススメ
Java, Ruby (コード量が少ない、簡単)
スケーラブルな非同期処理が簡単に
SWF 組織をうまく使えるようになる
音系は不向き
- OpsWorksで構築するアプリケーションデプロイ環境
自動化ソリューション
Stackは簡単にコピーすることができる
役割ごとにインスタンスを分けたもの
Chefのレシプが実行されるタイミング
shutdown 45秒前
RDSもOpsworksで使えるようになりまいた。
負荷の閾値でもスケールアウトしたりできる
EC2でもできるが、レイヤーで分かれているので、視覚的に設定
※最近ではEC2でもできるようになりましたが
細かい設定はEC2が勝る。
chefのレシピの実行に時間がかかる
Receipeを小さくしてインスタンスの準備を高速化するのがよい
Chefについて
cookbook の説明で料理本
chefの自動化できるかちゃんとできるているか不安な場合は、serverspecでコードのテスト
カスタムレシピも可能
ライフサイクルイベントのタイミングで個なるレシピを実行できる
Opsworksは、chef-soloベースなので、chef serverの機能は使えない
c3.largeでも、 初回 5分から10分かかる
- 開発現場で活用するVagrant
vargrantを開発現場で使う上で、気をつけたいポイントについての話でした。
デモを中心に話されました。
vargrantと連携できるツールは以下いろいろあります。
VirtualBox vmware
aws
chef
puppet
ansible
docker
vargrantは、連携ツールに依存。ただのコントローラー
つまりは、仮想環境に指示を出すものです
VBoxManageを実行しているだけ
dockerはvargrantを置き換えるものではない。docker+vargrantについては以下過去発表した以下資料を参照するとよいとのこと
hostとvargurantで起動したGuestOSのフォルダを同期するSynced Folderについて。 Dropboxのイメージ
Vargrant Shareを使って、Vargrantの仮想マシンをインターネットに公開できる
Vargrant Cloudにアカウント登録は必要。
最後に言えることは、vargrant sshでログインして設定を変更することは避けるのがベスト
- オンプレからAWSへの劇的ビフォーアフター
iNSIGHTBOXをAWSに移行した話
http://www.slideshare.net/manabusakai/aws-before-after
データ量の増加にインフラ構築が追いつけない ディスク増やしたい ぎりぎりの状態 営業売りたがらない
インフラ要因で止めることはできない。 XX待ってとはいけない
インフラ構築
ボトルネック HBase 複雑 サーバー増やすとスケールアウト。サーバーを増やすのがボトルネックになっていた
ノード数が足りなくなってきた。LINEもHBase
物理サーバーなので、サーバーの発注、設置とか二ヶ月かかってしまう
増強のために二ヶ月待っていられない
性能検証、データ移行はしっかり実施
Netflix Chaos Monkeyという 障害を仕掛けにしていくツールもあるが、これを使わず障害対処する方法を構築したとのこと
障害時は新しいサーバーを立ち上げて、サーバーの復旧を優先する
- MTとAWSと萌えと
Movable Type + S3を使った話になります。
s3fs + lsyncd を使ったコンテンツをS3に同期させて、S3 ホスティングを実現したことを説明されまいた。
また、S3 へ転送させるplugin の紹介もされました。個人的にはIAM Roleに対応してくれるとなおよいが。
MTの場合、静的コンテンツを生成するので、S3と相性がいいと思われます。
http://tec.toi-planning.net/mt/amazon/mt-amazons3/
MTではないが、当ブログも、Wordpress + Nephila clavata (絡新婦) で、メディアデータは、S3への同期を実現していたりします。
- AWSクラウドを使った情報共有・リモートワーク
クライアント証明書認証も、端末単位の接続もオススメ
Tsunami UDPは、リージョン間のファイル転送高速化
Workspace について
画面転送速い。DesktopアプリだとRedshiftの分析には快適で
PCoIP 暗号化Sされている
12時間ごとにS3にバックアップ