Amazon Web Services(AWS)のユーザーのなかでも開発・運用の先進性で別格といえる存在の米Netflix。システムの開発では「マイクロサービスアーキテクチャー」を全面採用し、機能変更の頻度を高めている。

 マイクロサービスアーキテクチャーは、API(アプリケーション・プログラミング・インタフェース)を備えた独立性の高いソフトウエアコンポーネントである「マイクロサービス」の組み合わせでアプリケーションを構成する設計方法だ。ソフトウエアコンポーネントの独立性を高めて機能変更の影響範囲を限定することで、影響調査やコード作成などの開発工数を減らし、機能変更の頻度を高められる。

Netflixが採用したマイクロサービスアーキテクチャーの例
(出所:米Netflixがre:Invent 2014で発表した資料)
[画像のクリックで拡大表示]

 Netflixは何千ものマイクロサービスから成るシステムを開発し運用しており、以前は2週間掛かっていた機能変更の期間を短縮。マイクロサービスごとに適したタイミングでの機能変更を実現しているという。

 Netflixで2009年からAWSへの移行を指揮し、現在は米AWSのバイスプレジデント クラウドアーキテクチャーストラテジーを務めるエイドリアン・コッククロフト氏は、企業ユーザーがマイクロサービスアーキテクチャーを採用する意義を次のように話す。

 「顧客が企業のサービスに求める進化の頻度は、1カ月よりもっと短い。顧客の要求に素早く対応しようとするなら、より柔軟なシステム構成が必要になる」(同氏)。

1年半掛けてアーキテクチャーを変更

 Netflixがクラウドの導入を開始したのは2008年8月のこと。当時はソフトウエアコンポーネント同士が密接に結びついた「モノリシック(一枚岩)」なシステムで、複数の課題があった。

 一つは可用性だ。それまで利用していたデータセンターにリレーショナルデータベースを設置したところ、重大な障害が発生。当時提供していたDVDレンタルサービスで、DVDの発送業務が3日間にわたり停止するなどの問題が発生した。モノリシックなシステムでは、1カ所の障害でシステム全体に影響が出ることを痛感。水平方向にシステムを拡張しやすいクラウドの特性を生かし、マイクロサービス化による分散システムへの移行を決断した。

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら