もろもろ

もろもろ書いていきます。気軽にコメントください。

勉強中2

マイクロサービスアーキテクチャにおける各サービスを実現するための主要な方式としては、コンテナとサーバーレス (FaaS や BaaS) の2種類があるということを先程知りました。

www.publickey1.jp

azure-recipe.kc-cloud.jp

Azure では Azure Functions が FaaS (Function as a Service) となっています。
マイクロサービスではサービス毎に実現手段が自由ですので、コンテナで実現したサービスとサーバーレスで実現したサービスの両方があっても勿論 OK ですね。
サーバーレスの手軽さは非常に魅力的なので積極的に使っていきたいと感じていますが、後からコンテナへ移行する場合にクローズドに行えるのかどうかは気になるところ。 少なくとも、Azure Functions Proxy による REST API 化はやっておくべきですね。
とりあえず Azure Functions 触ってみます。

<2020/01/05 追記>

紛らわしいのですが、Azure App Service や Azure Kubernetes Service もサーバーレスに分類されている場合があるようです。

Azure でのサーバーレス | Microsoft Azure

サーバーサイドテクノロジーを隠蔽する意味でのサーバーレスではなく、サーバープラットフォームを隠蔽した PaaS をサーバーレスと呼んでいるようです。 (ググってみると実際 Azure に限らずこの分け方をしている場合がそこそこある模様。)
一方、Azure アーキテクチャセンターではちゃんと FaaS や BaaS を指しています。

docs.microsoft.com

いずれにしろ紛らわしいので、サーバーレスという言葉はあまり使わず FaaS や BaaS を使っていくのが良いかもしれませんね。 (しかし、FaaS や BaaS は他の XaaS と違って「サービス提供されるもの」ではなく「サービスによって包まれるもの」が "X" 部分に使われているので個人的には気持ち悪い。。。)