2017.07.19

DockerCon 2017のキーポイント

鈴木いっぺい
クリエーションライン株式会社
このエントリーをはてなブックマークに追加

こんにちは、クリエーションライン株式会社の鈴木いっぺいです。
普段はロスアンゼレスに在住し、米国各地のオープンソース系のITベンダーとの付き合いを通して、日本とのパイプ作りに専念する毎日です。今回のブログはDockerの最新動向を、4月17〜20日に開催されたDockerCon 2017などを中心にご紹介したいと思ってます。

DockerCon 2017のキーポイント

DockerConの最大のポイントはいくつかありますが、次が話題として取り上げられています。

LinuxKit

実体はDockerコンテナを動かすためのプラットホーム機能を提供するLinuxのサブシステムですが、IoTやメインフレームも含めた様々なプラットホームに実装することができるのが、LinuxKitです。オープンソース化することによって、Docker Engineの普及率を拡大しde facto化することが目的だ、と考えられます。

moby project

クラウドプラットホーム事業者やシステムエンジニアが自社のプラットホーム上にコンテナシステムを自由に構築するツール群としてmoby projectが発表されました。runc, HyperKit, VPNKit, SwarmKit, InfraKit, containerd, 等といったコンポーネントで構成されています。一方、アプリ開発者にはDockerの商用版である、Docker Enterprise Editionが推奨されてます。

Modernize Traditional Apps(MTA)

Dockerの新しい事業戦略で、最近クラウド市場で話題になっている、Lift and Shiftの効果的な手法としてレガシーアプリケーションをクラウド移行/マイクロサービス化する手法として、まずはレガシーアプリをコンテナ化し、コードに全く手を入れずにクラウドプラットホームに移行することができる方法です。VISA Internationalや、MetLifeNorthern Trust等、すでに大手企業での導入事例に加え、IBM、Cisco、HPE等のベンダーが自社の戦略として導入していることを発表してます。

いずれも、Dockerの元来持つオープンソースをベースとしたビジネスモデルをさらに拡張した戦略であり、なおかつ、それをクラウドネーティブな世界のみならず、メインフレームや古いアプリフレームワーク上のレガシーIT資産をクラウドへのLift & Shiftを可能にするための戦略としても提唱しています。つい時代から忘れ去られがちではありながら、どの企業も抱える「枯れてしまった」レガシーIT資産を、Dockerのコンテナ技術でクラウドに簡単に移行し、そこからマイクロサービス化をしやすくする、というのが戦略の狙いでもあります。

今回のブログは、このMTA、日本語では、「レガシーアプリのモダン化」と称して、DockerCon 2017で発表された内容をまとめたいと思います。

MTA (Modernization of Traditional Apps)の戦略

DockerCon 2017の後、Docker社が顧客説明向けに準備したMTAの説明資料の一部から抜粋してスライドを紹介します。


170719_ippei_03.png

元々、MTAの発想は、多くの企業が抱える、アプリケーション元来の課題が表面化していることでした。このスライドにもある通り、アプリケーションは平均的に、初期の開発や実装のコストより、その後の維持費(アプリ自体とその下のインフラの保守、メンテナンスコストが中心)がずっと高額になってしまう、ということを指摘していて、調査によると企業のIT予算の80%がこの既存のIT資産の維持費に消費されている、ということです。

ITの第3のプラットホームの登場とともに、企業はIT戦略へのより積極的な投資、特にクラウド移行などのように根底部分のインフラを含めて資産の移行を必要としている時代の中で、その予算の8割がレガシーITの維持費に当てられている、ということはその企業の競争力を損ねる要因にもなることが危惧され、すなわち、次世代のITへの投資を効果的に行うためには、このIT予算の8割にも及ぶコストをどうにか削減することが、実は最も重要かつ深刻な課題である、ということを指摘してます。

レガシー維持のコスト削減無くして、企業のイノベーションは図ることができない、ということです。


170719_ippei_04.png

そこで、Docker社が提唱しているのは、こう行ったレガシーアプリをできるだけ早くクラウドプラットホームに移行し、そしてその次のステップとしてマイクロサービス化等、クラウドネーティブのアプリケーションにシフトしていく戦略であり、その手法として、MTA (Modernization of Traditional Apps) をDockerCon 2017において大々的に発表するに至ってます。

MTAの具体的なステップは、このスライドに概要が説明されています。

とにかく最初のステップとして、既存のレガシーインフラからアプリケーションを分離し、よりコスト面で優れているクラウドプラットホームに移行することを推奨しています。具体的には、アプリケーションをそのままImage2Dockerというツールでコンテナ化し、ターゲットのクラウドプラットホームに移行する、という工程です。

もちろん、レガシーアプリのインフラからの分離はそう簡単ではないケースも多いはずです。今回のMTAで発表しているのは、その数あるレガシーアプリの中でも、比較的インフラへの依存の低いものを選び、優先的にクラウド移行することを勧めており、順次、そのサポート範囲を広げていこう、ということをDockerがコミットしています。


170719_ippei_05.png

「コンテナ化しやすい」レガシーアプリ、というのは何か、ということを簡単に整理したスライドです。

一番コンテナ化しやすいのは、非常にシンプルな構成を持つもので、Linuxであれば 2-Tier、3-Tierのアプリ構成を持つLAMPスタックアプリ、さらに、TomCat、WebLogic、等のアプリケーションフレームワーク上で実装されたアプリケーションです。
Windowsの世界では、.NET、ASP.NET、IIS等のマイクロソフトの標準フレームワークで開発されたアプリケーションです。

フレームワークにもよるところがありますが、クラスタ化されたアプリも多く存在しますが、これらについてはあまり複雑で固有なクラスタ構成を持つものは避けるべき、と説明してます。

また、レガシープラットホーム固有のハードウェア機器(デバイス、メモリ、通信機器、など)に依存するアプリケーション、特殊なネットワークインフラを利用するアプリケーション、等、クラウド上では同等のサービスが存在しないものについても、当然ながら避けるべき、と推奨しています。

ちなみに、DockerCon 2017においてはOracle社の人間が登壇し、同社のエンタプライズ製品をDockerマーケットプレイスで提供可能にすることを発表し、製品サポートを表明しています。


170719_ippei_06.png

MTAの戦略は、前述のようにコンテナ化するのは全体の工程の最初のステップであり、その後のステップに速やかにつなげるためにも、まずはできるだけシンプルなアプリから経験を積み、順次高度な移行を実現していくことを勧めています。

Image2Dockerによるコンテナ化の次のステップは、Docker Enterprise Editionのフレームワーク上に実装する段階になりますが、3つのステップを通りことにより、セキュリティを確保するための機能が提供されています。

  1. Private Image Registry: イメージをプライベートなレジストリに登録し、そのイメージ作成者、時期、アクセス/編集履歴等を全て管理し、保全性を保証します。
  2. Docker Security Scanning: セキュリティスキャンを行い、アプリのコンポーネントにおいて、既知の脆弱性の有無を確認します。
  3. Docker Image Trust: イメージに対するデジタルサイネージを行い、開発チームから運用チームに引き渡される際に途中で改ざんされることが無い様、保証をします。

170719_ippei_07.png

最終的に運用チームにアプリがコンテナイメージとして引き渡され、それがDocker Enterprise Editionでセキュアに運用される環境にシフトしていく一連の流れをDockerでは、Container as a Service (CaaS)と呼び、MTAでコンテナ化されるレガシーアプリケーションを、開発当初からクラウドネーティブで開発運用されるマイクロサービスアプリ群と全く同一の環境で開発/運用を行うことができるフレームワークです。

これをDockerでは、ソフトウェアのサプライチェーン、とも呼んでおり、エンタプライズ企業として最も重要な要件でもある、一貫したセキュリティを確保するために大きく寄与する仕組みです。そのためにも、レガシーアプリに対しても、マイクロサービスアプリに対しても、さらにDockerマーケットプレイス(Docker Store)を通して3rdパーティのアプリ(現時点で46万+登録)も、全て同じコンテナプラットホームで実装し、同じコンテナセキュリティフレームワークで保全性を確保し、ほぼ全てのOS/VM/クラウドの上で、統一したCI/CDパイプラインで運用できる、という特性は、Docker Enterprise Editionのみができるサービス、と主張してます。

これは、バイモーダルITを導入/検討している企業にとっては非常に大きなメリットになっていくもの、と期待してます。

クラウド化、マイクロサービス化、コンテナ化の技術や方法論は、新しいアプリケーションの世界だけに注目されがちですが、つい忘れられがちなレガシーアプリケーションに対して、あえてソリューションを開発し、企業のIT運用の分離ではなく、統合を促す方法として、今後ともその成長に期待していきたいと思ってます。

次回のブログでは、VISA InternationalMetLifeNorthern TrustでのDocker MTAの導入事例について紹介をしたいと思います。

この記事の著者:鈴木いっぺい

クリエーションライン株式会社

アメリカに在住20+年、最近は成長著しいオープンソース系の市場を中心に、有望企業を開拓し、日本への市場展開を支援するITプロフェッショナル。現在は、クリエーションライン(株)の取締役/CSOとして、DevOps、ビッグデータ/分析、コンテナ技術を持つベンダーの日本代理店運営、日本法人/JVの設立、買収/投資、等のプロジェクトを立ち上げ、推進する事に注力。
アメリカのオープンソース系ベンダーとのコネクションは強く、多くのベンダーから日本市場展開に対する相談を受ける。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。