VISAカードのインフラがDocker採用。数秒でプロビジョニング、パッチやメンテにさよなら、消えるインフラ。DockerCon 2017
4月に米テキサス州オースチンで開催されたDockerのイベント「DockerCon 2017」では、コンテナランタイムのためのLinuxコンポーネント「LinuxKit」の発表や、コンテナランタイムを組み立てる「Moby Project」の発表など、同社の新しい方向性を示す発表が相次いで行われました。
そのなかでもう1つ、DockerCon 2017ではグローバルな決済サービスを提供しているVisaが、同社のインフラにDockerを採用したという事例が発表されました。これまでDockerは開発環境やテスト環境への採用が進んでいましたが、Visaのような著名な企業が本番環境でDockerを採用した事例の発表は、Dockerの本番環境への導入を市場に説得するうえで同社にとって重要な発表になるでしょう。
基調講演で公開された内容をまとめました。
プロビジョニングに時間がかかり、パッチ対応なども負担に
発表を行ったのは、Visa Global Head of Infrastructure and Operations、Swamy Kocherlakota氏。以下は彼の発言の概要です。
Visaはグローバル企業であり、176の通貨に対応し、1年で130ビリオンドルのトランザクションと5.8トリリオンドルの支払いを処理している。

電子的支払い手段をどこでも、誰にでも提供することで世界はより安全なものになり、またそれをAPIで利用できるようなオープンプラットフォームを目指している。
数年前、われわれの仮想化という単独のソリューションを用い、インフラを最大90にまで分割して利用していた。
このとき、プロビジョニングには数日から数週間かかり、パッチ対応は手間のかかるものだった。

と同時にこのあいだにもインフラは拡大し、ビジネスも成長した結果、メンテナンスウィンドウは狭まり、パッチやメンテナンスも負担になっていく一方、それを担当する人数は増えなかった。

効率性は失われていき、ハードウェアの調達から設置に3カ月、ソフトウェアなどをインストールして実戦投入にまた3カ月かかる一方で、インフラの90%で利用率が15%以下となっていた。

Dockerにより運用と管理が標準化されシンプルに
この状況をDockerとマイクロサービスで打破しようとした。

これで得られるものは、開発者の生産性 や、またもっとも重要なのはプラットフォーム全体で構成やパッケージング、デプロイなどの標準化であり、ライフサイクル全体で管理がシンプルになることだ。
トランザクション処理とリスク判断システムの2つについて、Docker対応を進めた。

このときカギとなったアーキテクチャの判断は、ベアメタルにするか仮想化にするか、ここはベアメタルを採用した。また数あるエコシステムのなかからなにを選択するか、ネットワークアーキテクチャをどうするか、セキュリティをどう実装するか、などだった。

現在では、すでに本番環境で6カ月が経過しており、1日に10万トランザクションを処理しており、複数のリージョンにまたがった複数のクラスタを展開している。

プロビジョニングは数秒に、アプリケーションを再デプロイすることでパッチングやメンテナンスにはさよならでき、インフラは消えて見えないものになった。

ここまでで学んだこと。
マイクロサービスでは粒度が重要。メモリフットプリントも重要。まだ基本的なロードバランサーしか導入していないので、今後さらにカイゼンしていきたい。オペレーションは、引き続きインフラを強化し、この方向をさらに進めるうえで重要だ。

これはまるでテトリスのようなインフラだと感じている。ワークロードに応じてテトリスのようにコンピュートなどのリソースが降ってきて、消えていく。しかも秒単位でそれが計れるくらい速くだ。

公開されている動画。
DockerCon 2017
- Docker、「LinuxKit」を発表。コンテナランタイムのためだけにゼロから開発されたセキュアなLinux Subsystem。DockerCon 2017
- マイクロソフト、Windows Serverのコンテナ機能でLinuxコンテナのサポートを発表。主要なLinux OSとLinuxKitに対応。DockerCon 2017
- [速報]オラクル、Docker StoreでOracle DatabaseやWebLogicなどのオフィシャルイメージを配布開始。開発やテスト用途は無料で利用可能。DockerCon 2017
- Dockerが「Moby Project」を発表。すべてをコンテナで組み立てる世界を目指す。DockerCon 2017
- VISAカードのインフラがDocker採用。数秒でプロビジョニング、パッチやメンテにさよなら、消えるインフラ。DockerCon 2017
あわせて読みたい
Chrome 59で新しいJavaScriptインタプリタ「Ignition」とコンパイラ「Turbofan」が有効に。より省メモリかつ高速。「Crankshaft」は引退へ
≪前の記事
マイクロソフト、「TypeScript 2.3」をリリース。コメント付きJavaScriptをTypeScriptで型チェック可能に