fbpx

DockerCon Europe 2017 – Keynote Speech 解説 1/3 #docker

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

2017年10月16日〜19日にDockerCon EU 2017がデンマークのコペンハーゲンにて開催されました。
https://europe-2017.dockercon.com/

このブログではKeynote Speechについてどのような内容が発表されたのかを解説していきたいと思います。
内容が盛りだくさんということもあり、3回に分けて公開いたします。

ーーーー


CEO Steve Singh氏の登壇
Docker CEOになって初めてのDockerConのキーノートであり、どのような内容が語られるのか、関心は高かった。

簡単な自己紹介:
Concurの立ち上げ、SAPへの買収、その後、SAPの幹部として同社のクラウド事業、SaaS事業の責任者を歴任

会場となっているデンマークを語る上で、”Hygge” => 「ヒュッゲ」、と言う言葉は必須。
ヒュッゲとは、居心地がいい時間や空間、と言う意味で、Dockerの自由な気風にも共通する言葉として紹介している。
http://toyokeizai.net/articles/-/152780

「ヒュッゲ」の精神にのっとって、Dockerが目指すITの世界、というのは、「世の中のあるべき姿をイメージ化する」ということ。

Dockerのお客様の多くは、その考え方に同調している。
例えば、次のような例がある:
Delta Airlines社は、自社を飛行機会社とは呼ばず、Delta = "Software Company on Wings”(翼の上のソフトウェア企業) と呼んでいる。
NCR社は、元は世界で初めてのレジ機を開発した企業ですが、今日はPOSのリーディング企業としてインテリジェントなPOS端末とそのシステムを提供している。
間も無くガソリン車は電気自動車に置き換わる予定で、各社電気自動車メーカーはいかに車載ITを発展させるかが勝負の分かれ目になる、と見ている。
これらの会社に共通しているのは自社の未来像を、「ソフトウェア主導の企業」と位置付けてる事である。これはまさに、エッジコンピューティング そのものであり、いかに世界中に広がっているこういった機器(飛行機、POS端末、電気自動車、等)をインテリジェントにするか、周辺の機器とどのようにコミュニケーションをすべきか、が課題になっている。

コンテナ技術の可能性、というのはまさにこのエッジコンピューティングの世界にある、とSteve Singh氏は主張している。従来のIT技術に無かった、ポータビリティ(Portability)、軽量化(Light Weight)、そして独立性(Independence)をDockerが提供するコンテナ技術は持っている、という点がポイント。

ソフトウェア開発の世界も大きな変換を遂げている事をこのスライドで説明している。

    ・グローバル化がますます促進
    ・分散した拠点が増えつつも、密な連携が必要
    ・それぞれのIT環境がインフラレベルから異なる
    ・とはいえ、新規に打ち出すサービス(ソフトウェア)は全てのインフラで問題なく稼働する必要がある。
    ・一方では、それぞれの拠点ではそのリージョンに閉じたIT業務の能力を高める必要がある(これをエッジコンピューティングと読んでいる)

Dockerの技術はこのかかる問題を解決するための技術である、という事を多くのお客様が気づき、導入している。

現時点でのDockerの市場での浸透度は数字で大きく示されている。
・2100万のDockerホスト数が稼働
・240億回のダウンロード数
・人材募集でDockerのノウハウを要求する案件が7.7万%も増加
・OCI, CNCF, ContainerD等の標準化団体の動きも非常に活発

コンテナのプラットホームがいかにエンタプライズのニーズに効果を発揮するのか
 ◎ソフトウェアサプライチェーンの確立
  ○様々なプラットホームを相互接続、アプリケーションに意識をさせない
   ・レガシーM/F
   ・Unix
   ・Windows
   ・Linux
   ・クラウド
   ・ベアメタル
  ○各拠点の異なるインフラで統一した運用環境
   ・M/F
   ・C/S型データセンタ
   ・プライベートクラウド
   ・パブリッククラウド
  ○統一したソフトウェアのライフサイクル管理手法
   ・開発/リリース手順
   ・バージョン管理
   ・バグ/障害対応手順
   ・コンプライアンス
   ・ガバナンス
  ○特に、企業全体のポリシーに従ったセキュリティ施策を全てのインフラに共通で設定、運用
  ○各拠点のITインフラをエッジコンピューティングのノードとして捉え、IoT的な管理/運用手法を統一的に導入
  ○サーバーレス(OS/HWに依存する要件が無い)の環境を徹底する

これらの要件を実現するのがDockerの狙いであり、レガシー、次世代にかかわらず、それを具体的に実現するためのソリューションとして打ち出したのが、MTA (Modernization of Traditional Apps)である。
コンテナ化は、新規開発のアプリケーションに適用するのはもちろんの事、従来からデータセンタの奥深く眠りながらも未だに運用されているレガシーのアプリケーションも、Docker MTAにとっては対象にある、という考え方を主張。

実際にMTAの実践している姿をデモを通して見せる。

シナリオは、ペットストアのアプリを開発/運用している業者において、DockerのエンジニアがMTA導入を支援している状況。
Ben(右)はペットストアのアプリを開発/運用しているエンジニア、Kristie(左)はそれを助けるDockerのエンジニア、という設定。
要件は、Benが、現在本番稼働中のペットストアのアプリケーション(jpetstore)をコンテナ化する、という課題を受けて、プロダクションシステムを停止せずにどうやってそれをやるか、という事で悩んでいるところ。

Kristieは、バックアップから最新のtarファイルを選んで、それをコンテナ化すればいいのでは、と提案し、まずはバックアップのリストを表示。かなりの数があるが、その中から一番最近のものを選択する。(petstore-backup-latest.tar)

次に、dac、と呼ばれるDockerコマンドで、コンテナ化すべきアプリと関連ライブラリを抽出する。
discoverオプションで、コンテナする必要のあるコンポーネントを全て拾い出すことが可能。

dacコマンドを投入
dac discover tar $PWD/petstore-backup-latest.tar
結果として、petstoreアプリはAlpine Linux v3.6 上で稼働していることが判明。

さらに、アプリサーバは Tomcat 8.5.21.0 であることが判明

dacコマンドはさらに、このアプリをコンテナ化するかどうかを聞いてくる。

Y、と答えると、Linux, tomcatを含めて全てコンテナ化するかどうかの確認。

この問い合わせに対して、all と答えると、コンテナ化のプロセスがスタート。

ディレクトリを見ると、Dockerfile が生成されていることがわかる。

Dockerfileの中身を見て見るとコンテナとして必要なコンポーネントが含まれていることがわかる

Dockerイメージをビルドする
docker image build —tag jpetsore:1.0 .

さらにイメージをDockerのレジストリにpushする
docker image push on-prem.dceu:5000/frenchben/jpetstoreweb:1.0

登録したコンテナをDocker runコマンドで実際に動かす
source dceu-on-prem.sh & docker run -p 80:8080 on-prem.dceu:5000/frenchben/jpetstoreweb:1.0

如此く、バックアップをリソースとして、コンテナを作成し、動かすことに成功。
この間、本格運用システムには一切を手を入れていない。

MTAを導入している顧客はすでに大手でかなりの数になっている。
特に、金融系/保険系での導入が顕著で、共通のメリットとして強調されているのは、IT運用コストの削減を達成している、ということである。平均して、50%の削減、ということはかなりの効果を発揮している、と言える。

Metlife社での導入事例について、Metlifeの Docker導入責任者でもある、Jeff Murr氏が登壇(この人は、4月にUS Austin, TXで開催されたDockerCon 2017でも登壇している)

Metlife社の簡単な紹介
保険業界においても最も古い会社の一つで、来年で創業150周年を迎える、超レガシー企業
•Global Fortune 500® 128番目の企業
•1億人の顧客
•$5億ドルの資産投資
•$630億ドル の売り上げ(2017)

今年のDockerCon 2017でも登壇し、その時にはDockerの導入専任チームである、”ModSquad”の活動内容を紹介している。
当時は、一つのアプリをMTAでコンテナ化する事に注力していたが、今度は、そのコンセプトとノウハウを社内全体のアプリに展開する段階に移行している。

Metlifeで導入しているMTAはPOCでまず実証する形で導入している。
MTAで提唱されている、3段階のステップをもって、ターゲットである、Azureクラウドに順次アプリを移行するプロセスをパターン化している。
Avanade社がPOC推進のSIとしてコンサルサービスを提供している

最初にMTA化したアプリは、”Do Not Call (Opt-Out)”アプリで、エンドユーザが、自分の個人情報を他の関連パートナー企業(Affiiate)に共有して欲しく無い時にオンラインで登録するアプリである。
https://www.metlife.com/about/privacy-policy/opting-out/online-opt-out.html?WT.mc_id=vu1075
このアプリのコンテナ化を、1日で実施し、アプリ全てのレイヤー(App server, Web server, DB server)をDocker EEだけで管理する事ができるようになった。

現在、USの事業所を対象に、同様のMTA導入を計画する段階にいて、どれだけのコスト効果が見込めるかを試算している。
次のような効果が見込まれている。
VMにかかるコストを70%削減
CPUコア数を67%削減
CPUの利用効率を10倍に増加
これを総合すると、US事業所で保有する、593のアプリ全てを対象にした際、66%のコスト削減が実現できる計算になる。

さらに、これはMetlifeグローバルで見た際に、USは世界全体の10%程度のアプリ数になるため、今後グローバル展開を図る際にはさらに大きなコスト効果が期待できる事も判明している。

Docker導入において、留意すべき点もある。
スコープ:最初は小さいアプリからスタートし、段階的に成長させていく事が大事
十分なアセスメント:最初に取り組むアプリの選定は慎重に、確実性の高いものを選ぶ
チーム作り:新しい技術に積極的にプロジェクトに取り組めるチームを作る
既存のオペレーションで利用できるものは利用する
スプリント的に、小さなサイクルで成果を段階的に出してプロジェクトを進める

図に示されているのはMetlifeで採用しているDockerのプラットホーム。
Docker EEによって運用されるコンテナのエコシステムは、マイクロサービスアプリ、レガシーアプリ、3rdパーティアプリを全て統合的にコンテナ化し、統一したセキュリティポリシーに基づいて、開発者、運用管理者の両方が利用できる仕組み。

Docker Enterprise Editionの導入により、企業にとって非常に重要な要件である、次世代への変化とイノベーションに向けたソフトウエア開発モデルと、複数のITインフラ統合型のIT運用モデル、の両方を実現してくれるソリューションとして評価している。

1/3 完了

いかがでしたでしょうか?
Keynoteの前半部分についての解説でした。

次回は名物CTOのSolomon Hykes氏が登場します。
すでにご存知かと思いますが、ここでSolomon Hykes氏がKubernetes対応を発表しました。
次回の更新をお楽しみに!

動画自体もこちらで公開されていますので、雰囲気を感じるのに動画も合わせてご覧いただくと良いかもしれません。
https://dockercon.docker.com/
#閲覧には登録が必要となります。

新規CTA