ソフトウェア開発の世界に関わる人なら、間接的はであっても、「マイクロサービス」という言葉を聞いたことがあるはずだ。しかし、これは一体どのようなものなのだろうか。
かつて、アプリケーションはモノリシックアーキテクチャーで開発されていた。つまり、すべての依存関係、サブルーチン、ライブラリー、必要なコードスニペットを、アプリに直接組み込む必要があったということだ。これらの要素のどれか1つに問題が発生すると、アプリケーション全体がクラッシュして停止する場合もある。
モノリシックなソフトウェアの問題は、それだけではない。単純なアップデートのために、ITチームが何時間もかけてデータソースを再接続し、クライアントへのアップデート適用を確認して、少量の新しいコードが予期せぬ場所で引き起こす不測の問題に対処しなければならない場合がある。
要するに、ソフトウェア開発で長らく問題となっていたのは、すべてを1カ所でプログラミングしなければならないという点であり、そのためのソフトウェアアーキテクチャーのスタイルは、現代のクラウドベースのコンピューティングのニーズに対応しない。これに代わる開発手法が、マイクロサービスアーキテクチャーだ。
どんなものなのか
マイクロサービスアーキテクチャーは複雑だ。IBMなどの企業がマイクロサービスについて説明した記事やブログ投稿の多くでは、マイクロサービスの単一の定義を決めるのは難しい、という主張がなされている。
残り本文:約5578文字 ログインして続きを読んでください。