企業ユースのコンテナプラットフォーム IBM Cloud Pak for Applications
はじめに
はじめまして。日本アイ・ビー・エム株式会社の中村 英博です。
IBM Cloud Pak for MultiCloud Managementの記事に続きまして、IBM Cloud Paksの中から、Cloud Nativeアプリケーションの作成・管理をする「IBM Cloud Pak for Applications(ICP4a)」についてご紹介していきます。
Digital eXperience(DX)に必要な要素
デジタル技術の進化によるユーザー体験のことを「Digital eXperience(DX)」といいます。(デジタルトランスフォーメーション(DX)とは別)
過去を振り返ってみると、モバイル機器やモバイルアプリケーション、動的でリッチなウェブアプリケーションなど、多くの技術により新しいユーザー体験が生み出されてきたことは、皆様が一番体感されているのではないかと思います。
しかし、技術発展のスピードや人々の嗜好の変化などもあり、一度作ったものに対して、長期間継続して興味を持ってもらうことが難しくなっています。
人の飽きや慣れはとても早いので、一つのアプリケーションにユーザーを留めておくということは大変な努力が必要です。
そのため、開発を効率化し変化についていくための仕組みが求められています。
DXを効率よく実現するための具体的な技術
今現在、開発の効率化の分野でもっとも注目されているのがコンテナ技術です。
具体的には、DockerやKubernetes(K8S)といった製品になります。
DockerはOS上に隔離された空間を作る仮想化技術の一つであり、Kubernetesはコンテナのオーケストレーション、言いかえると制御を行うツールです。
コンテナの利点
コンテナは原則として、単機能で小さなサービスを提供するための入れ物です。
このサービスをマイクロサービスと呼び、通信による疎結合を行って全体のサービスを提供します。
マイクロサービスは小さく独立した存在なので、大きな一枚岩のプログラム(モノリスと呼ばれます)と比較して、機能追加・変更の簡素化や早い段階での問題発見などの効果が期待できます。
Kubernetesはコンテナのデプロイやストレージのマウント、冗長化・スケーリング、ヘルスチェックなどを担当し、Docker単体だけでは不足する管理機能を提供します。
すぐに始めるには敷居が高いコンテナ技術
では「DockerやKubernetesを利用してアプリケーションを作りましょう!」と言いたいところなのですが、これらの技術は今までのインフラや仮想化技術とは大きく異なります。
経験を積んだエンジニアでもかなりの習熟を必要とする技術です。その要因として以下の点があげられます。
・両者ともCUIのツールで、学習コストが高い
・テスト環境では動かせても、本番の運用で使いこなせるのか判断が難しい
エンタープライズで使えるコンテナ環境
上記の要因から、優れたエンジニア集団がいない限り、企業でコンテナを導入しようとしても一筋縄ではいきません。
また、エンタープライズでコンテナ環境を使うには、コンテナの機能を満たすだけではなく、非機能要件を満たす必要があります。
非機能要件とは、セキュリティー・認証認可・運用監視等を指しますが、DockerやKubernetesはこれらの用件を兼ね備えているわけではありません。
この問題を回避するためには、2つの方法があります。
・Cloudサービス上で提供されているマネージドサービスを利用する
・コンテナの商用製品を利用する
それぞれ、どのような特徴を持つのか見ていきましょう。
1.Cloudサービス上で提供されているマネージドサービスを利用する
セットアップ済みで、監視やバックアップ機能を備えているコンテナ環境がクラウドベンダーから提供されています。
これは、マネージドサービスと呼ばれているものです。
IBMからはセットアップ済みの「IBM Kubernetes Cluster」と「OpenShift Cluster」の二種類が提供されており、管理・開発のGUIツールもついていて、注文後短時間で利用が可能です。
URL1:https://cloud.ibm.com
URL2:https://cloud.ibm.com/kubernetes/catalog/cluster
URL3:https://cloud.ibm.com/kubernetes/catalog/openshiftcluster
難点は、制御できる範囲が限られていることです。
コンテナの下の層や管理層の大半を変更したり、管理したりすることはできません。
また、パブリッククラウドで利用するという制限がつきますが、とにかく使って試してみたいという方には最適なサービスです。
2.コンテナの商用製品を利用する
マネージドサービスは手軽に使えますが、パブリッククラウド上にあるという制約があります。
パブリッククラウドも多くの企業に利用されているとはいえ、物理的に社内になければいけない、遮断された環境でしか使えないといったときには利用できません。
そのような環境下では、「IBM Cloud Pak for Applications」が役に立ちます!
これは、オンプレで利用できるコンテナの商用製品です。
Red HatのOpenShiftをベースとして、GUIによる管理やJavaアプリケーションのコンテナ移行のための評価ツール、IBMでの実績が多くあるミドルウエアの使用権もついてきます。
オンプレに導入するため、導入の手間や一定規模以上のハードウエアが必要にはなりますが、一度セットアップしてしまえば、あとはマネージドサービスと同じような使い方ができるようになります。
エンタープライズ利用では商用サポートが必須
DockerやKubernetesはオープンソースの製品なので、無料で使える反面、何かトラブルや不明な点があっても自分たちで解決する必要があります。そのため明らかなバグがあっても、いつ修正されるかわからない状況に陥ることもしばしばあります。
非機能要件を満たすための他の管理製品の選定や管理まで考えると、運用側の負荷は覚悟しなければなりません。
商用製品なら、メーカーがソースコードの修正を含めたサポートを提供しています。
非機能要件を満たすための必要なツールをセットで提供するため、非商用製品と比べて現場での作業負担を大きく減らすことができます。
おわりに
「コンテナ技術は難しい」ということばかり強調した記事になってしまいましたが、一度使いこなせるようになれば開発者にとって大変便利なツールです。
技術者にとっては一から仕組みを組み上げていくことも楽しいことではあるのですが、商用製品の方が楽なことに間違いはありません。
マネージドサービスを使うと小さく始めることができるので、まず小さなモジュールからコンテナ化してみてはいかがでしょうか。
IBMではコンテナ技術の体験会もご用意していますので、ご興味がありましたらお気軽にご参加ください!
2020年 冬のDojoイベント
IBM Developer Dojoは、選りすぐられた人気のクラウドのコンテンツを学べる全12回のコースです。
クラウド初心者の方から新しい技術を学びたいと考えている上級者の方まで大歓迎です。
一部のコースだけの参加でも結構ですので、是非クラウド環境での開発を体験してみませんか?
詳細は、下記の関連リンクをご参照ください。
関連リンク
IBM Developer Dojo
https://ibm-developer.connpass.com/
IBM Cloud Pak for Applications
https://www.ibm.com/jp-ja/cloud/cloud-pak-for-applications
資料のダウンロードはこちら
フォームに必要事項をご記入いただくことで、
本製品の資料をダウンロードできます。
この記事の著者:中村英博
パートナー・アライアンス事業本部
ソリューションアーキテクト
日本アイ・ビー・エムでソフトウェアの技術面を中心にビジネスパートナー様の支援を行なっている。
以前はIBMソフトウェア全般を担当していたが、現在はコンテナ技術の提案支援を行うことが多い。最近手を動かすことが多くなり、苦しくも楽しい毎日を過ごしている。
DevOps Hubのアカウントをフォローして
更新情報を受け取る
-
Like on Facebook
-
Like on Feedly