クラウドネイティブ|知る×学ぶトレンド・イベント・セミナーレポート|クラウドネイティブ
クラウドネイティブ時代のエンタープライズシステムの創り方
不確実性な昨今、新しいIT技術活用へのシフトが企業の課題となっています。
常識を破壊する新しいイノベーションやサービスを生み出す企業の多くが、クラウドネイティブ技術を活用したデジタルトランスフォーメーション(以下、DX)を実践しています。
このクラウドネイティブ技術の採用や導入を検討する国内企業は、7割にものぼります。
一方で、クラウドネイティブ基盤の導入には、スキルレベルとサポートに機能性・適用幅を考えた選択が重要になります。
そこで本記事では、クラウドネイティブ技術の採用に不安や課題を抱えらえている方に向け、伊藤忠テクノソリューションズ(以下、CTC)の一万田真久氏がクラウドネイティブ技術の導入課題の解決手法について導入事例を交えて紹介します。
▼ 目的
・DXの実現に有効なクラウドネイティブ技術とは
・従来型エンタープライズ基盤とクラウドネイティブシステムのアーキテクチャの違い
・クラウドネイティブ技術の導入課題とは
・導入に向けたはじめの一歩
・クラウドネイティブ基盤を無理なく導入するための手法
・クラウドネイティブ基盤の導入事例
1. DXの実現に有効なクラウドネイティブ技術とは
クラウドネイティブとは、クラウドの利点を最大限に活用しつつ、拡張性や可用性に富む最適なシステムの構築を目指すことを指します。
クラウドネイティブを推進する団体「Cloud Native Computing Foundation(以下、CNCF)」は2015年にクラウドネイティブを以下の通りに定義しています。
- パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの最新の動的環境で、スケーラブルなアプリケーションを構築して実行する技術
クラウドネイティブ技術は、特定のクラウドの利用を指すものではなく、無数のオープンソースのプロジェクトの全般を指します。
クラウドネイティブ技術により、パブリッククラウド、プライベートクラウドやハイブリッドクラウドのような環境において、拡張性と可用性に富むアプリケーションの環境構築および実行が可能となります。
このアプローチの一例として、クラウドネイティブの技術要素には下記が挙げられます。
- コンテナ
- サービスメッシュ
- マイクロサービス
- イミュータブル・インフラストラクチャ
- 宣言型API
これらの技術は、回復力があり、管理しやすく、観測可能で疎結合なシステムを提供します。
また、堅牢な自動化と組み合わせることで、エンジニアは頻繁に、そして予想通りに影響の少ない変更を最小限の労力で遂行できます。
2. 従来型エンタープライズ基盤とクラウドネイティブシステムのアーキテクチャの違い
従来型のエンタープライズ基盤とクラウドネイティブには、下記の様な違いがあります。
- 従来型エンタープライズ基盤
- アプリケーションが開発されてデプロイされていた
- クラウドネイティブ
- コンテナを中心に無数の細かい基盤上(マイクロサービス)にアプリケーションを構成
- マイクロサービスの構成をとると、アプリケーション全体に影響を与えずに、部分的なアップデートが容易になるというメリットがある
- ネットワークやストレージ、運用・監視では、「自動化」や「自律化」という特長があり、クラウドネイティブの技術を使うと、それぞれのコンポーネントの中で自律的に自動的に管理されるため、運用のオペレーションも自動化できる
- セキュリティでは、インターネットが基本になるので、IDやパスワードの管理が非常に重要となる
以下に、従来型エンタープライズ基盤とクラウドネイティブシステムの違いを以下に示します。
図 1. 従来型エンタープライズ基盤とクラウドネイティブシステムの違い
次にクラウドネイティブ技術の一例として、従来型のVM(Virtual Machine)とコンテナの比較から、コンテナによる仮想化イメージについて解説します。
- 従来型のVM(Virtual Machine)
- カプセル化するものの中にゲストOSが必要
- ゲストOSのメンテナンスが定期的に発生
- 新しいアプリケーションを更新するためには、インフラのエンジニアと計画を立てる必要がある
- コンテナ
- アプリケーションに必要な構成要素のランタイムやソースコードのライブラリーなどをカプセル化できるため、アプリケーションのエンジニアが中心となって、新しいバージョンアップや変更を推進できる
図 2. コンテナによる仮想化イメージ
さらに、コンテナ活用には以下の利点を得ることができます。
- コスト合理化
- コンテナでは、基盤やミドルウェア構成のさらなる集約が可能
- 基盤を構築する工数を削減できる
- マイクロサービス型アプリケーションの開発が容易
- 回復力の向上
- Auto Healingによる高い回復力
- Kubernetesの機能を活用したシンプルなシステム構成
- アプリ品質の安定
- 休日や夜間に行っていたアプリケーションの環境構築が、日中に可能となる
- インフラのバージョンアップなどと切り離したアプリケーションの更新や展開が可能になる
図 3. コンテナ活用のメリット
3. クラウドネイティブ技術の導入課題とは
国内企業はコンテナの導入価値について、一定の理解を示しています。
その一方で、コンテナは新しい技術であるがゆえに、障害や想定外の問題が発生したときに「対応策はどうあるべきか?」という不安から、導入への課題を抱く企業も少なくありません。
多くの企業は「しっかりしたサポートを受けながら導入したい」と思うのは自明です。
また、「コンテナにおけるセキュリティがどうなるか」という不安の声もあります。
そして、データの管理においても「データが漏洩してはいけない、ロストしてはいけない」という安全性を、クラウドネイティブ技術ではどのようにできるのか課題を抱く企業もいます。
そこで一万田は、クラウドネイティブ技術の導入に向けたはじめの一歩として「コンテナ基盤のKubernetes(以下、K8s)を決めてはいかがでしょうか」と提案します。
4. 導入に向けたはじめの一歩
K8s(Kubernetes:クーバネティス)は、Dockerコンテナを利用するためのプラットフォームであり、CNCF(Cloud Computing Foundation)が開発を支援するオープンソース・ソフトウェアです。
CNCFが開発を推進するK8sは、多くの企業が参画し急速に発展しています。
ここでは代表的な下記について整理します。
- Vanilla Kubernates(オープンソース)
- CNCF Cloud Native Trail Mapに従い、独自に K8s を導入
- PaaS
- Amazon EKSのようなクラウドサービスが提供しているコンテナ基盤を活用して K8s を導入
- RedHat OpenShift
- 企業情報システム向けに作られた製品を利用して K8s を導入
それぞれの一長一短を表 3 に示します。
それぞれの要点を下記に示します。
- Vanilla Kubernates(オープンソース)
ライセンスコストは不要ですが、技術進化が早くて範囲が広大なので、内製で作り込んでいくとスキルを育てるための学習コストがかかる
- PaaS
- オープンソースほどではないものの、Kubernetesをきちんと理解するための学習コストがかかる
- サポートにおいてはクラウドベンダーの機能が利用できるので、ユーザーの責任範囲は限定的になる
- 機能性と適応幅に関しては、オープンソースよりは利便性は高いものの、あくまでもクラウドサービス上での利用が前提となる
- リーズナブルに使いたいとか、プライベートとパブリックを組み合わせたハイブリッド構成には不向き
- RedHat OpenShift
- オープンソースやPaaSのK8sと比較すると、スキルレベルの面ではリーズナブルに使える
- 優れたGUIや各種テンプレートが用意されているので、利便性は高い
- パブリッククラウドやプライベートクラウドにも適用できる
- プライベートクラウド上にRedHat OpenShiftを構成し、パブリッククラウドなどとハイブリッドで運用していくとなると、運用管理を個別に行うという課題は残る
こうした課題の解決策として、CTCは「C-Native」を提案します。
5. クラウドネイティブ基盤を無理なく導入するための手法
C-Native(シーネイティブ)とは、マルチクラウドやハイブリッドクラウドで、変化への対応に強いシステムを作りたいお客様に対するプロフェッショナルサービスです。
C-Nativeは、企業のDXを実現する上で必要となるクラウドネイティブ技術にフォーカスしたソリューション・サービスの提供を行い、前述で述べた課題に対して、次のような解決策を提供します。
図 4. クラウドネイティブ技術ノウハウを提供するC-Native
C-Nativeは、Kubernetesを中心としたクラウドネイティブ製品技術を活用し、総合的に企業のDX推進をサポートします。
CTCは、早くからオープンシフトの導入と運用の実績を積み重ねてきました。
これに加えて、RedHat社からオープンシフトの最新ナレッジを取り入れてサービスを提供します。
C-Nativeの主な強みは、下記になります。
- 効率化にもとづいたサービス提供
- 自動化・自律化など、回復力の高い技術・方法論の活用を通じて競争力を高めることで、提供するサービスの効率化、品質向上を目指す
- ベストプラクティスの提供
- CTC TSCなどでの検証・導入実績に基づいたベストプラクティス、マテリアルなどを駆使して、迅速なサービスの提供を目指す
- クラウドネイティブ技術・製品にフォーカス
- DXサービス創出を促進するために重要なクラウドネイティブ技術にフォーカスしたソリューション・サービスを通じて価値提供を行う
C-Nativeのサービスラインナップは以下のようなイメージとなります。
図 6. C-Native のサービスラインナップ
また、C-Nativeのサービス提供イメージは、以下のイメージとなります。
図 7. C-Native のサービス提供イメージ
また、C-NativeとRedHat OpenShiftが連携することで、図のようにクラウドやアプリケーションの差異を吸収し一貫性のある運用が可能になります。
図 8.マルチクラウドの運用課題も C-Native が解決①
混在するコンテナ環境も、C-NativeとRedHat OpenShiftの組み合わせにより解決できます。
図 9. マルチクラウドの運用課題も C-Native が解決②
C-Native の詳細については、以下よりご覧いただけます。
6. クラウドネイティブ技術の導入事例
さいごにクラウドネイティブ技術の導入事例について紹介します。
6-1. 統合されたコンテナ基盤上で、異なる複数のアプリケーションサービスを提供
株式会社オリエントコーポレーション様の「Web入会システム ASPサービス」では、統合されたコンテナ基盤上で、異なる複数のアプリケーションサービスの提供を実現しました。
クレジットカード各社が顧客獲得競争を繰り広げる中、同社は業界内での競争力強化を図るため、ユーザーエクスペリエンスに優れたカードの入会受付・割賦の申し込みなどを担う顧客向けWEBフロントシステムの構築や、新商品のWEBサイトを迅速・低コスト、かつセキュリティ面を担保したWeb入会システムの構築を検討しました。
同社より相談を受けたCTCは、迅速なアプリケーション開発・提供が可能なコンテナ技術を提案しました。
図 10. コンテナ技術を活用したWeb入会サービスサイト
コンテナ技術により得られた効果は下記の通りです。
- アプリケーションの開発効率が改善された
- メンテナンスによる停止がなくなり、サービスも向上
- 構築コストも従来型に比べて約1/3に低減できた
6-2. 製造業システム子会社におけるコンテナアプリ移行 PoC支援
製造業システム子会社におけるコンテナアプリ移行 PoC支援では、IBM Cloud で構築済みの対象アプリ/システムを、オンプレミス基盤に移行し、コンテナプラットフォーム上に動作できる環境を構築しました。
VMware vSphere®ベースでのオンプレミス基盤上にOpenShiftをインストールし、顧客によるOpenShift導入の内製化を視野にコンサルティングを行いました。
また、オンプレミスでの課題である永続ボリューム(Persistent Volume)を利用するために、OpenShift Container Storage(以下、OCS)を導入しました。
OCSの導入により、Object Storage、Block Storage、File Storageの利用が可能となりました。
図 11. コンテナアプリ移行 PoC支援
本件はKubernetesでコンテナストレージに対応している事例であり、OpenShiftでコンテナストレージを用いた新しいチャレンジでした。
6-3. 小売系サービス業のOpenShiftをバージョンアップ
最後は、小売系サービス業のOpenShiftのバージョンアップ提案です。
具体的には、TechnoCUVIC VP基盤上で稼働しているOpenShift3.9のEOSL対応のため、CTCはOpenShift4.xへのバージョンアップを提案しました。
図 12. OpenShiftをバージョンアップ
既存のOpenShift3.9環境と並行してOpenShift4.xを構築し、ネットワークレイヤー(LB)にて切り替えを行う手法で対応しました。
OpenShiftバージョン3と4では、インストール方式や設定方法が大きく異なるため、C-Nativeのインプリメントサービスにより短期間で高品質な環境を提供できました。
さいごに
クラウドネイティブ技術は、これからますます企業での導入が進むことが予想できます。
一方で、これまで解説してきたように、新しい技術の導入には不安もつきまといます。
そこで、CTCではC-NativeとRedHat OpenShiftの組み合わせによる解決を提案しています。
C-NativeはITのライフサイクルを支えるために、ライセンスの販売のみならず、構築や導入運用などを一気通貫で提供するサービスです。
マーケットインを素早く実行していくための手段として、クラウドネイティブ技術を活用を検討ください。
C-Native の詳細については、以下よりご覧いただけます。