admin米アマゾンCTOのヴァーナー・ヴォーゲルズ氏の講演を紹介します。21世紀型アプリケーションのあるべき姿http://www.atmarkit.co.jp/ait/articles/1212/03/news125.html私もこの講演を生で見たかったのですが、結局行けず。「クラウドコンピューティングでは、ITリソースに関する制約が取り払われるとともに、これらのリソースすべてがプログラマブルになる。このため、アプリケーション設計手法は本質的に変化し、開発者は、ビジネスに対して価値を与えることに集中できるようになる。」ということで、クラウドコンピューティングで採用すべきシステムの指針を以下のように説明しています。「ステートレス化を進めればオートスケールもしやすい」。「ビジネスルールに基づいてアプリケーションをコントロールしたいなら、人間はそのループに介在する余地がない」。「sshやrdpでEC2インスタンスにログインすることがあるなら、あなたの自動化はそこで途切れている」。強靭なシステムにはちょっとの努力だけ「原則として、すべてのデータと通信を暗号化すべきだ。リソースに制約がない新たな世界では、暗号化プロセスのために1、2のインスタンスが増えても、大勢に影響はない。Zone(AZ)を使ってもらいたい。本番運用に移行する際に、最低2つのAZを活用してほしい。これほど簡単なことはない。追加的な作業は必要ない」リーン・スタートアップを実現できるプラットフォームとして、「従来は、要件変更に答えることがほとんど不可能だった。Balancerの設定を新サーバ群に切り替えるといった方法だ。これなら、いままで不可能だったロールバックも、容易に行うことができる。アプリケーションへの制約を減らせ物事を不要に複雑化せず、できるだけ制約から自由であることを心掛けよ。自分のやることになるべく前提を付けないようにすることは、障害の最少化にもつながる。利用するEC2インスタンスのタイプを決めるのは、できるだけ後の工程にすべきだ。特定のインスタンスタイプを前提とせずに開発することで、適応性が生まれる。運用開始後に考えが変わったとしても、いつでも対応できるからだ。データを最大限に活用せよ新世代のシステムは、現実のデータに基づいて制御されるべきだ。システム、アプリケーション、ビジネスといったあらゆるレベルの、現実のデータを活用してフィードバック・ループをつくるべきだ。すべてを常時計測することを考えよ。データを収集することなくしては、何の行動もできないからだ。計測データをCloudWatchにプッシュして、十分に活用すべきだ。Amazon.comで、痛い経験から学んだことの1つは、こうしたデータの平均値ばかり見ていてはいけないという点だ。「平均遅延」は、顧客の半数が、その値に劣るユーザー体験をしているということしか示してくれない。分布曲線の全体を見て、エッジのユーザーの環境改善に努めれば、多くの場合、全体の分布曲線も改善する。Apacheやユーザーエージェントだけでなく、あらゆるシステムやビジネスのデータを取得しておくべきだ。事後にアナリティクスを活用し、アプリケーションがどんな条件でどんなパフォーマンスを発揮するかを分析し、フィードバック・ループをつくることができる。Pipeline」は、こうした作業の大幅な省力化を実現するためのツールだ。システムの設計、開発が即「ビジネスに対して価値を与えることに集中」する作業にしようではありませんか。FAX:045-476-9989システム開発・保守ならお任せ下さい。