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
-
製品資料
[株式会社インターネットイニシアティブ] 人材不足と属人化が深刻に 「攻められない情シス」を変革する一手とは? -
製品資料
[株式会社イトーキ] 会議室が「空いてるのに使えない」問題の解決策とは? -
事例
[株式会社イトーキ] 製造現場を取り巻く経営課題 「持続的な現場力」を強化する方法とは? -
製品資料
[株式会社イトーキ] 社員の力を引き出す、「ABW(Activity Based Working)」を実現する秘訣とは? -
製品資料
[株式会社BREXA Technology] 「インシデント初動対応」が遅れる3つの構造的要因とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Active Directory」復旧で“詰む”企業が続出 ランサムウェアに備える4対策
-
2
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
3
なぜノートPCの更新が「4年→6年」に? AIインフラ急拡大の余波
-
4
企業が「Microsoft Azure」を選ばざるを得ない理由
-
5
「RAGは終わった」は本当か――ロングコンテキストが変えたこと、変えられないこと
-
6
「オフィス移転・刷新に伴うネットワーク環境の実態」に関するアンケート
-
7
「セキュリティ運用と侵入後の初動防御」に関するアンケート
-
8
“RAG is dead”は本当? AIエージェントが切り拓く「次世代RAG」と検索の未来
-
9
WiMAXとは何か――技術とアプリケーション
-
10
「Windows」の不要なファイルを安全に消して容量を空ける方法
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
AIが苦手な「汚いデータ」になっていない? AI投資を無駄にしないための注意点
-
3
急増する高度なフィッシング詐欺 先回りしてブロックするには何が必要?
-
4
法人向け光回線のプランはどう選ぶ? 機能面/保守体制/コストを一覧で比較
-
5
三井ホームに学ぶ「無線LAN環境」構築 快適なオフィスと高度なIT運用の両立法
-
6
SNMPより詳細で、パケット解析より簡単な「トラフィック可視化・分析」の方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
「RPA導入の成果が出ない」を防ぐ、成果につながる自動化対象業務の選び方
-
9
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
10
サイバー脅威「トップ50」完全解説ガイド、新たな攻撃手法に対抗するには
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー