マイクロサービスの話

メイン記事

こんばんは!
一週間お疲れ様でした!
リモートになって椅子が変わり、早速腰が痛い!!ヤバイ!!

今日はマイクロサービスについて調べてみました。
自社でも取り入れられている手法で詳しく知っておきたいので、、。

マイクロサービスとは

マイクロサービスとはなんでしょう。

超小さいサービス。訳としては完璧です。

ただ、今回のマイクロサービスの意味は、超小さいサービスを組み合わせて作ったサービスという意味になります。

では超小さいサービスとは具体的にどんなものでしょう。

例えば、サイトの検索機能だったり、ログイン機能だったり、メール機能だったりします。

これらのサービスは多くのサイトに標準的にありますよね。それらを細分化し、独立したものがマイクロサービスです。

これまでのサービスはマイクロサービスと対象の言葉としてモノシリック(一枚岩)と呼ばれます。

もちろんそれぞれにメリットデメリットがありますが、モノシリックが流行っていたのは、マイクロサービス化するには高度な技術が必要だったからです。

サービスが独立するにはサービスごとにサーバーが要ります。要はパソコンがサービスの数だけ必要です。

でも今はVMやコンテナ技術が発達しており、仮想でたくさんのパソコンが用意出来るようになりました。

そういう意味ではどんどんマイクロサービス化していくのがこれからの流れかもしれませんね。

では具体的にどういったメリットがあるか簡単にご紹介します。

  • それぞれが独立したサービスのため、単一で機能する。
  • 小さいサービスを組み合わせて作るので拡張性がある。
  • 新しい大きなサービスも小さなサービスを組み合わせて作っていける。
  • それぞれのサービスを異なるプログラミング言語で書ける。
  • 同時に多人数で開発できる。

いいことづくめですね。ただし気をつけなければならないポイントもあります。

それぞれのサービスはAPIで通信し、まとめ役はESB(Enterprise Service Bus)が行います。

なのでサービス間の依存関係は一方向が望ましいです。
お互いに依存し合う構造の場合、他方に問題があると共倒れする可能性があります。

よって最初の設計を考える工程が非常に大切です。

また、まとめ役(ESB)が結局モノシリックという見方ができないわけでもないので、そこが崩れると全体に被害が及びます。

ESB自体は企業がサービスとして提供しているので、セキュリティや冗長性は信頼出来るところにしたいですね。

というわけで今日はマイクロサービスについてでした。

設計が難しいところもありますが、小さく作ってデプロイ、修正を繰り返していく手法はメリットも多いです。

上手く使いこなしていきたいものですね。

それではまた!

2021.1.15 ガオ

コメント

タイトルとURLをコピーしました