DXに求められる要素として、アジャイル・DevOpsの他に「クラウドネイティブ」がある。今回は、クラウドネイティブとは一体何か・従来のアプリケーションと異なる点、DXとの関係について解説していく。
クラウドネイティブとは、アプリケーションやサービスをクラウド環境で構築・運用するアプローチである。クラウドコンピューティングの最大の利点となる柔軟性や拡張性・自動回復を活かして構築されたアプリケーションを「クラウドネイティブアプリケーション」と呼ばれている。
クラウドネイティブによって、迅速なアプリケーションの構築・デプロイ・頻繁なリリース・効率的な管理を実現ができる。顧客ニーズに対して柔軟な対応が可能になり、顧客満足度の向上・ビジネス成長と競争力強化につなげられるのである。
クラウドネイティブで得られる効果は、DXの実現に求められるスピード・柔軟性、ビジネス成長の達成といった要素につながっており、DX実現にはDevOps同様に必要といえる。
オンプレミス環境からシステムをクラウド環境に移行し、運用している企業は多いだろう。しかし、ただクラウド環境に移行することがクラウドネイティブではない。オンプレミスに適した従来のアーキテクチャーとは異なり、モノリシックなアプリケーションではなくクラウドネイティブアプリケーションとして構築・運用が求められる。
モノリシックなアプリケーションとマイクロサービスのイメージ
モノリシックなアプリケーションは、単一のコードベースアプリケーション全体が一つの大きなブロック(モノリシック)として開発・運用される。そのため、新しい機能追加や変更が複雑で時間がかかり、一部の障害やエラーが全体のアプリケーションに影響を及ぼす可能性や拡張性に欠けるという問題がある。
モノリシックなアプリケーションの制約や課題を克服するために、クラウドネイティブアプリケーションでは「マイクロサービス」が重要となる。
マイクロサービスとは、アプリケーションをそれぞれ管理しやすくなるように小さく独立した複数のサービスで構成することである。単一アプリケーションで全ての機能を提供するモノリシックに対して、マイクロサービスでは、複数の分離したアプリケーションで構成され、ネットワーク上でお互いにやりとりを行い、一つのサービスとして提供する。アプリケーションが複数の小さなマイクロサービスに分割され、それぞれが独立して開発・展開・スケーリングできることによって、各マイクロサービスの変更やアップデートが容易になり、柔軟性や可用性が向上するのである。
クラウドネイティブアプリケーションの開発では、マイクロサービスだけではなくコンテナ化・CI/CD・Kubernetes(オーケストレーション)といった技術要素も重要なポイントである。加えて、アジャイル手法やDevOpsなども組み合わせてクラウドネイティブ化を実践することが多い。
クラウドネイティブの達成には、開発と運用チームの密な連携が必要不可欠となっており、DevOpsを取り入れることで開発者と運用チームが連携・迅速なアプリケーションのリリースと運用を実現できるのである。
推進していく上での課題は、どこからクラウドネイティブを進めたら良いのかということがある。クラウド用の新しいアプリケーションを構築するか・既存のモノリシックなアプリケーションをマイクロサービスに分割して、クラウド環境に適したものにすることが考えられる。クラウドネイティブの推進には、従来のシステム・開発手法に固執するのではなく、新しい技術の採用やアジャイル手法を取り入れなければならない。そのためには、組織文化の変革・考え方の転換・クラウドネイティブ人材の育成も必要となる。
組織の変革・考え方の転換という点においてもクラウドネイティブとDevOps、そしてDXは密接に関連している。DXの実現にはクラウドネイティブは重要要素であり、クラウドネイティブの採用についてアジャイル手法やDevOps同様に考えていかなければならない。クラウドネイティブを推進していくことは、DXの実現に向けた重要な1歩になるだろう。
■執筆者プロフィール

河上珠枝(カワカミ タマエ)
SB C&S ICT事業本部技術本部
テクニカルマーケティングセンタービジネス開発課
サービス業・小規模システム開発会社にてプリセールス・カスタマーサポート・プロジェクトマネジメントなどを経験し、2019年にNUCBでMBAを取得。2021年よりSB C&SにてDevOps・クラウドネイティブに関する製品・サービスに関する提案・プロモーション活動や新規事業などの事業開発に携わる。