こんにちは。
採用担当の林下です
前回、マイクロサービスについて簡単にご紹介しました(詳しくはコチラ)が、今回は、マイクロサービスのアーキテクチャ(前編)についてです。
まず、アーキテクチャとは、「どういう構造にするか」を決めることです。
イメージとしては、こんな感じです。
アーキテクチャ≒建築様式
システムの建築様式の様なもの。(論理的構造)
では、マイクロサービスのアーキテクチャとは
例えるなら、「都市計画」
モノリシック
→建物の建造計画
→1つの大きなものをどう立てるか
マイクロサービス
→都市の建設計画
→小さい複数のものをどう繋げるか
都市計計画と言えば、
シムシティというゲームがありますよね。
都市育成シミュレーションゲームで、プレイヤーが市長となって土地を整地したり、家を建てたり、発電所を作ったりして町を作ります。
このシムシティでマイクロサービスのアーキテクチャを体験してみました
・できるだけ各区画を独立させるように設計
・様々な情報源から情報を取得し、活用
・将来の用途を考慮し、現在のニーズにも最適化
・現在の状態に最適化、必要なら変更を繰り返す
結果、やってみると結構難しい・・・
最初は順調ですが、市民の要望に応えていくとどんどんモノリシックに。
変更しようにも周りはすでに開発されている。
交通渋滞が半端ないけどどうすることも出来ない
このように最初からマイクロサービスを始めるのは難しいんです。
最初は、必ずモノリシックから作り、そこから分割していく。
急に進めるのではなく、ゆっくりしっかり検討することが重要なんですね
指標は色々あり、例えば、「2週間で作り直せるモノ」、「昨日を担当するチーム単位」、「業界の境界」など。
完璧な指標はないので、その場その場で検討する必要があります
この続きはアーキテクチャ(中編)でお楽しみに
少しでも興味を持っていただきましたら、お気軽に説明会お越しください
交通費も補助します!