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
-
製品資料
[ファインディ株式会社] AI利用率だけでは説明できない成果 開発組織の競争力を生む「開発資本」とは? -
製品資料
[ニュータニックス・ジャパン合同会社] AI活用を成功へ導く、シンプルで費用対効果に優れたクラウド基盤とは? -
製品資料
[ニュータニックス・ジャパン合同会社] マネージドKubernetesには限界も――メリットをフル活用する新たな選択肢とは? -
技術文書・技術解説
[ニュータニックス・ジャパン合同会社] 決断の日が迫る「vSphere 8」サポート終了問題 考慮すべきリスクと選択肢は? -
製品資料
[サイバーソリューションズ株式会社] メール誤送信対策のルールが肥大化 苦しむ情シスはどうすれば救われるのか?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
2
「アップグレードできないJava」をどう守る IBMとRed HatがAIで400件超修正
-
3
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
4
Copilot導入で陥る“目的化”の落とし穴 定着の鍵は「作り込まない」こと
-
5
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
6
kintoneで実践 製造業のための「見積もり管理」改善のヒント
-
7
「企業におけるAI導入検討度とIT投資優先度」に関するアンケート
-
8
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
9
「IoT通信環境の構築・運用」に関するアンケート
-
10
OpenAIやAnthropicでさえ制御不能 2026年夏「3大サイバー攻撃」の衝撃
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
4
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
5
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
6
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
7
「IT史に名を残すシステム障害」8選
-
8
Linux初心者でも知らないとまずい「RHEL」「SLES」の違いとは?
-
9
東大教授と考える、AI時代の「データ主権」「信頼性」「ガバナンス」の在り方
-
10
マンガで学ぶXDR/MDRのメリット、中小企業のセキュリティ強化になぜ有効か?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー