
5.7
まとめ
91
立つ。最初のスクリプトがデータベースをロックすると、その他のスクリプトはデータベースがロック
されていることを知り、スキーマの更新を省略する。
*
†‡
マイクロサービスのデプロイ
マイクロサービスアーキテクチャ
*
は、大規模で複雑な環境への単純で安全確実なデプロイ
に特に適している。マイクロサービスの考え方は、アプリケーションの機能を分割し、ネット
ワークを介して互いに通信する独立にデプロイできるサービスにするというものだ。機能がク
リーンに分割され、インターフェイスが明確に定義されれば、再利用、共有がしやすいシステ
ムを作れる。
独立したマイクロサービスは、小さく、簡単にデプロイできるものでなければならない。そ
れぞれが疎結合で実装されていれば、ひとつのマイクロサービスに変更を加えても、そのマイ
クロサービスに依存するほかのサービスに影響を与えずにデプロイできる。しかし、マイクロ
サービスの考え方によるアプリケーションアーキテクチャは、高度なインフラ管理を必要とす
る
†
。マイクロサービスを使っている会社は、ひんぱんにビルド、デプロイされるサービスを
大量に抱えることが多い。
Amazon
の
e
コマースサイトは、
200
を越えるマイクロサービスで
実装されている
‡
。
Amazon
は、
1
日に数十、数百の本番デプロイを日常的に行っている。
マイクロサービスの数が
1
ダースに満たないような小さな会社でも、スタティックなスノー
フレークインフラストラクチャでこれらをメンテナンスし、デプロイしようとすれば苦労する ...