Persistence

技術メモなど

AWS Summit2015に行ってきた

6/2-3で行われたAWS Summit 2015と併設イベントのデベロッパーズカンファレンスに行ってきました。

聴講したセッションは次の通り。

Day1

  • Day1 キーノート(基調講演)
  • GitHub, AWS などの分散テクノロジーが実現する、デベロッパー主体のアプリケーションデリバリ
  • 【パネルディスカッション】デベロッパー視点でみた AWS
  • 【パネルディスカッション】デベロッパーが切り拓く、次の時代
  • 2035 年、その時デベロッパーはどう生きるか
  • 【パネルディスカッション】高まるゲームプレイ動画の価値。注目市場の今後の展望とは!?

Day2

以下、印象に残ったことを書いていきます。

Day1

Day1キーノート(基調講演)では、まずはじめにAWSの規模についての数字が紹介されました。世界中でどれだけAWSが使われているか、どのようなスピードで成長しているか、どれだけのサービスがあるか、など。この数字を見せられただけでAWSの凄さに圧倒され、だいぶお腹いっぱいになりましたw

GitHubのCEOスコットさんの話。今後はあらゆる業種の会社が全てソフトウェア会社になるということ。昔はOSSそれぞれに様々なルールがあってOSSに貢献するのは敷居が高かった、それで、Gitを使ったGitHubというフローを作って、ルールを統一することでOSSに貢献しやすくなったということ。GitHub Flowはソフトウェアの世界だけではなく、様々な世界に使える。例としてホワイトハウスGitHub上にドキュメントを公開していて、上院議会からプルリクがきたなんて話。プルリクを使うことで、変更に対する理由が残るので良い。最も重要な事はOSSに参加して貢献すること、それで得た経験は役に立つ。

デベロッパは今後どう生き残るのかというテーマのディスカッションが2つ。

まず今後10年というテーマでスピーカーはnaoyaさん・Crowdworksの大場さん。結論としては、トップデベロッパですら正解はわからないし不安はある。だから逆に安心してってw 必要なことは、今起きていることに全力で取り組むしか無いということと、デベロッパとして自分の相対的なポジションを知っておくこと。もはや開発者は開発だけやればいいという時代ではなく、ビジネスのゴールに向かっていく責任があるということ。

続いて20年後というテーマで大前 研一氏・大前 創希氏による親子トーク。親子ならではの掛け合いが面白かったw 内容としては、今ある仕事の大部分はインド等の安い人材、もしくは、ロボットがやるようになる。生き残りたいのなら、とにかくロボットが出来ない仕事、つまり「発想・構想・コンセプトを生み出すことをやれ」ということ。ちなみにロボットは発想を生み出す仕事をできないのか?という問に対しては、「ロボットも発想はできるが、そこに独自性はなく価値は生まれない」とのこと。ユニークを生み出せるのは人間だけみたいな話でした。なんか哲学的。

Day2

GitHubのコービーさんがGitHub Flowについて解説。超イケメンな上に片言の日本語で挨拶とか、悶絶した人も多いんじゃないでしょうか。内容としては、プルリクをするときは準備が整ってなくてもとにかく早く表に出す事が大事で、そうすることでいろんな人に意見をもらえることに価値があるということ。それからコードの改変に関して、競合などでブロックしないようにすることが開発のスピードを保つ上でとても大事なのでそういう仕組(github/flipperを使っている。)を使うこと。Production Readness ReviewとPostship Health Checkを用いたPDCAは単純な仕組みだけど効果がある。バグを恐れずにデプロイのスピードを上げることで、結果的にバグの修正も早くなり前進し続けることができる。GitHub Flowを上手く運用するためには、ルールをドキュメント化する、自動化に投資する、テストやデプロイの信頼を構築する、早めにディスカッションする、複雑さが発生したら疑問視する、早くやってみること、などをあげていました。

DynamoDBについては、nanapiの秋田さん。KVS的に使う。特徴としては、キーの他にRangeキーを組み合わせて使える。課金はスループット(Read/Writeの量)なので、うまく節約するためのコツが色々。RDB的な使い方をしてしまうとスループット破産するので注意が必要。AWSの「よくある質問」がとても充実していてすごい。

CookPadの開発方式についてはCookPadの成田さんから、開発・テスト・デプロイの3点で紹介。開発については、開発に用いるデータはダミーデータではなく本番データを用いるべきということ。ステージング環境というのはあまり使われていなくて、本番環境で限られたユーザで試行運転をする。そのためのツールとしてChankoがある。テストはテストケースが膨大なのでRSpecを並列実行するRRRSpecっていうのを開発して2日かかったテストが数分になった。デプロイもサーバ数が膨大なのでmamiyaっていうのを開発して100台のEC2に12秒でデプロイできるようになった。これら3点全てで一貫しているのは、『効率の悪い作業を徹底的に効率化すること』がちゃんと行われているということです。もう一つ重要な事は「割れ窓」を放置しないということ。どちらも言われれば当たり前の事なんですが、その当たり前をちゃんとできるのは凄いと思います。

AWSの西谷さん・岩永さんからlambdaとRDSの紹介。lambdaはAWSの他の機能と簡単に連携できて、サーバレスでジョブを実行できるのでとても便利ですね。RDSもDBの厄介な部分を全部AWSがやってくれるので本当に便利だと思います。意外だったのは、SQLServerOracleも従量課金で利用できて、ライセンスは従量課金に含む方式と、既存のオンプレミス環境のライセンスをAWSに引き継ぐこともできるということでした。あとはPoint in Time Recoveryっていって、障害調査などである時点のバックアップをすぐに他のインスタンスで復元して見られるっていうのが便利だなと思いました。

個別のセッションについては以上。

ちなみにAWSからのセッションのスライドは全てアップされるそうです。

全体を通じては、まずAWSに対する認識がすごく変わりました。数年前のAWSっておそらくEC2とS3がメインで、いわゆるインフラサービスねって認識でしたが、今のAWSはインフラレイヤーだけでなくアプリケーションレイヤにも様々なサービスがあるので、ほとんどのサービスがAWSの中だけで構築できるインフラ・アプリケーションプラットフォームであるという認識になりました。

それから、デベロッパーズカンファレンスも併設されていたということもあり、AWS以外にも色々なセッションがありましたし、ランチブッフェorランチまで付いて参加費無料なのでデベロッパなら行き得しかないですね。また来年も行きたいと思います。