2017.08.09

DockerCon 2017で発表された、Northern Trust社のDocker MTA 導入事例

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

こんにちは、クリエーションライン株式会社の鈴木いっぺいです。 普段はロスアンゼレスに在住し、米国各地のオープンソース系のITベンダーとの付き合いを通して、日本とのパイプ作りに専念する毎日です。

今回のブログは、Docker MTAの導入事例を、ご紹介したいと思います。DockerCon 2017やその後に数々のイベント通して、VISA InternationalMetLifeNorthern Trustが同社でのDocker MTAの導入事例を発表しています。いずれも金融系の企業であることが特徴的ですが、一見ITに関しては手堅い印象の強い業界でなぜDockerの導入にそんなに積極的なのかを見ていきたいと思ってます。

まずは、Northern Trust社の事例紹介を、スライドを通して解説したいと思います。

Northern Trust社のDocker導入事例


170809_ippei_01.jpg
創業1889年、と今回のDockerConに登壇した会社の中で、VISAに次ぐ古い会社です。 資産管理や、企業向けの投資管理など、戦略的な金融事業が中心で、16,500人の従業員、世界20箇所のオフィスを持っています。


170809_ippei_02.jpg
企業のITに対する取り組みは、ひとえに競争力を維持することが目的で、多大な投資を行なっています。 投資の対象は広いが、基本的に全てのIT運用はソフトウェアで行う方針(Software Defined Everything)を重要視しています。

また、ITがもたらす効果は次の5つのビジネスに対する基本戦略に絞っています。

  • Agility:スピード
  • Reliability:信頼性
  • Security:セキュリティ
  • Performance :性能
  • Lower TCO:コスト削減

いずれの項目も、さして目新しいことではないが、全てを満足させる単一技術、というものはそう見つかるものではなく、常にスタディをしています。


170809_ippei_03.jpg

上記の課題を達成するためには、新規アプリへの投資はマイクロサービス化を通して論理的には簡単に実現できます。

問題は、古いアプリをどうするかで、効果的なソリューションが今までなかったのが大きな悩みでした。 改めて、現状のレガシーアプリの実態を把握する必要がありました。現在は、WebLogic, .NET そしてTomcat系のアプリが400以上存在しており、中にはかなり巨大なモノリスアプリも存在し、クラウド化どころか、現状での保守もままならないものも多くなってきています。


170809_ippei_04.jpg

この課題に対して、Dockerの提唱しているMTA(Modernization of Traditional Apps)のソリューションはうまく合致することがわかってきました。
まず、これらのレガシーアプリをコンテナ化するだけで、次の3つの大きなメリットが達成できることを発見したのです。

  1. インフラコストの効率向上
  2. ハイブリッドクラウドの統合的な基盤
  3. 総合的なITセキュリティの向上

インフラコストの効率向上について


170809_ippei_05.jpg

従来は、アプリ毎に、稼働環境を立ち上げ/維持する次のような工数が大きな負荷となっていました。

  • ミドルウェアの整備(バージョン管理、パッチ対応、性能維持、ライブラリ管理、ライセンス管理)
  • ゲスト、サーバの準備
  • HA環境、DR環境の整備
  • Server Sprawl, VM Sprawlの対策
  • OSの整備(バージョン管理、パッチ対応、ライセンス管理)

アプリをコンテナ化することによって自由にターゲットインフラの選択が可能になることと、ミドルウェアもアプリと一緒にコンテナ化されるので、ミドルウェアに対する上記の依存度に関する工数も大幅に減少します。 そして最大の効果は、一つのサーバに複数のアプリをマルチテナント的に搭載/運用することが可能になり、それに伴うリソースの節約、すなわちコストの大幅な削減につながっています。

ハイブリッドクラウドへの移行


170809_ippei_06.jpg
オンプレミスの環境からクラウドへの移行にかかる時間を大幅に短縮することが可能になりました。Azureプラットホーム状にDockerのクラスタを立ち上げ、アプリをデプロイする工程を1日以内に完了させることが可能になることが判明。企業全体で進めているパブリッククラウド移行の戦略に大きな拍車がかかるようになりました。オンプレミスの環境では絶対に不可能な早さです。 コンテナの採用で、アプリ運用の自動化も大幅に促進されます。

  • Declaritive Docker Services
    
Docker Swarm Modeで設定されるDocker Serviceは、すべて宣言型のモデルを採用しており、コンテナの様々な稼働条件を事前に設定し、そのステートを維持するよう、Dockerが常に監視、自動運用します。これは従来人間が行なっていた大量の運用管理作業を自動化できることに直結しています。
  • Health Check
    全てのコンテナサービスの健康状態を監視し、問題が生じた際には自動的にロールバックも設定することも可能。これも人間の工数の大幅な削減につながっています。
  • Complete Service Isolation
    
Dockerは、各々のコンテナが一つのサーバ上で全く個別に動作/運用管理するため、CPUやメモリーを共有する状況の中でも、お互いに悪影響を与えないことが保証されます。

総合的なITセキュリティの向上


170809_ippei_07.jpg
金融市場では顧客のデータの保護は最も重要な要件であることは言うまでもありません。

  • ハッカーが攻撃できる領域を狭くすることがその方法の一つで、DockerはOSレイヤーを最小化しているため、そのレイヤーでの攻撃できる可能性は著しく下がります。
  • Docker Enterprise Edition でセキュリティプロファイルを設定し、脆弱性の検知を自動的に行うことが可能になります。特に開発エンジニアがもはや会社に存在しないレガシーアプリ等は、コンテナ化することにより他のクラウド型アプリと同様に統一したセキュリティプロファイルで管理できるようになります。例えば、数年前にIT業界を震撼させたHeartbleedと呼ばれるマルウェアは、Docker EEの脆弱性チェックでパッチをSSLライブラリに自動的にあてがうことができます。従来、全てのマシンに対して行う必要のあったマルウェアのチェック/対応が自動化されます。
  • ビルドの工程でOSやミドルウェアに対するパッチを一つのコンテナイメージに適用すれば、自動的に同様の対象コンポーネントをもつ他のイメージに対しても自動的に適用されます。
  • Dockerの全ての開発/運用ステージにおいて、コンテナイメージは全てTLSで暗号化され、開発部門からプロダクションのステージまで、改ざんがされていないことを保証できます。
  • StackRackといった3rdパーティーベンダーも多く、AIやマシンラーニングを活用したセキュリティソリューション等、高度な機能も増えてきています。


170809_ippei_08.jpg
全体的な効率向上、ハイブリッドクラウド導入促進、そしてセキュリティ向上によるメリットは総合的には、ITに携わるスタッフの生産性に寄与しており、それを最も端的に表しているのが、アプリ一つに要するデプロイ工程の日数の比較です。 従来の手法でかかっていたデプロイの工数の日程は平均して29日でしたが、Dockerの導入により、それがなんと7日間に短縮することができました。

もう一つ、スライドには書かれていませんが、インフラの実装効率の大幅に向上していて、一つのVMあたり、従来の2倍の数のアプリを実装/運用することが可能になっている、ということも特筆に価します。これはIT運用のコスト削減にかなり大きく寄与しています。


170809_ippei_09.jpg
もう一つ大きな運用上のメリットは、一つのDocker Swarm環境の上でWindowsアプリとLinuxアプリを同居させ、一つの管理画面で運用管理ができるようになった、と言うことです。 運用上は当然、集約化ができる、と言う点では便利ですが、最も効果を発揮しているのは開発チームに対してです。Web Logicをフロントエンドのアプリサーバに置いて、バックエンドに.NETのSQLサーバアプリを置いて、Swarm Modeで同じオーバーレイで共存させるようなアプリを簡単に開発することができる点です。これは、市場に出回っているPaaSのプラットホームでも全くできなかったことであり、開発者にとって画期的なことです。


170809_ippei_10.jpg
Northern Trust社では、これから全てのレガシーアプリをDockerコンテナ化する予定です。基本的なポリシーとしてはソースコードに一切、手を入れずにAzurenに移行するLift & Shift的な考え方で進めます。

例えば、

  • Tomcatアプリは大方、1日以内にコンテナ化、移行が完了できることがわかりました。
  • WebLogicの場合は、WebLogicクラスター(Domain)をSwarm Modeのクラスタにそのまま写して完了します。
  • NETアプリの場合は今まさに以降を開始していて、マイクロソフトの最新のリリースに大きな期待をしているところ( Visual Studio 2008と.NET Framework 3.5が一番簡単、とのこと、後ほどのQ&Aで出ました。基本的にWindows Server 2016の上で動くことができるのであれば、現時点では問題ない、とのこと)

次回のブログでは、VISA Internationalのユースケースについて解説をします。

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

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

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


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

  • Like on Feedly
    follow us in feedly

関連記事

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

お問い合わせ

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

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