IBM Storage

エバンジェリストの眼②:コンテナなんてウチにはまだ早い、のでしょうか

記事をシェアする:

DX(デジタル変革)という言葉が登場し、多くの企業での取り組みも語られてきている。実際、ITが社会に深く浸透し、生活様式を大きく変えている。DXが進むことで多くの恩恵を感じることも増えてきている。ここで改めて自社でのDXに対してついて考えた時、システムの設計や運用を担当する部門としては何を考えるべきだろうか。このブログを通して、DXをいつもと少し違う視点で見ていただくきっかけとなれば幸いである。

佐野 正和

佐野 正和
日本アイ・ビー・エム株式会社  システムズ・ハードウェア・エバンジェリスト
1986年 日本アイ・ビー・エム株式会社 入社、2006年にシステムズ&テクノロジー・エバンジェリストを拝命。現在はストレージ・テクニカル・セールスでストレージ・ソリューション担当部長を拝任。お客様への提案活動やIBMビジネス・パートナー様との協業を行う傍ら、セミナー・講演活動や雑誌、Webへの執筆活動も積極的に行っている。


DXはあなたにとっても課題の一つ

デジタル・トランスフォーメーション(略記:DX)の推進は企業にとって大変重要な課題であり、各社はこれを進めるために大きな努力を払っている。こう聞いてもピンと来ない方もおられることだろう。ピンとこない方にとって、DXはいわば天災のようなものかもしれない。自分の日常では何も起きていないように感じていても、遠い海の底で大地はうごめいているものなのだ。企業は能動的にDXへ取組まないと、DXを積極的に行う競合他社にいきなり手痛いパンチを食らい、経営的なダメージを受けるかもしれない。それは自分たちの想定していた長年のライバル企業ではなく、業界内では聞いたこともない、気にもとめていなかったような企業であったりする。(DXについては第一回のエバンジェリストの眼もぜひお読みいただきたい)

DXへの取り組みは経営者だけの問題ではない。例えばあなたが社内でデジタルに関わる仕事をしているなら、なおさらDXへの取組みに自ら積極的に携わる必要がある。他社が仕掛けたDXによって、あなたが務める会社が急に危機的状態へと陥れられ、最悪の場合職場を奪われてしまう可能性さえあるのに、それに対して何ら対策を講じることなく無策のままでいたことは、非常に勿体ないことだったと後になって気づかされるからだ。DXという名の戦いの場を自社のプレー・スタイルに有利なものにできるのか、それとも相手側に有利なグランド・コンディションにしてしまうのかは、ひとえにどれだけDX へ真剣に取り組んでいるかにかかっている。では、何から手を付けたらよいのだろう。コンテナ技術を採用することはDXに着手する上での一つの手段として有効であり、第一歩となりうる。コンテナ技術への取り組みは「まだ早い」などと言っている場合ではないのだ。

スマホ・アプリは更新されますか

今ではほとんどの方がスマホを持っている時代になった。日常の中でスマホを利用していると、かなり頻繁にアプリが更新される。皆さんにも通知が届くので、それなりにせっせとアプリの更新をされていることだろう。スマホのアプリの更新が多いのは、世の中がDXで溢れかえっている証拠だ。単にバグを直すだけなら、それほど頻繁にアプリの更新を行う必要はない。では何故アプリを頻繁に更新するのだろうか。それは「より良いお客様体験」(Customer Experience)をユーザーに味わってもらうためなのだ。

これ、いいね!

ユーザーは常に使いやすくて、便利で、面白いアプリを求めており、そういう体験をすることを望んでいる。それはゲーム・アプリかもしれないし、音楽配信アプリかもしれない。また、オンライン・ショッピング・アプリかもしれないし、バーコードによる決済サービスのアプリかもしれない。スマホのアプリだけではなく、パソコンで使われるWebサイトのアプリでも、自動販売機に組み込まれたアプリでも同じことが言える。使いやすくて、便利で、面白いアプリでなければ人々から見放されてしまう。スゴイ、面白い、コレいいね、と感じられることがすなわちアプリが提供する「より良いお客様体験」である。DXを推進する手法はそれなりにあるのだが、「より良いお客様体験」(Customer Experience)をユーザーに味わってもらうことは、アプリを利用したDXを推進する手法の一つなのだ。故に各社は躍起になってアプリを良いものにしようと毎日のように新しいアプリを世に出したり、今までのアプリを更新したりして、より良いものを提供するべく努力をしている。

では、アプリを頻繁に更新するためにはどうしたら良いだろうか。これを今日の本題であるコンテナ技術だ。コンテナとこれに関連する技術を利用すると、DXを推進するためのアプリを素早く作成したり、都合よく改修したりすることができる。ここではこういう観点でコンテナとその関連技術が着目されているということをいくつか紹介しよう。

コンテナはどこでも動く

まず一番分かり易いメリットはコンテナがどこでも動かせるという便利な存在だという点だ。コンテナは簡単に言うとプログラムとこれを実行するために必要な各種ライブラリーが1つの塊としてパッケージされたものである。必要なものが全部入っているので、いろいろな場所に持ち込んでも同じアプリを実行できる。スマホやパソコンは機種や動かすOSのバージョンなどが異なるため、実を言うと異なる環境で同じアプリを動かすのは意外に難しかった。しかしコンテナなら必要なものが一式全部入っているので、コンテナを動かせる環境ならどこでも動く。例えば稼働環境で用意されたライブラリーが既に古くなったものであっても、コンテナ内に新しいライブラリーを同梱して持ち込んでいるので、うまく動くというわけだ。DXは色々なデバイスや装置を通してデジタルなソリューションをユーザーに提供することでビジネスの成功を目指すため、どこでも動くコンテナはとても重宝な道具となる。

チョット修正、がカンタン

コンテナそのものとは違うのだが、関連する技術の1つとしてマイクロサービス・アーキテクチャーというものがある。これは沢山の機能を1つのプログラムに詰め込んでしまうのではなく、細分化できる機能は細分化した形でコンテナ化する手法だ。もちろん、細分化されたものは疎結合という形で連携させて1つの大きなアプリとして動かすことができる。参考までに何でもかんでも1つのプログラムに機能を入れ込んで作るやり方をモノリシック・アーキテクチャーと呼ぶ。このやり方は1つのアプリの中に各種機能を詰め込んで作るため、機能別に分割されたものを連携させる手間がいらない分、判り易くつくり易い。しかしどこか少しでも修正を行う場合、修正には関係ない部分を含めて大きなプログラムのままコンパイルやモジュールの置き換えをしなければならないので、修正しない予定であった部分が本当に何も変わっていないかも含め、大掛かりな稼働確認テストを行わなければならない為、頻繁に修正を行うことは躊躇される。実際、モノリシックな構造を持ったプログラムの置き換えは、慎重かつ計画的に実施される。

これに対してマイクロサービス・アーキテクチャーを採用してる場合、アプリの一部をほんのチョットだけ変えたいと思ったら、直ぐにその部分だけ修正して本番アプリに反映させることができる。DXを推進するという事は、他社に先駆けてより早く、タイムリーに市場が求めているものを提供する必要がある。対応できる時間が早ければ早いほど良いのだ。仮に早めに対応したものが、少々早合点な対応だったとしても、これに対する市場の反応(アプリの利用頻度、ユーザーからのフィードバック等)を確認しながら即座に新の対応をすれば良いだけなのだ。

コードを書いたら直ぐ本番に

DXをアプリで進めていこうと思ったら、アプリをユーザーが使える状態にまで素早く持って行かねばならない。これはいわゆるAgilityとかTime to Market というような言葉に即した経営的な行動願望だ。開発したコードをできるだけ早く本番環境に載せられるよう、開発と運用を一連の動作で行う作業形態は一般に DevOps と呼ばれているが、コンテナ環境の場合CI/CD(継続的インテグレーション/継続的デリバリー、継続的デプロイ)と呼ばれることが多い。

CI/CDはソフトウェア開発と実装を高速化する手法の1つだ。一般にアプリを開発し実際の運用にまで持って行くために、まずはコードのコンパイルやバインドを行う。コンテナで環境では必要となるライブラリーの同梱作業(インテグレーション)も必要だ。当然ながら作成したプログラムが思い通りに動くかどうかは判らない。故に確認のために必ずテストを行う必要がある。テストを通過したコンテナはレジストリーに登録し、これが本番環境に実装(デリバリー)される。これら一連の動作を1つ1つ手作業で確認しながら人手を使って実施すると、時間がかかるうえに人的ミスが発生する要素が大きい。そこでコンテナ開発ではCI/CDで実施する一連の作業工程を自動化して一気に本番運用状態まで持って行ってしまう。一連の作業をパイプライン化し自動化することで、人が介在して発生する作業ミスをなくすことができると共に、コード開発から本番運用への反映までの時間を短縮することができる。これを利用することで、DXで求められる「より良いお客様体験」を提供するアプリを早期にお客様の手元に届けることができる。

コンテナとIBMストレージ

IBMのストレージ製品はコンテナ環境をより便利で快適に使えるよう工夫されている。コンテナ環境ではCSIと呼ばれるストレージ用APIが用意されており、IBM FlashSystemIBM DS8000など全てのストレージ・ハードウェアがCSIで使えるようサポートされている。共用ファイルシステム用ストレージ・ソフトウェアであるIBM Spectrum Scaleやオブジェクト・ストレージであるIBM Cloud Object Storageもコンテナ環境で利用できる。さらなるコンテナ環境の利便性向上を目指し、2021年8月にはRed Hat OpenShiftとIBMストレージ・ソリューションを搭載したコンテナ専用HCI製品であるIBM Spectrum Fusion HCIを発表した。IBMはお客様のDXとコンテナ利用を推進するために、これからも多くの製品やソリューションを提供していく予定である。

More IBM Storage stories

エバンジェリストの眼③:払うべきか払わぬべきか、それが問題だ

今や、ビジネスの生命線ともいえる「データ」を暗号化し、身代金を要求するランサムウェアが世界中で急増している。攻撃者の手口は日々に悪質化、巧妙化しており、日本企業にとっても対岸の火事ではなく、いつ自社に降りかかるか分からな […]

さらに読む