JAWS DAYS 2015に行ってきました

f:id:watass:20150323224751j:plain

JAWS DAYS 2015
http://jawsdays2015.jaws-ug.jp/

AWSユーザの祭典、JAWS DAYS 2015に参加してきました。
日本各地のJAWS-UG支部が東京に集まるということで、結構地方の方もいたみたいですね。とはいえ、やっぱり関東地区の黒い札の方が多いようでしたが・・・ちなみに僕はピンクの札でした。多少は目立ってたのかな?
さて、色々参考になる話を聞くことができたので、しっかりアウトプットしておきます。

クラウドとコミュニティのこれまでとこれから

jawsdays2015.jaws-ug.jp
アマゾンデータサービスジャパンの小島氏によるキーノート。
AWSというサービスが今までどうあって、今後どうなっていくのかという話に興味があって参加。決してスマートニュースのセッションが混んでいたからではありません。最初はあえて技術的なセッションでなく、広い意味でのAWSについて聞くというのもなかなかよかったです。

クラウドの進化は既に仕事でフォローできる範囲を超えているという話、引用ではありましたが、グサッときましたね。だからこそ、コミュニティでユーザが試し、その結果がAWSへフィードバックされるというよい循環を強化するために、AWSはコミュニティを重視しているとのこと。コミュニティの成長は農業に例えられる。具体的には、リーダーの存在、フォロワーの存在、場の継続が重要であると説いていました。これは地方エンジニアからすると非常に共感できるものがあります。

あわせて、従来のELB+EC2+RDSのアーキテクチャを紹介しつつ、昨今のトレンドのビックデータリアルタイム分析についても話されてました。AWSのサービスでいうとKinesis、EMR、Redshiftとかが関連サービスですね。スシローさんの事例は有名だと思いますが、今後ますますビックデータ活用の知識は必要になってくるのでしょう。
Hadoopの基礎知識ぐらいは勉強しとこう・・・

OpsWorksでDevOpsを感じよう

jawsdays2015.jaws-ug.jp
アイレットの古渡氏によるセッション。
アイレットのcloudpackといえば、AWSの最上位パートナーとして有名ですよね。そんなcloudpack事業部に所属される古渡氏が、OpsWorksの簡単な説明をされました。

OpsWorksはDevOpsを推進するAWSのサービスです。内部的にはChefを使用したりして、インスタンスの構成管理、デプロイの自動化などをサポートしてくれます。別のクラウド上やオンプレミス上でCapistranoやChef、Jenkinsなどでやっていた各種操作はOpsWorks上で一括管理できるようです。
Chefを使うということで、結構抵抗があって触っていなかったのですが、全体の設定を司るスタック、Chefレシピを適用できるレイヤ、そしてAppというように、複数の層に分かれて柔軟に設定でき、アンデプロイやロールバックもできちゃうよ、とのことだったので、なかなかOpsWorksに興味が湧くセッションでした。
現在、個人のAWSの環境では素のEC2をVPC上においているのですが、Chefの勉強も兼ねてOpsWorksも勉強してみたいですね。構成管理はやらないわけにはいかないですからねー。

AWS OpsWorksの仕組みと活用方法のご紹介

jawsdays2015.jaws-ug.jp

アマゾンデータサービスジャパンの舟崎氏によるセッション。
OpsWorks担当のソリューションアーキテクトとのことで、期待大です。

前の古渡氏のセッションではOpsWorksの概要がメインでしたが、今回のセッションでは実際に利用することを想定したライフサイクルイベントの書き方について話されました。
Configureのライフサイクルイベントを設定することで、インスタンスの起動後、インスタンスの停止後にOpsWorksで管理されるすべてのインスタンスにあるアクションを自動で行えるというわけです。
まだOpsWorksを使っているわけではないので、なんとな〜くでしか理解できない部分はありましたが、実際利用する際には有用そうなTipsが盛りだくさんでした。幸いなことにスライドが公開されておりますので、使うときには読み返す予定です。

DevOpsが普及した今だからこそ考えるDevOpsの次の姿

jawsdays2015.jaws-ug.jp

ソニックガーデンの安達氏によるセッション。
DevOpsというワードはもう既に浸透した感がありますが、次の姿と言われると気になるものがあります。ちなみに、ソニックガーデンではOpsWorksを始めとして、heroku、SideCI、New Relic、bugsnagなどの今風SaaSを使ってDevOpsを実現していらっしゃるようです。

ただ、DevOpsの概念って、開発者(developer)と運用者(operator)に分けていますが、そもそもDevってプログラマに限らないよね?デザイナーは?マーケターは?データサイエンティストは?というところが本セッションのキモ。
確かにその通りで、プログラマとインフラエンジニアだけで勝手にDevOps進めるのは見当違いだなと感じました。その問題を解決するために、デザイナーやマーケターが気軽にWebサイト上の文面を修正したり、A/BテストができたりするようにGUIを開発しているとのことでした。お互いの仕事を理解して、より風通しのよいDevOpsを。確かにこれがDevOpsの次の姿なのかもしれません。そういった新しい形のDevOpsを推進するサービスやミドルウェアが出たら面白いかもしれませんね。
ちなみにこの話を聞いて、GunosyのUIのフォントやレイアウト情報などは可能な限りJSONで持たせて変えやすくしている、という話を思い出しました。ある意味そういった取り組みも、新しいDevOpsにつながるのかも。

開発するように運用するインフラ

jawsdays2015.jaws-ug.jp

Kaizen Platformの土居氏によるセッション。
Kaizen Platformのインフラエンジニアのインフラ開発話とのことで、これも期待大。

Kaizen Platformのインフラは基本AWSで、Herokuなどの便利SaaSを使っているという構成紹介からはじまり、ChatOpsやGitHubによる開発プロセスの紹介、そしてコード管理されたインフラの修正、テスト、適用の一連の開発プロセスの紹介と続きます。
興味深かったのは、インフラの開発フローもアプリケーションの開発フローと同じにすることで、お互いのやっていることを理解しやすくし、DevOpsを推進している、ということ。
話を聞いている限り、まさに理想の開発体制、運用体制ですね。無駄にサーバにSSHすることなく、必要な操作はHubot経由でチャット上にコマンドを書くだけで実行可能。E2EテストをChatOpsで実現することで、気兼ねなく、やりたいときにテストできる。

また、Kaizen Platformのエンジニアの行動指針の話の中で「官僚的にならない」というのがあって、個人的に結構ドキッとしました。確かに責任の分担とかって大事なんでしょうけど、スピードは犠牲になっているんだなぁと改めて感じました。
エンジニア行動指針ってdots summitに行ったときにもどっかのエンジニアさんが言ってた気がするなぁ。やっぱりそういった共通認識って大事なんだろうな。宗教問題が発生しやすい領域ならなおさら。

EC2はもう不要?Lambdaってなにができるの?

jawsdays2015.jaws-ug.jp

鈴木商店の白石氏によるセッション。
鈴木商店ってウェブ系の会社さんではなかなか珍しい名前ですね。

Lambdaに以前から興味があったものの、いまいち使用感がつかめなかったので、本セッションに参加。Node.jsで記述するインスタンスなしのイベント駆動アプリケーションとのことで、S3に画像を投げたらLambdaでサムネイルを自動生成するデモを披露されました。Lambdaはインスタンスを持たなくてよいため、オートスケールで高可用性を誇るらしいです。これはいいですよね。
ただ、トラブルなどもあって、ちょっと進行がよくなかったのは残念でした。Lambdaの別の活用ケースなども紹介してもらえたらよかったなーと。

AWS Lambdaを紐解く

jawsdays2015.jaws-ug.jp

アマゾンデータサービスジャパンの西谷氏によるセッション。
Lambdaが生まれた経緯にはじまり、Lambdaのバックグラウンドを話されました。

裏側ではコンテナが立ち上がっていること、データは保持されないからステートレスな実装をする必要があること、実はまれにコンテナが再利用されることもあること、など色々聞けて面白かったです。
DynamoDBにデータを格納するとき、そのデータフォーマット確認にLambdaも使ったりできるらしいです。なるほど、そういう使い方もあるのか。
個人的に西谷さんのセッションはスライドの作り方、進め方が非常にうまく感じました。こういったところは参考にしていきたいですね。

新サービスをSimpleWorkflow + OpsWorksで構築して解ったこと

jawsdays2015.jaws-ug.jp

サーバーワークスの千葉氏によるセッション。
自社サービス、CloudAutomatorのアーキテクチャを公開されました。SimpleWorkflowはちょっと気になっていたサービスだったので、これは聞きたいと思って参加。

サーバーワークスさんがAWSのマネージメントコンソール日本語化をやっていたのは聞いたことがあったのですが、それの付加価値として実装されていた、AMIのローテートなどをメイン機能に構えたCloudAutomatorというサービスについて紹介し、そのインフラ構成のキモにSimpleWorkflowを採用されているとのことでした。
SWFはSQSと比較されることが多いですが、重複実行されない、ワーカープロセスが途中で死んでも状態を保持して再開できる、ジョブがインスタンスを専有しないので、効率よくジョブを消化できる、などのメリットからSWFを採用されたそうです。
これに併せて、OpsWorksによるインスタンスの管理を行うことで、より可用性を高めることができるとのことでした。バッチ処理は分散的に実装しにくいので困っていたのですが、OpsWorksとあわせて運用するというのはいいアイデアですね。参考になりました。

LTバトル A-1 GP!

毎度おなじみのLTバトル。時間の都合上、途中で引き上げましたが、玉川さんのLTが面白かったです。これからどんな事業を始めるんですかね。楽しみです。

まとめ

楽しかったです。特にKaizen Platformとサーバーワークスのセッションがためになりました。
加えて、サーバーワークスの千葉さんには個人的に相談させてもらえて、すごく参考になりました。ありがとうございました。
今回のJAWS DAYSでは、参加したセッションの傾向を見ると、DevOps寄りのチョイスが多かったですね。もともとインフラ自動化とか好きなので、その辺りの好みが出たかなと。

最近はコードをちょっとだけ書いていて、インフラから離れていたこともあって、ブログ更新サボりがちでしたが、インフラもがっつり巻き込む作りたいものがようやく固まったので、バリバリ作ってバリバリ記事更新していきたいと思います。よろしくお願いします。