新しいコンセプトの仮想化技術として注目のコンテナ技術(以下、コンテナ)。システム環境やデバイスに依存せずに軽快に動作するアプリケーションを開発できることから、ハイブリッドクラウドやマルチプラットフォームに対応したサービスやアプリケーションに不可欠の技術となりつつあります。コンテナを活用したアプリケーションやインフラの構築で実績が豊富なエス・アンド・アイ株式会社(以下、S&I)の佐々 博音氏、志村 康司氏、小林 勇紀氏に、コンテナの活用がもたらすメリットなどについてお伺いしました。
DXの推進に取り組む企業にもメリットが多いコンテナ技術
―― 「コンテナ化」について、インターネット調査会社のIDCによると、2019年では情報収集と勉強しているというレベルが多く、具体的には「本番で導入している」から「勉強している」までが4割でしたが、2021年には7割を超えています。「技術的に関心がある」という回答も7割近に達しています。日本国内で明確にトレンドになってきていると感じます。今なぜ注目されているのでしょうか?
S&I 小林氏 コンテナ技術でアプリケーションやサービスを作ることを「コンテナ化する」と表現するのですが、コンテナ技術をわかりやすく説明すると、「さまざまなアプリケーションを、場所や環境を問わずに動かせるようにする技術」のことです。
コンテナ化のメリットは運用面と開発面の両面からこの後ご紹介できればと思いますが、市場変化やビジネスの状況に合わせた迅速なインフラ資源の最適化やアプリ開発が簡単にできるため、DXを推進しようとする企業を中心に注目されています。
また、環境に左右されず動作するので、ベンダーロックインされにくいというメリットがあります。他社製品への乗り換えがネックになるケースが多くありますので、こうした点もコンテナ技術のメリットの1つであり、DXを推進する上で必要不可欠な技術になってきていると思います。
S&I 佐々氏 昨今、オンプレミスで構築した従来のシステムをクラウドにシフトしたいというニーズが高まっています。同時に、オンプレミスとクラウドを適材適所で使い分けるハイブリッド型のシステムも注目され、アプリケーションからデータのソースまでをオンプレミスでもクラウドでも使えるようにしたいというニーズが強くなっています。多くの企業が、アプリケーションに手を入れることなく、ハイブリット型でそのまま使えるようにしたいとお考えで、それを可能にするのがコンテナなのです。
一つのサーバーに対して複数のコンテナを同じアプリケーションとして乗せられるので、マルチテナントも実現できるなど、拡張性などのSaaS環境の基盤としてのポテンシャルを持っています。
S&Iでは、AIを活用したサービスを展開しているのですが、それらの一部をコンテナ化して提供しています。そうすることで、お客様の環境がオンプレミスでもクラウドでもスムーズな導入を実現しています。さらに、あるクラウド環境をお使いのお客様が、使い勝手など何らかの理由で他のクラウドにシステムを移管したいといったときでも、コンテナ化されたサービスであれば、大きく改修することなくコンテナ単位でマイグレーションできます。マルチプラットフォームへの対応といった視点でも、コンテナは今、注目の技術なのです。
コンテナ技術で場所や環境を問わずアプリケーションを軽快に
―― コンテナ技術のメリットを教えていただきたいのですが、「インフラ・運用面」ではどのようなメリットがあるのでしょうか。
小林氏 サーバー仮想化(VMなど)と比べ、コンテナ内のOSはホストOSを共有するため、アプリケーションを高速かつ軽量に起動することが可能です。少ないリソースでアプリを稼働できるため、環境によってはインフラ資源の有効活用やコスト削減が期待できる点がメリットです。
例えば、サービス利用の集中する日中帯はサーバー数・コンテナ数を増やし、利用が少ない夜間帯はサーバー数を削減するといった運用が簡単にできます。
運用面では、変更作業などを実施する際に、既存環境に対し変更をするのではなく、コンテナイメージを入れ替えることでリリースできるため、切り替え・切り戻しが非常に早くできる点がメリットです。従来では、変更作業時に問題があるとシステムバックアップからリストアしなければならなかったりと、運用負荷が高かったのですが、コンテナイメージの入れ替えで済むなど、運用作業の簡素化や自動化が見込めます。
そのほかにも、昨今注目されている、複数のサービスをAPIによって連携させる「マイクロサービス」と「コンテナ技術」は非常に親和性が高いのです。マイクロサービス化されたサービスをコンテナ化することで、運用の自動化や障害発生時の影響を部分的に抑えられるようになるというメリットがあります。
―― 運用面では、拡張性の高さはもちろんですが運用負担の軽減などのメリットも期待できそうですね。では次に、「開発面」ではどのようなメリットがあるのでしょうか。
S&I 志村氏 コンテナ化されていると、開発者はOSやインフラ基盤を意識しなくてよく、開発タスクに集中できます。環境に依存しないという点は非常にメリットとして大きいです。さらに、コンテナイメージは、システムに対する設定作業等をコード化することができるため、さまざまな環境で同一のコンテナイメージを簡単に再現することができます。
また、利用者と同じ環境で開発を進めていけるので、利用者と同じ環境を再現しながらニーズをフィードバックして改修できます。開発効率が非常に高まるので、開発スピードも速められます。また、各ソフトウェアの開発元よりコンテナの公式イメージが提供されているため、必要なソフトウェアが導入済みのコンテナを利用してすぐに開発が進められるのも、開発スピードを加速できるポイントの1つですね。
佐々氏 実際にアプリケーションの開発では、ユーザーテストなどの時に検証環境を毎回構築して確認するのに時間と手間がかかることが意外にあります。コンテナ化しておけば、それを利用者側に展開することで使い勝手の確認や動作の検証ができますので、全体の工数、コスト、品質でもメリットがありますね。
志村氏 コンテナはDevOpsでメリットが大きい技術なので、開発における、デプロイ作業の属人化の解消、時間短縮、作業工数削減が可能です。
まずは最小限の機能だけでサービスをスタートし、ニーズに合わせて機能強化していくなど、サイクルを回しながらより良いサービスに育てていくという手法が簡単に取れるのもメリットではないでしょうか。
佐々氏 今まで以上に市場ニーズやお客様からの要望が高度化してきおり、ITインフラを迅速かつ柔軟に対応していく必要が出てきています。
従来型の環境をベースに大規模なシステムを導入・活用しているサービスが、そのシステムを機能単位に分けてコンテナ化し、段階的にコンテナ環境に移行しようという企業も増えてきました。これもDXを視野に入れた一つの取り組みです。
大規模なシステムを機能単位でコンテナ化し、お客様からの要望を素早く反映して改善・改修を繰り返していく。その積み重ねの先にDXを見据えているという事だと理解しています。
業種・業態に限らず、コンテナ技術は今後のデファクトスタンダードに
―― DXの推進という視点に立つと、今、コンテナ技術の導入に敏感で積極的に取り組んでいるのはどの業種・業界でしょうか。
佐々氏 業種や業界による違いはあまり感じていません。ただ、コンテナ技術にはここまで説明したメリットと合わせて、メンテナンス性や冗長性が非常に高まるといった側面もあります。そこにメリットを感じるお客様も多く、例えば大規模ユーザーを抱えている大手のサービス事業者が、今後のさらなるサービス拡張を「コンテナ化を前提に」検討しているといった動きもでてきています。
サービスやアプリケーションの運用・管理のしやすさ、DevOpsを継続できるといったことも考えると、やはりコンテナ化が必須という判断をされる企業が今後さらに増えて来るかと思います。
―― 大規模なサービスやアプリケーションを提供している企業でも、より細かく柔軟に利用者のニーズに応えて、さらにはDXの推進までを視野に入れると、もう「コンテナ化は避けては通れない」といった状況でしょうか。
佐々氏 まさに、そういった流れが来ていると感じます。今後はサービスやアプリケーションだけでなく、いろいろなミドルウェアとかソフトウェアが次々にコンテナ化されて、提供されるようになるでしょう。どんな環境でもどんなデバイスでも動くことが当たり前にならないと、今後やってくるマルチプラットフォーム化の波には対応できないと考えています。
コンテナ技術は前提、というか、サービスやアプリケーション、ミドルウェア、ソフトウェアの開発を考えるとき、その根底にはコンテナがあるというのが基本的にはデファクトになってくると思います。
小林氏 当社が提供しているAI系のサービスでは、従来は仮想サーバー上にアプリケーションを複数インストールして動かしていましたが、OSのアップデートやアプリケーションの改修のたびに、サーバーそのものにも変更・改修が必要になることもありましたし、問題発生時はOSリストア作業が必要になるなど、作業負荷が大きかったのです。
コンテナ化してからは、イメージの入れ替えだけで済むようになったので、何か問題があってもすぐ復旧が可能です。アプリケーションのアップデートもコマンドを数行実行するだけで終わります。すごく楽になりました。
その意味では、大規模なサービスなどを提供しているお客様は、「もうコンテナじゃないと回っていかない」というところまできていると思います。
コンテナによるアプリケーション開発からインフラ、サポート運用までワンストップで対応
―― 「コンテナ技術」は避けて通れない技術の1つになるということですが、コンテナ化するにあたっての課題や難しさなどはあるのでしょうか。
佐々氏 アプリケーションを含めたサービス提供という観点においては、コンテナを使わずに開発するのが難しくなる時代が来ると思っています。マルチクラウドでシステムを構築したいというニーズが高まると、なおさらです。一方で、何でもコンテナ化できるわけではないので、見極めが重要になってきます。
小林氏 そうですね。コンテナ化には「向き/不向き」があるので、アプリを分析してコンテナ化のメリットが享受できるかどうかを見極める必要があります。特に、アプリの軽量化やデータの永続化などにはテクニックが必要なのですが、まだまだ技術者が少ないというのも課題ですね。コンテナに対応していないソフトウェアやミドルウェアも多くあるのですが、技術者が増え、コンテナ化技術が標準化されていくなかで、こうした部分が改善されていくと期待しています。
―― S&Iでは、コンテナ化を検討したいというお客様からのニーズに対し、どういったサービスを提供しているのでしょうか。
佐々氏 インフラとアプリケーションの両面からの支援をしております。まずは、サーバー、ネットワークを含めたインフラの構築において、オンプレミスからクラウドにシフトしたいといったお客様に対し、従来、オンプレミスで動かしていたアプリケーションのコンテナ化とそのための運用サポートもご提供します。
もう一つは、多くのサービス事業者やアプリケーション・サービス・プロバイダー(ASP)のお客様に対して、コンテナを前提としたサービス・アプリケーション開発支援の提供のご支援です。
マルチプラットフォームを見据えたサービス・アプリケーション提供を検討されている事業社様に対して、上位レイヤーとなるアプリケーション構築から、コンテナ化、クラウド環境の構築まで一貫したご支援が可能です。さらには、24時間365日の運用サポートも含めてワンストップで対応しています。
小林氏 コンテナ環境の監視や運用は、従来のやり方が通用しません。アプリがどのノードで稼働しているか外部から把握することが難しく、コンテナのライフサイクルも短いため、頻繁に稼働するノードが変更されてしまう可能性が高いため、ノード単位での監視が非常に困難です。
S&Iでは、Prometheus、Loki、Grafanaなどのオープンソースソフトウェアやクラウドサービスを組み合わせた監視システムもご提供していますので、お気軽にご相談いただければと思います。
志村氏 コンテナは新しい技術ですが、活用することで、アプリケーションの開発側にも、その利用者側にメリットがあります。既存のシステム、サービスやアプリケーションをリニューアルしたい、インフラも含めて改修したいといったお考えをお持ちなら、ぜひ、コンテナも視野に入れて、新たなITインフラの構築を検討してみてはいかがでしょうか。