巨大な単一アプリケーションからの脱却
マイクロサービスを運用する人がいつもぶつかる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
-
事例
[フォーティネットジャパン合同会社] 複雑化しがちな「SASE運用」 IT・医療・金融などの事例に見る導入成功の秘訣 -
製品資料
[フォーティネットジャパン合同会社] 「SD-WAN」導入で失敗しないための5つの重要事項 -
技術文書・技術解説
[フォーティネットジャパン合同会社] VPNの代替候補「ZTNA」を理解できるようになる“3大要素”とは? -
事例
[フォーティネットジャパン合同会社] すぐ分かる「SD-WAN」選定のポイント 成功企業はどんな成果を出した? -
製品資料
[SCSK株式会社] 「Dropbox」管理・運用の困りごと解決ガイド
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
Microsoft月例パッチ1400件超で過去最多 「限界点」を迎えたパッチ管理
-
2
「エージェントを作るな、スキルを作れ?」 Anthropicが提唱するAI運用の勘所
-
3
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
4
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
5
被害額は過去最高額 それでも「サイバー犯罪者が捕まらない」3つの理由
-
6
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
7
みずほ証券が「液冷サーバ」を採用 1日3.6億件の計算を支えるための要件
-
8
Microsoft 365の「テナント統合・分離」問題 手戻りのない道を選ぶ秘訣とは?
-
9
「有線LAN環境」に関するアンケート
-
10
いまIBM iエンジニアが直面する「5つの技術的課題」とその解決策
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
7
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「標的型攻撃メール」事例・サンプル集
-
10
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー