Computer Weekly導入ガイド
マイクロサービスとコンテナによるビジネスの変革
コンピューティングはこの数年で進化し、アジャイルな仕組みに重点が置かれるようになった。DevOpsとマイクロサービスが、いかにITアーキテクチャを進化させているかを紹介する。
コンピューティングの歴史は、エンタープライズITアーキテクチャにおける一連の劇的な変化によって区切られている。
高度に統合されたモノリシック型アプリケーションは、統合型のソフトウェアスタックとn層アーキテクチャへと移行した。分散型コンピューティングは何度も変化している。アプリケーション間通信を標準化する試みは、UNIXのリモートプロシージャコール、分散型オブジェクトモデル、コモンオブジェクトリクエストブローカアーキテクチャ、Webサービスなど、複数の取り組みが進められてきた。その全てがコード再利用の促進を試み、APIの公開と共有を行って「車輪の再発明」を避けようとしている。
2000年半ば以降は、サーバやJavaアプリケーションサーバでJavaScriptが成長したおかげで、サービス指向アーキテクチャ(SOA)が新たなエンタープライズインテグレーションの筆頭に浮上した。この分散型コンピューティングの青写真は、クラウドネイティブコンピューティングの時代が到来する前に設計された。クラウドを取り入れた企業は、コンテナおよび緩い組み合わせのマイクロサービスを中心とする概念に基づき、全く異なるアプローチを採っている。
現在は「Docker」と「Kubernetes」の成功のおかげで、コンテナ導入に目を向ける企業が増えている。このアプローチに人気があるのは、これが企業にとってデジタルトランスフォーメーション戦略の即戦力となり得るクラウドネイティブアプリケーション開発の助けになるためだ。
Forrester Researchの報告書「Now Tech:Enterprise Container Platforms, Q2 2018(2018年第2四半期のエンタープライズコンテナプラットフォーム)」は、次のように指摘している。「コンテナ中心型でマイクロサービス指向の、動的に連携するクラウドネイティブ技術は、企業が高度に差別化されたアプリやサービスを開発し、素晴らしいカスタマーエクスペリエンスを創出する一助となる。これがデジタルビジネストランスフォーメーションの重要な要素となっているのは、ソフトウェアデリバリーの高速化やスケールと耐久性、柔軟性および実装の向上が約束されることによる」
コンテナ化に伴うアジャイルへの移行
この報告書では、主要なエンタープライズコンテナプラットフォームの一つとして、「Red Hat OpenShift」を取り上げている。同製品を事業のデジタル化のために使っている企業の一つに、グローバル情報分析企業のElsevierがある。
他の組織と同様に、ElsevierもSOAからスタートしてソフトウェア開発のアジャイル化を進める手段としてコンテナを利用した。
Elsevierのソフトウェアエンジニアリング担当ディレクター、トム・ペリー氏によると、同社は従来型のSOAからスタートしたが、これはあまり同社の支えにはならなかった。「私が2015年に入社した当時、Elsevierは中途半端なSOAを使っていた。これはあまり構造化されておらず、しかもプロプライエタリだった」
そのためElsevierのソフトウェアチームが再利用可能コンポーネントを開発するのは難しく、それが変化のペースを鈍らせる原因となった。「われわれが使っていたのは、何でも屋的なモノリシックアプリケーションだった。それに順応しようとするたびに大きな動きになった」とペリー氏は振り返る。
当時、同社はコンテンツの販売からコンテンツに乗せたサービスの販売へと切り替える過程にあった。ビジネスの転換と同時に、ElsevierはITに対するアプローチも転換させ、データセンターを閉鎖してAmazon Web Services(AWS)のクラウドに移行した。
ペリー氏はビジネスの進化に対応できるアーキテクチャを望んでいた。「われわれは、アプリケーションが相互にどう通信するかに目を向ける代わりに、エンドツーエンドのビジネスプロセスを横断するデータアクセスを求めた」。Elsevierはこれを達成するために、社内のシステムとSalesforceのようなSaaSの緩い組み合わせを必要とした。
コンテナプラットフォームが継続的に進化することを前提として、ElsevierはSOAからハイブリッド性の強いコンテナアーキテクチャへの移行に着手するため、「Red Hat Fuse」を試した。だが「物事が向かう方向性は見えたものの、この技術はエンタープライズにとっての十分な成熟とは程遠かった」。
この技術の継続的な進化に合わせて、Elsevierも多くのことを学習する必要があった。コンテナの導入を試みた経験から学んだ教訓の一つは、APIとサービスを公開することにより、多大なセキュリティ対策が求められるということだった。「セキュリティは切り離すべきだった」とペリー氏は言う。
Red Hat Fuseがうまくいかなかったとすれば、他に何ができるのか。Kubernetesを使ってエンタープライズクラウドプラットフォームを構築することも可能だが、Kubernetesはコア部分にすぎないとペリー氏は言う。Elsevierは単体の製品を望み、結果として「Red Hat OpenShiftContainer Platform」を選定した。「われわれは自分たちのコードをピックアップして、それを別のプラットフォームに導入できるオールインワンプラットフォームを手にした」(ペリー氏)
同社はまず、この新しいプラットフォームをマーケティングと広告システムに利用した。両システムともそれまでは、オンプレミスソフトウェアとSaaSを使っていた。この構成についてペリー氏は、「企業データへのアクセスを提供し、将来的な再利用のためにAPIでセットを公開することに目を向けた」と説明する。
Red Hat Fuseと違って、このアーキテクチャはコンテナで稼働するマイクロサービスをベースとしていた。ここではロジック機能しか実行しないことから、追加的なセキュリティについて心配する必要はない。「われわれはAPIゲートウェイを利用してセキュリティを管理しているので、サービス側でセキュリティの心配をせずに済む」とペリー氏は言い添えた。
学ぶべき教訓
APIにセキュリティを組み込む経験を経て、コンテナはあらゆる種類のアプリケーションやワークロードに適しているわけではないとペリー氏は判断した。「コンテナの利用が必ずしも正しい選択とは限らない」
コンテナを使うべきではない事例には、モノリシックなコードを伴うアプリケーションサーバやデータベースサーバをコンテナで運用しようとする場合などが含まれる。ペリー氏によると、そうしたモノリシックアプリケーションを重量級のサービスとしてコンテナ化しようとしても、大きなメリットはない。
Elsevierがコンテナから得たもう一つの教訓は、社内のあらゆる部分がクラウドネイティブコンピューティングに対応できるわけではないということだ。アジャイルの開発メソッドは、アプリケーション開発に対するクラウドネイティブアプローチと関連付けられることが多い。
Elsevierは一部の開発プロジェクトでアジャイルアプローチを使い始めたものの、「組織の中でもスピードは異なる。アジャイルに対応できるサービスもあれば、『Oracle E-Business Suite』のように対応できないものもある」とペリー氏は言い添えた。
ITにとってはコストの割り当ても問題となる。ペリー氏は自身の経験から、「共有される機能を横断する統合の領域において、コストをどう分配すべきなのかという問題はまだ解決できていない」と話している。
コンプライアンス上の課題
DevOpsは一般的に、アジャイルソフトウェア開発の手法と併用され、チームにはコードを迅速に開発してデプロイする自由が与えられる。だが貸金サービス企業WorldRemitのクラウドサービス信頼性エンジニアリング責任者、ジョナサン・ホチキス氏によると、マイクロサービスを実行しているコンテナで構築されたクラウドネイティブアーキテクチャでは、スピードとアジャイル性がリスクを伴うこともある。
マイクロサービスを使ってサーバレス決済システムを構築している同社は、全体の状況を把握するのがますます難しくなった。「うまくやらなければ、DevOpsではシステムが構築されたまま忘れられたり、クラウドを使ってコードがその能力を超えて拡張されたりして、資金が浪費される」とホチキス氏は言う。結果的に、開発されたコードは効率的な拡張ができなくなる。
ホチキス氏によると、同社の元々のプラットフォームはモノリシック型データベースを使った従来型のWeb電子商取引アーキテクチャとして始まった。「これは拡張性の面では最善のアーキテクチャではなかった。そこでパーツを取り出し、『Microsoft Azure』を使ってマイクロサービスとして開発した」
残念ながら、WorldRemitは開発したマイクロサービスの一部をドキュメント化できなかった。その一因はチームの文化にあった。同社のソフトウェア開発チームは短期間の編成で、チームの存続期間は18~24カ月だった。「全てのマイクロサービスについて完全に把握しているチームは一つもなかった。それがどう機能するのかも分からなかった」
そこでWorldRemitはダッシュボードの一元化を提供する「Dynatrace」を選定した。このダッシュボードはAI駆動型のトポロジーを提供し、システムの全コンポーネントを参照できる。「どこかに不具合があると、何がうまくいっていて何がうまくいっていないのかがDynatraceでハイライトされ、障害が起きた理由についてインテリジェントな答えを与えてくれる」とホチキス氏は言う。
コンプライアンスとDevOpsチームが効率的に働く自由を与えることのバランスは、常に課題となる。
WorldRemitが経験したように、例えばチームの作業を確実にドキュメント化させるといったある程度のコントロールがなければ、クラウドネイティブアーキテクチャはたちまち管理不能に陥る。
会社のルールや手順やポリシーを厳格に徹底させると柔軟性が制約されかねない。だが、ベストプラクティスコミュニティーを使って望ましいツールやフレームワークの使用を奨励する方がうまくいくこともある。
Porsche Informatikはベストプラクティスを推進する技術者のコミュニティーを設置し、そのベストプラクティスをDevOpsチームにフィードバックした。Porsche Informatikは自社のツールがDevOpsチームにとっての第一の選択肢となるよう、できる限り使いやすくすることに努めた。
クラウドネイティブ化
調査会社RedMonkの共同創業者ジェームズ・ガバナー氏は、英ロンドンで開かれたイベントで講演し、クラウドネイティブアーキテクチャがアプリケーションのデバッグ方法をどう変化させるかを紹介した。「アプリケーションは効率的に管理できるように開発しなければならない。われわれは、プロダクションにおいてデバッグしなければならない環境に移行しつつあり、そのためには観察できることが求められる」とガバナー氏は言う。同氏によると、プロダクションコードの問題に対応するため、トレース、ログ、アプリケーションパフォーマンスモニタリングが活用されているという。
英Computer Weeklyが話を聞いた企業は、サーバレスコンピューティング、マイクロサービス、コンテナ、DevOpsの世界の中で、どう開発するかを学んでいるようだった。ガバナー氏が正しければ、さらに多くの企業がライブプロダクション環境を横断するコードのテスト開始に適応する必要がある。
WorldRemitが経験したように、ビジネスではマイクロサービスがどう進化しているかを見極める必要がある。開発者が採用するツールやプログラミング言語やフレームワークは個人的な選択になるかもしれないが、Porsche InformatikのようにDevOpsチームのメンバーがベストプラクティスに関わることは、プロジェクトで推奨される標準やツールを固める一助となり得る。関連記事
https://techtarget.itmedia.co.jp/tt/news/1912/19/news03.html
「Kubernetes as a Service」とは何か
https://techtarget.itmedia.co.jp/tt/news/1904/18/news02.html
Kubernetesベースのディープラーニング環境「Nauta」
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
新着ホワイトペーパー PR
-
比較資料
[セコムトラストシステムズ株式会社] 「自社に合うEDR」はどれか分かる? 比較・検討時の見極めポイントを解説 -
製品資料
[アルプス システム インテグレーション株式会社] まだ社内で眠らせたまま? AI活用の糧となる「データ資産」を有効利用するには -
市場調査・トレンド
[AvePoint Japan株式会社] “SCS評価制度”対応の第一歩、自社環境と要求事項とのギャップを把握する方法 -
製品資料
[株式会社BREXA Technology] 情報整理の自動化でインシデントの初動対応を効率化、AIエージェント活用のコツ -
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
2
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
3
Claude Codeでは「エージェントを作るな、スキルを作れ」 Anthropicが示すAI構築術
-
4
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
5
VMware離れの決め手は“機能”以外だった 情シス109人が選んだ新基準と死角は
-
6
「データストレージの活用方法」に関するアンケート
-
7
「ERP(統合基幹業務システム)の導入・活用」に関するアンケート
-
8
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
9
「ITインフラとデータ保護・バックアップ対策」に関するアンケート
-
10
「IBM i(AS/400)はクローズドなシステム」という誤解 DXに寄与する一歩
ホワイトペーパーランキング PR
-
1
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
2
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
3
バックアップは“取っているから大丈夫”なのか? ランサムウェア時代の備え方
-
4
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
5
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
6
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
7
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
8
ソフトウェア開発の属人化と手戻りをどう防ぐ? 速さと品質を両立させる方法
-
9
AI活用を停滞させる「2:6:2の壁」を乗り越えるためのポイントとは?
-
10
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー