巨大な単一アプリケーションからの脱却
マイクロサービスを運用する人がいつもぶつかる9つの課題
モノリス(巨大な単一アプリケーション)を細かく切り分けることは優れた判断である一方、マイクロサービスのアプローチは慎重に実施しないと共通の問題に行き着く。本稿では、こうした共通の課題を9つ紹介する。
コンテナにマイクロサービスを配置しようと考えているIT部門もいるだろう。マイクロサービスは、今後のオープンかつフレキシブルなITシステムの構築に向けて非常に有望な技術だ。
マイクロサービスのアーキテクチャでは、1つのコンテナ内に一連の関数をカプセル化し、そのコンテナを複数の複合アプリケーションで使用できる。だがマイクロサービスには、企業にとって共通の課題が幾つか存在する。本稿では、マイクロサービスの導入における9つの課題を取り上げる。
1.粒度
大規模な単一アプリケーション(モノリス)の時代は終わりに近づいている。モノリスの特定部分を素早く強化ないし交換するのに企業は四苦八苦している。交換可能かつプラガブルである小規模なプログラムブロックを利用するほうが理にかなっている。だが企業はまずそのプログラムブロックについて、適切な粒度のレベルを見つけなければならない。細かく分け過ぎると、複合アプリケーションの動作が遅くなる。ネットワーク経由の呼び出しを処理しきれなく可能性があるためだ。大き過ぎると振り出しに戻り、大きなプログラムブロックについて再度マイクロサービスの課題が生まれることになる。
2.オープン標準
独自のアプローチを採用した結果、それに縛られ身動きできなくなっている企業は少なくない。マイクロサービスを再利用するには、全ての外部インタフェースが必ずオープン標準に従う必要がある。
オープン標準はデファクトスタンダードだ。大半のIT担当者は厳格な規格を採用している。ここでいう厳格な規格とは、人々が集まって議論し、IEEE(米国電気電子学会)標準・IETF(インターネット技術特別調査委員会)標準・ISO(国際標準化機構)標準として発行されたものを指す。誰も採用していない規格では意味がない。
独自のアプローチは、運用全体に影響を与えることなく的確に役割を果たすため、注意を払いながら利用する限りは役に立つ。ただし独自のアプローチの利用はマイクロサービス内だけに限定する必要がある。マイクロサービスが外部環境と連携する場合はできる限り標準化されたものを利用すべきだ。戦略的な理由から、外部インタフェース内で独自の専用ソフトウェアを利用する場合は、マイクロサービスコード内やバックアップ用のドキュメントに必ずその理由を明確に記載する。
3.疎結合
企業でサービス指向型アーキテクチャがうまく機能しなかった理由は、ハードコーディングしたモノリスをハードコーディングした連結済みのサービスに置き換えたためだ。機能しなくなったリンクを新しいリンクに置き換えなければならなくなるため、必要に応じてサービスを別のサービスに置き換えるのが困難になる。最新のマイクロサービスでは、XML(Extensible Markup Language)などの手段を利用してサービスを自由に呼び出し、オープンな方法で応答を取得できるようになっている。
4.移植性
マイクロサービスはプログラムに移植性があり、必要なリンクを内包できることから、ハイブリッドクラウド環境に適する。例えば普遍的な用途には安価なパブリッククラウドを最大限に活用し、頻繁に使用する機能は手近な場所に戻してパフォーマンスを向上させたいと考えたとする。その場合、複合アプリケーションのうちパブリッククラウドに設置する部分は、このワークフローを理解した上でマイクロサービス内の変化に順応できるようにしなければならない。共有されるコンポーネントが多くなると、マイクロサービスの課題も多くなる。そのため、全体のアーキテクチャは移植性を視野に入れて設計すべきだ。
5.機能の規則書
開発者はめったに機能を変更しない。機能の変更には追加開発が必要になると考えるためだ。マイクロサービスの考え方として、プログラムは必要な場合にのみ記述し、開発費用に見合うようにできる限り再利用するという大前提がある。従って開発者には、利用可能なマイクロサービス、各マイクロサービスの機能、マイクロサービスの利用条件を把握するため、十分な情報を提供する規則書が必要になる。管理者にとっては、開発者がマイクロサービスを利用する方法を監視し、最適な利用を促すことも必要になる。
6.フィードバック
その本来の形態から、マイクロサービスは1回限りの利用に理想的だ。しかし次に利用する開発者が不足を感じる可能性がある。元のマイクロサービスを入れ替えるのではなく変更できるように、開発者のニーズを理解し、それに従って行動することが重要だ。
7.使用状況の監視
マイクロサービスの課題は雪だるま式に急増する。管理者は環境全体でのマイクロサービスの使用状況を継続的に監視しなければならない。あまり利用されていないマイクロサービスにフラグを付け、そのサービスがまだ必要かどうか、別のマイクロサービスを利用できるかどうかを担当開発者に確認する必要がある。利用されていないマイクロサービスは停止して、利用可能なライセンスを探すようにする。
8.更新とパッチ
マイクロサービスが完璧だという考えに決して陥ってはいけない。全てのマイクロサービスが更新とパッチを受け取るようにしなければならない。その後、DevOps(運用開発)やオーケストレーションシステムに統合する。
9.リソースの伸縮性
共有される回数が多いマイクロサービスは、特定のサイズに合わせて記述ないしプロビジョニングすると適切に機能しない。十分なリソースをリアルタイムにプロビジョニングし、マイクロサービスの要件を満たすようにする。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
4
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
7
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
8
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
9
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
10
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー