#未分類
ZOZOTOWNがエンジニアを大量募集してまで作りたい「マイクロサービス」についてざっくり調べてみた

こんにちは。
最近友達の子供の成長記録をinstagramに投稿して家庭を感じている営業の秋山(独身)です。
 
もともとはお客様に提案するために登録してポチポチいじってみたのですが、楽しいですね、インスタ。特に若年層の人気が高いのもうなずけます。
さて、この間フォロアーからのいいね!をチェックしていたところ、以下のような広告を発見しました。

調べてみると、話題になっているようで以下の記事もみつけました。
https://netshop.impress.co.jp/node/4201
ふむふむ…モノシリックをマイクロサービス化ね…
全っ然わからん
 
というわけで、WEBの営業をしていながらIT用語が全く理解できないのは悔しいので、マイクロサービス化について調べてみました。
それに名前がかっこいいですしね、「マイクロサービス」。
※当記事は本当に概念をざっくり記載していますので、IT技術者の方の閲覧はお薦めできません。
 

「モノシリック」と「マイクロサービス」のちがいは?

 
「モノシリック」という言葉を調べると、下記のように出てきます。

モノリシックとは、一般的に「一枚板の」や「統制された」、「画一主義的な」などの意味を持つ英語である。
IT用語としては、単一の半導体基板上に複数の構成要素を一体のものとして集積したモノリシック集積回路や、OSのカーネルに必要機能を全て実装したモノリシックカーネルなどがある。

上記辞典には「マイクロサービス」は掲載されていませんでしたが、一枚岩の対比なので、「ばらばらな」、「点在した」、等がキーワードになりそうです。
そう思って「マイクロサービス」に関する記事を読み漁っていると、両者の比較でこのような画像が散見されます。

やはりキーワードは「一枚岩」と「点在」の違いで間違いなさそうです!(専門用語はわからなかった)
では、ZOZOTWONではなぜ一枚岩のサービスを点在させるのでしょう?
気になるところです。
 

「マイクロサービス」のメリットって?

 
先ほどの画像の記事には、「モノシリック」な構造のデメリットについて、下記のように記載されています。

  • 変更が容易ではないこと
  • スケーリング(性能・処理能力の向上のためにハードウエアなどのリソースを増強すること。)に柔軟性がないこと

 
要するに、「モノシリック」なサービスに於いて、部分的な変更をする場合でも「そのサービス全体の中の一部」として他の大部分にも密接に関係しているため、サービス全体の把握→変更箇所の抽出→変更作業のすべてで時間がかかってしまうということ。また、サーバー等の増強も然り。ということです。
マイクロサービス化は、先述の通り各機能が独立しているため、その問題を解決します。
先ほどと同じこちらの図で考えると、青のハートを変更しようと思った場合、青のハートが入った箱のみ変更を加えれば良いためです。

では、マイクロサービス化が有効なサービスって?(考察)

 
前章の「マイクロサービス」のメリットから、向いているサービスの条件を考えてみました。
まずは、サービスが大規模であること。
大規模であればあるほど、「岩」が大きくなるわけなので、細かな修正がしづらくなることが容易に想像できます。そのような場合には、マイクロサービス化が有効とはいえるのではないでしょうか。「マイクロサービス」の例について調べてみると、国内ではクックパッド、海外ではAmazonやeBayが出てきます。
つぎは、機能が多数存在し、複雑な場合。
先ほどの図では5色の表記でしたが、これが数百、数千になったときに「モノシリック」な状態だったら…図の修正で考えてもぞっとします。
 

終わりに

本記事は自分が調べながら「要するに・・・」と砕きに砕いて考えたものを文章化している関係で、専門化には逆に分かりにくい文章だったかもしれません。
私のように広告を見て「ん?」と思った方がいらっしゃれば、その方にざっくりと理解をしていただければ嬉しいです。

CONTACT

この度は当社へご興味お持ちいただき
ありがとうございます。
Webに関するお悩みございましたら、
是非一度お気軽にご相談ください。
平日10:00~19:00