Galaxy Note2を買いました。おすすめです。片山です。
さて12/1から始まる「CDP Advent Calender」のトップバッターを務めることになりましたので、私のエントリーでは、これまでのCDPの足跡をご紹介したいと思います。
CDP誕生
CDPを始めるきっかけとなったのは、2011年12月12日、アイレット鈴木さん(@suz_lab)、玉川さん(@kentamagawa)と一緒に、AWSのシアトル本社で行なわれたAWSアーキテクチャトレーニングに参加した時でした。
そのトレーニングは、セキュリティやデータストレージのスケーリング、コストを意識した設計など多岐にわたり、3日間通して行なわれました。
トレーニングは授業だけではなくディスカッションもあり、例えば「動画エンコーディングをするシステムをどのように作るか」というお題でディスカッションして、アーキテクチャを絵にしたりするトレーニングもいくつか行ないました。
ディスカッションの中ではいくつものアーキテクチャが出てきて、日本でもよく見るもの、そうでないもの、さまざまでしたが、いろいろなアーキテクチャを見ながら、こういったアーキテクチャのカタログがあると、似たような仕組みでシステムを作るときに便利だよね、というような会話をしていました。
そして3人でシアトルの居酒屋で呑みながら昼間の話を続けるうちに、プログラム言語のデザインパターンのようにクラウドのデザインパターンをまとめて、それぞれに名前を付けてみようかという話になり、その場で思いつく限りのアーキテクチャパターンを書きだしました。
3人とも妙にテンションが高く、その日帰った後にエクセルでパターン一覧を作り、担当を振り分けて、各パターンの説明や図の作成を始めました。その時は具体的な目標はなかったですが、本や何かの形で出せればいいなと、漠然と思っていました。
黙々とコンテンツ作成
帰国後もパターン説明の作成作業は続き、またパターンだけでは分かりにくいので、細かい実装を伴ったシナリオを作って説明するものを作ったり、アーキテクティング原則みたいなものを作ったりして、どんどん書籍として読めるような形になって行きました。
年末休みのかなりの時間を使って3人でこの作業に取り組み、翌年の1月中ごろに一旦形が出来上がりました。
アルファ版リリース
その後、まとめたものを一部の方に見て頂き、非常に多くの意見を頂くことが出来ました。
特に名称については賛否両論があり、別の名称候補も多く上がっていましたが、アーキテクチャをまとめて名前を付けるところにデザインパターンとしての意義はあるだろう、ということで、「AWSクラウドデザインパターン」として命名しました。結果的に言えば「CDP」という単語は覚えやすく、結果オーライだったと思っています。
また、実は当初、各パターンの説明は全くAWSのサービス名称を使わずに記述をしていました。
ただそれではさすがに分かりづらい点も多いので、AWSに絞ったほうがよいのでは?という意見を多く頂き、一旦すべてを書き直し、最終的に今の形に落ち着きました。
ベータ版の公開
その後、ARCHETYPの齋藤さんやアイレット櫻井さんにロゴやデザインなどのご協力を頂き、各種イベントでの紹介やWiki(http://aws.clouddesignpattern.org)の作成を通じて、皆さんに知っていただく活動を進めました。Wikiは多くの方に協力いただき、新しいパターンがいくつも追加され、記念すべき?48個目は、サーバーワークスの柳瀬さんに寄贈頂きました。
書籍化の話も進み、7月には日経システムズさんから「Amazon Web Servicesクラウドデザインパターン 設計ガイド」という形で、書籍が出版されました。
グローバル展開
また、ラスベガスで行われたAWSカンファレンス「Re:Invent」で、50分のセッション枠を頂くことが出来ました。
またこれに合わせて、英語版サイト(http://en.clouddesignpattern.org)も開設することが出来ました。
慣れない英語プレゼンのため、玉川さんと二人でかなりの回数リハーサルを行ないました。当日は過去最高と言っていいほど緊張しましたが、アイスブレークも見事に決まり、非常に楽しい時間を過ごすことができました。
おそらく、一生残る思い出になるでしょう。玉川さんには本当に感謝しています。ありがとうございます。
CDPを公開してよかったこと
先日も、100名以上参加するセミナーで参加者全員にCDP本が配られていたのですが、主催者の方が、技術の方だけでなく営業の方にも読んで役に立つ内容なのでうれしい、という声を頂けました。
また実務的にも、お客さんへの質問の回答をする時にパターンを紹介できたり、逆にお客さんが仕様書をパターン名を使って書かれていたりして、当初の目的である「共通の語彙でのノウハウ共有」が少しづつでき始めていると感じます。
これからのCDP
活動を開始してから1年、個人的には予想以上の成果を上げることができたと思っています。
多くの方に興味を持っていただき、多少なりともAWSを使ったアーキテクチャについて知る手助けをできたのではないかと思っています。
これからも引き続き、イベントやWikiを通じて活動を続けたいと思っています。
AWSサービスも機能拡張を続けているので、それに追いつくよう既存のパターンをブラッシュアップし、更に新しいパターンも見つけて行きたいと思います。
最後に
最後になりますが、数多くのアーキテクチャを編み出してくれた、数多くのアーキテクトに改めて感謝したいと思います。
我々はノウハウをピックアップしてまとめただけに過ぎません。実戦を通じてアーキテクチャを編み出した皆様があってこそのCDPだと思っています。
そして、私を皮切りにCDP Advent Calenderが今月25日まで続きます。25人のアーキテクトが織りなすCDP話、ぜひお楽しみ下さい!!
明日はJAWSUG横浜支部長の吉田さんによる、CDP、世界へです!
関連リソース
Facebookファンページ https://www.facebook.com/awscdp
CDP Wiki 日本語 http://aws.clouddesignpattern.org
CDP Wiki 英語 http://en.clouddesignpattern.org
Amazon Web Services クラウドデザインパターン設計ガイド
http://www.amazon.co.jp/Amazon-Web-Services-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3-%E8%A8%AD%E8%A8%88%E3%82%AC%E3%82%A4%E3%83%89/dp/4822211967