JAWS DAYS 2013 DAY2 に参加してきた #jawsdays #jawsug

最近、より一層興味関心が出て来た&やはりインフラ周り(やそれらを自動化して構築)するスキル等も身に付けなきゃ行かんな〜と言う事で、直近で告知されていたこのイベントに申込み、参加して来ました。


開催会場は東京ビックサイト@国際展示場。何気に人生初来場でした(笑) 交通及び帰りの事も考えて今回は車で来場してみたのですが、施設の地下に駐車場があり、且つ会場が1Fだったので外に出る事無く会場入り。折角東京ビックサイトに来たのに特徴的なフォルムを収めない(で1日過ごし、帰ることも出来たが)のはちょっとアレだったので、昼休みに外出して遠目から写真を撮って来ましたw


今回は朝イチから本編終了まで、10:00〜18:00の長丁場でイベントに参加。ハンズオン多目でこのタイムテーブルは割とハードでしたね〜(^_^;) 今回は丸々ハンズオン尽くしの予定でしたが、途中プランを切り替えてセッション聴講を挟み、1日を過ごしました。以下参戦メモです。(と言いつつも、ハンズオンに関しては雑感と資料リンク程度な気もします...)

10:00 - 12:00 / ビギナー向けハンズオン

  • 片山 暁雄氏 (TwitterID:@c9katayama)
    • アマゾン データ サービス ジャパン株式会社 ソリューションアーキテクト / 部長

AWSの名前は聞いたことがあるけどアカウントを持っていない方、きちんとEC2の基本操作を理解したい方のためのハンズオンセッションです。
AWSのアカウント作成、EC2インスタンス起動、AMIの操作、EBSの操作を通して、基本的なEC2の操作方法ができることを目指します。


(スライド表紙資料のみ:資料URLは公開された際に置き換え予定)


表紙タイトルからも分かるように、アカウント作成からの完全初心者向けとなっているこちらの『ビギナー向けハンズオン』。個人的には書籍の写経・実践等で既にアカウントを取得済み、且つこちらの範囲内のハンズオン作業については実践済でしたので割と流す感じで内容を聴いておりました。

また、内容的には書籍『Amazon Web Services クラウドデザインパターン実装ガイド』第2章までの内容とほぼほぼ同じでした。

Amazon Web Services クラウドデザインパターン実装ガイド

Amazon Web Services クラウドデザインパターン実装ガイド

ここで、当初この後の午後2コマハンズオン参加予定だったものを切り替え、聴講セッション参加に。

13:00 - 13:45 / インフラエンジニアが開発者と実践しているDevOpsな現場のお話

  • 梅谷 敦氏 (TwitterID:@ume3_)
    • 株式会社Paperboy&co. EC事業本部ジュゲムカートチーム

Web業界で働くインフラエンジニアが現場のお話をします。
クラウドの登場を無視できなくなった昨今、DevOpsなやり方が必要だといった話も耳にします。
そんな中で実際にどうサービスと向き合っているのか。運用しているのか。
普段、開発者の人とどんなやり方で仕事をしているのか。それらをテーマにインフラ視点で現場を語らせて頂きたいと思います。
  • 自己紹介
    • ブログ:インフラエンジニアに成る
    • Ops4年目、喋るインフラの人です。
    • 御本人をイメージ(?)されたドット絵が作られ、当日着て来られていましたw
    • 今日このセッションを聞きに来られた方は、なぜか超絶有名なクラウドの話を聞かずに、DevOpsというキーワードに引き寄せられた人達、ですよね?
    • AWSの話しをするとは、一言も言ってないよ!w(でも良いと行ってくれたので今日はそのていで話します)
  • まずは定義から
  • 時代が求めているDevops
    • 文化は体験しないと分からない
    • アウトプットから知る
    • 現場で起きている事を知る
    • 理想:俺達がやっていた事はDevopsだったんだー!!!
  • DevOpsが共に幸せになるために(Ops視点から)
    • Dev -> Opsへのお願い作業を減らす
    • githubでPullrequestする関係(開発インフラをOpsも使う)
    • 積極的にクラウドを使う
    • Devが開発環境を構築・管理
  • DevOps-実践編-
    • Opsとは:WebApplicationを構築・運用・保守の面から支える人。
      • [今までのOps]:構築、保守、運用に奔走の日々…
      • [今のOps]:クラウドAPIでサーバ構築自動化、手順書もコード化して柔軟に、保守時は短時間で復旧、等など
    • Opsに運用の力が求められている時代
      • 今のOpsはリリース後の運用に力を入れ、日々の変化に対応する事が求められる。
    • 運用で必要な力とは何か?
      • 手動作業の自動化(コードが書けてツールも使いこなせる)、パフォーマンス・チューニング...守り(保守)から攻め(運用)へ。
  • Devの力を欲するOps
    • Opsは自然にDevのツールの力を求める  
      • クラウド(AWS)
      • 構成管理(Puppet/Chef)
      • リビジョン管理(Git)
      • 情報共有(IRC/Github)
      • デプロイメント(Jenkins/Webistrano)
      • プロジェクト管理(Agile/付箋紙)
  • クラウドはDevとopsの制約を開放する
    • インフラのコード化
    • ハードウェア保守からの脱却
      • これがやりたい!を言い合える関係に一歩前進
  • Githubで構成管理
    • Gitでコードの世代管理
    • GithubのissueやWikiを活用(DevとOpsのコミュニケーションに欠かせない)
    • Githubの無い生活なんて…(仕事出来ないレベル)
    • Pull Request文化:Ops管理の設定ファイルを変更したい:コードでお話。
    • OpsがPushかつPull Reqな事も。(GithubでPuppetコードを管理)
  • 構成を自動化する前に
    • Opsだけで構成管理するのは難しい
    • Devと一緒に話し合って設計した上で自動化について考える必要がある
    • 構成管理がチャント出来れば、よりよい関係を築く事が出来る

 

  • JenkinさんのCronっぷり
    • 開発者も自由にcron
    • 実行結果の可視化
    • とあるサーバにログインしてバックアップ処理実行
    • IRC:Botがはびこるチャンネル達(テストの成否通知/デプロイ通知/サーバ障害のアラート)
    • Post Build Task:実行結果をIRCに飛ばす:botコミュニケーション。
  • 開発環境の構築はDevがやる
    • Opsが構成管理したVM(仮想マシン)を使う
    • Devがある程度管理する
    • ※Devで出来るインフラの事はOpsに任せずDevがやる
  • タスク管理と言えば付箋紙:タスクの可視化
  • まとめ
    • DevOpsが当たり前の世界へ、Devはopsと一緒にOpsをするし、OpsはDevと一緒にDevをする。
  • 質疑応答
    • [Q].DevOps実践の上で、悩みとかメリット・デメリットなどあれば。
      • [A].デメリットは特に感じない。インフラもコード書かないと難しい。メリットは開発者との衝突がツールを使うことで避けられ、ハッピーに。

 

    • [Q].Dev/Opsの境目が無くなって来ている。そんな状況でOpsの人がどこまで開発(製品)に踏み込んでいくべきなのか。
      • [A].ピンポイントでそういった知識が必要な場合とそうでない場合がある。
        • 運用フェーズになるとそういう人が居ないと大変になる。
        • Opsがその辺りを環境構築して行く・整理して置く。いざという時に触れるようにしておく事は大事。
        • 一人DevOpsが大変、と言うのは勉強会等でも良く聞く。
    • [Q].ツールの話:最近興味のあるツールは?
      • ツールよりコードですね。今はRubyに興味があります。


インフラ方面の人がコードを書く、書けるようになる。じゃあ逆は?これからは『知らぬ』では済まされなくなって来るでしょうし、もう既にそうなっているのかも知れません。そういった意味でも、Dev/Opsで協力しようという思いと同様に、『Devもうかうかしてたら殺られるで』という危機感を持つには十分過ぎるお話でした。

14:00 - 14:45 / EventRegist on AWS: イベントレジストにおけるCDP
(クラウドデザインパターン)

2011年にサービス開始したソーシャルチケッティングサービス イベントレジストでは、
サービス開始当初より AWS を活用しています。

大規模イベントでの利用が増加していく中で、そのインフラストラクチャも拡大を続けています。
イベントレジストのどういった機能に、AWSのどういったサービスを活用しているのか、
CDP(クラウドデザインパターン)に沿って、お話します。
  • 自己紹介:
    • 好きなAWSサービスはS3。
    • プロマネ、Webエンジニアを十数年。純粋インフラエンジニアということでは無い。
    • 本格的に実務でAWSを使い始めたのは2009年頃から。
    • イベントレジストの過去から現在までのインフラの変遷を、CDPに沿ってお話します。スモールスタートで始め、どのように拡張して行くか。
  • CDP(AWS-Cloud Design Pattern)とは:先人の智慧をパターン化したもの。
  • EventRegistのインフラの変遷
    • 実際自分も見た・知ったのが登壇が決まってからだったらしい。
      • 構成管理:Chef
      • デプロイツール:Capistrano
      • 監視ツール:Nagios
      • リソース管理ツール:Munin
    • ツールで出来るだけ自動化。インスタンス1台の頃から実践。
    • 自動化ツールを利用する事で、AWSの無限のリソースとプログラマブルな特性をより活かせる。

以下変遷と、その際に講じたCDP対応策について。

2011年8月:α版、関係者のみに公開
  • オールインワン、シンプルな構成。
  • 関係者のみとはいえ、バックアップは取っておこう。
2011年11月 ベータ版一般公開
2012年某月某日

    • 静的コンテンツの配信がトラフィックを食っている模様。このトラフィックは外に出したいな。
    • →イベントページのメイン画像等、主催者様が配信する画像を外出し。静的配信を全てS3側で対応。
2012年6月
2012年9月
  • 今後使って行きたいAWSのサービス:
    • CloudFront / CDNサービス。(実はイベレジ、海外含め5カ国展開しているらしい...)
    • ElastiCache / Memcachedプロトコルに準拠したインメモリキャッシュ
    • OpsWorks / apurike-shonnをAWSクラウドで管理するための統合管理ソリューション Chefのcookbookを利用可能

  • 本日登場したCDPのまとめ
    • Snapshot
    • Cloud DI
    • Stamp
    • Scale Out
    • Functional FIrewall
    • DB Replication
    • Direct Hosting
    • Scale Up
    • Multi Load Balancer
  • まとめ
    • 先人の知恵を生かして、無限のリソースとプログラマブルな環境を、最大限生かしましょう!
  • 質疑応答
    • [Q].運用過程で、新しいデザインパターンを考えた!というのはあるか?
      • [A].あるかな?と思ってCDPのページを見てみたら、大概ありますね(笑)
    • [Q].スライド発表したストーリーって?
      • [A].このサービスの開始以前、AWSを利用していた事もあった。
        • これまでの経歴上、ハードウェア利用経験もあるので、ある程度『こうなったらこうしよう』的なものは頭にあった。
    • [Q].Chefを使っている。スケールアウトパターンなものをChefを使ってやってみたいぜ、みたいなのがあれば
      • [A].オートスケールはやりたいと思っている。Chefが絡むかは微妙だが
        • RDSのパラメータグループの管理とか。最近管理コンソールから設定出来るようになったんですね。
        • あと、VPCを導入してよりセキュアな環境を構築したい。
    • [Q].ChefとAMIの使い分け。
      • [A].AMIの方で最低限のパラメータの管理。


最少構成単位の状態から、数々の状況を経てCDPを適用し成長して行く過程を追う事が出来てかなり分かり易い講演内容だったと思います。全てのCDPを完全かつ詳細に把握する事は(日々情報が更新されている事もあり)なかなか大変な事だとは思いますが、予め概要を把握し、『こういう状態の時には適用出来そうだな』位でも想定・イメージしておくだけでも大分違ってくるのではないか、CDPについてはそう思いました。

15:00 - 15:45 / CDP ハンズオン(Eコマースサイト編)

  • 玉川 憲氏 (TwitterID:@KenTamagawa)
    • アマゾンデータサービスジャパン株式会社 ソリューション アーキテクト / 技術統括本部長

EC2,ELB,RDSを使った、Eコマースサイトのハンズオンです。
サイトの障害回復、冗長化のため、FloatingIP, Multi-Server, Multi-Datacenter,DB Replicationなどの
パターンを実装します。


(スライド表紙資料のみ:資料URLは公開された際に置き換え予定)


書籍『Amazon Web Services クラウドデザインパターン実装ガイド』に関してはこの章の前(第4章)まで実践済みで、この章(書籍では第5章に該当)からは未着手だったためこの時間からハンズオンセッションに再合流。ただしかし、僅か45分の時間でEC-CUBE環境構築を含めどうやってこの内容をこなすのだろう…と思ってたところ、セッション冒頭で玉川さん自ら『このハンズオンは本来なら半日かけて行うようなものなので45分では云々...』というコメントをされ、『そうだよね〜』と参加者一同も併せて笑い(ここは笑うしかないw)。


とは言え、要点をかい摘み、玉川さんの流れるようなハンズオンファシリテーションで45分はあっという間に過ぎて行きました。

ちなみに、EC-CUBEを導入済みのAMIは以下、玉川さんのブログから入手可能です。

個人的にはこのセッションのハンズオンはEC-CUBEを立ち上げは完了したものの、最後まで走り切ることは出来ず。時間が足らなかったと言うのもありますが、この辺から体力的にバテて来始めてきたと言うのもありましたw 資料は手元にあるので(そ言えば今回の資料は諸々どこかで公式にUPされるのかしら?)、後日時間を取ってじっくり理解しつつ、最後まで進めてみようと思います。


また内容とは直接関係はありませんが、セッション冒頭、玉川さん渾身の『オリジナルパターン』は若干滑りつつも書籍紹介後の『是非アマゾンで購入してください!』のコメントには皆さんウケておられたようでした。:-)


16:00 - 16:45 / CDP ハンズオン(VPC移行編)

  • 安川 健太氏
    • アマゾンデータサービスジャパン株式会社 ソリューションアーキテクト

Eコマースサイト編で作成したシステムを、VPCに移行します。
移行のために、CloudFormerとCloudFormationを利用します。
CDPのStamp, Bootstrap, CloudDI, StackDeploymentなどのパターンを実装します。


(スライド表紙資料のみ:資料URLは公開された際に置き換え予定)

玉川さんのEコマース編もそうでしたが、こちらの安川さんのVPC移行編も輪を掛けて内容が濃過ぎました(時間に対して)

[サイトのVPC移行]と言うテーマで、

  • Stampパターン
  • BootStrapパターン
  • Stack Deployment Pattern

を用い、またCloudFormationテンプレートなども利用してVPCに環境をデプロイする、という流れでした。

こちらのハンズオンも、事前に用意されていたAMIを用いて進めたものの最後までは辿り着けず。CloudFormationの仕組みは使いこなせると相当便利そうではあるので、要実践・素振りですね。

17:00 - 17:45 / CDPハンズオン* - 冗長化+お楽しみCDP編 -

サーバ冗長化のため、現在パターン候補のVirtualIPやFloatingENIなどを実装する予定です。
またお楽しみCDP実装ということで、新パターン候補のパターンの実装を行ないます。

申し訳ありません、もうこの時点でHPはゼロでしたw 各々のハンズオン説明を聞きながら配布されたスライド資料を読み進めるに留めたセッション時間でした。


(スライド表紙資料のみ:資料URLは公開された際に置き換え予定)
冗長化』編では、『Routing-Based HAパターン』と呼ばれるWikiには記載ありだが書籍には言及が無いパターンについて、ハンズオンが実施されてました。ざっくり内容としてはこんな流れで。

  • VPCの作成/サブネットの作成
  • EC2の起動
  • RouteTableの編集
  • テスト


(スライド表紙資料のみ:資料URLは公開された際に置き換え予定)
もう1つの『お楽しみCDP』編は、『OpsWorks』と呼ばれるサービスに関するハンズオンでした。OpsWorksについての詳細は以下エントリ等をご参照。

こちらも概要説明の後、興味ある人は個別で作業を進める、という形を取っておりました。



そんなこんなで18:00になり、本編は全て終了。結果としては後半バテた形になってしまいましたが、どのセッションも得るものが多く、とても勉強になった1日でした。

惜しむらくはハンズオンに関しては45分と言う時間に対して内容が濃過ぎたあまり、かなりの駆け足感となってしまったところでしょうか。どの内容もじっくり取り組んでみたかったのですが理解が曖昧なまま進んでしまった部分も多く、もうちょっと時間取ってやってみたかったな〜という思いはありました。まぁその点については資料も頂いた事ですし、後日これから新たに取り組み、勉強して吸収して行く事で挽回して行こうと思います。

JAWS DAYS 2013、参加したのは2日目のみとなりましたが、非常に得るものが多く、とても有意義なイベントだったと思います。関係者の皆様、ありがとうございました!