今回はマイクロサービスについて社内勉強会を行ったので内容を共有。
僕はマイクロサービスというのを聞いたことはあるけど詳しくない状態でした。
なので色々調べつついきます!
マイクロサービスとは何なのか、逆にマイクロサービスの反対の意味を持つものは何なのかなど例にあげながら紹介していきます。
Table of Contents
マイクロサービスとは
事例つき!マイクロサービスとは?基礎知識からメリットとデメリットまでを解説
上記記事によると、マイクロサービスとは小さなサービス単位を互いに連携させるアーキテクチャとのことです。
僕の会社ではAWSを積極的に使っていくので、今後AWSを利用したマイクロサービスアーキテクチャを意識したアプリ構成にしていかないといけませんね。
ただ、これだとただの説明となるので、もう少し噛み砕いてみましょう。
通常であれば一つでまとめるところを、機能(サービス)ごとに分割するようにします。そして分割されたさまざまな機能(サービス)を合わせて使うことで、大きな一つのシステムに魅せるようなことを言います。
マイクロサービスの対義語は
では、逆にマイクロサービスの対義語となるモノは何でしょう。
それがモノリシックです。
モノリシックとは「一枚岩のような」という意味です。こちらはマイクロサービスとは違って分割されないサービスですね。
モノリシックの場合には一つで動いているので、ある機能の障害も他の機能に影響してしまうんです。
マイクロサービスにすることで、独立したサービスとして分割されているので、影響を最小元に抑えることもできます。
マイクロサービスとサーバレスの違い
サーバレスアーキテクチャとは、基本的にサーバ固有のリソースに依存しない。ということだと認識しています。
従来であれば何をするにしてもサーバが必要だったところが、サーバ関係なく利用できる構成のことを指します。
「サーバのことを考えなくて良い」ということなのかなと思います。
ということでAWSで言うとわかりやすいのが、Lambdaですね。
これはサーバが関係なく、関数を書くだけで起動できるということです。
「サーバを必要とせず、かつ時間による従量課金サービスではない。」ということでサーバレスですね。
マイクロサービスとサーバレスの違いは、マイクロサービスの中にサーバレスの概念があるという感じでしょうか。
親がマイクロサービス。その子にサーバレスというのがあるのかなと思っています。
ちなみにレンタルサーバとかは考え方的にはサーバレスなんじゃないかと思っています。
だって利用する側としてはサーバのことを気にしないで利用できるんで、その考えはサーバレスなんじゃないかと思います。
まとめ
マイクロサービスというのはどんどん広がってくるので、自分自身キャッチアップもしっかりしていかないといけないなと感じます。
また、マイクロサービスといってもAWSだけでもたくさんのサービスがあるので、使いこなすのって大変ですよね。
コツコツ自分で触りなががんばりましょう!