とあるIT屋の独白

ITや経営について主に書きます

マイクロサービスとサービスメッシュ

以前にマイクロサービスについて本ブログで取り上げました。その際に大きな一つのシステムを作るのではなく、サービス単位で適切に区切ってAPIの形式で提供するのが、マイクロサービスでやりたいことと書きました。
https://toaruit.hatenablog.com/entry/2017/07/09/234957

今回はマイクロサービスの運用について、主に取り上げてみたいと思います。

システムをサービス毎に分けること自体は全然良いのですが、その運用に際し課題が出てくるでしょう。特にサービス間の連携で複雑になると、どこから呼びだしたりしてるのかが管理困難になったり、エラーハンドリングがしにくくなっていくことが想定されます。実際に運用した事例で出た課題は、下記の記事にまとめられています。

【マイクロサービスを数年間実践して見えた課題とその対策】
https://www.techscore.com/blog/2018/11/12/microservice-architecture-style

課題のいくつかは、サービスメッシュを導入することで解決するかもしれません。サービスメッシュでは、リクエストのやり取りをプロキシを通して行い、そのプロキシがセキュリティだったりエラーハンドリングを行ったりします。

【サービスメッシュとは】
https://www.redhat.com/ja/topics/microservices/what-is-a-service-mes

サービスメッシュの機能が実装されたOSSで、「Istio」が下記の記事で紹介されています。APIの接続先も振り分けることができるみたいで、異なる結果を返すAPIでABテストとかもできそうですね。

【「サービスメッシュ」「Istio」って何? どう使える? どう役立つ?】
https://www.atmarkit.co.jp/ait/articles/1802/09/news015.html