この記事みて、AWS Stack的なののAzure側にあるんかなぁ?と素朴な疑問でしたhttps://t.co/OXY4MtqPJ2
— NAKAMURA Atsushi (@nuits_jp) 2023年4月20日
という投稿を読んで、昔からAzureというかMicrosoftのツールはローカルでのエミュレータや開発環境が提供されているので気にも留めていなかったのですが、AWSのLocalStackはコンテナーで一式あるので便利ですね。LocalStackで無償で使えるのは一部の機能で有償のProが必要になるケースもあるので、完全に無料でローカル開発ができるわけではないようです。
AzureのPaaSのうちローカルで開発するためのエミュレーターなどをあつめてみました。もともとWeb AppsはIIS(Express)があるし*1、SQL DatabaseもSQL Server (Express)やLocalDbで開発やローカルテストはほぼ問題なかったですし、さらに今はLinux版がありDockerコンテナー内で容易に動くようになりました。
自分の思いつく範囲で書いてみましたが、これは?とかあれば教えてください。
SQL Database
どの環境でも動かすならDockerが一番簡単です(Windows版SQL ServerのDockerコンテナー提供はなくなりました)。Developer EditionかExpress Editionで使えば無料です。
Windows版はLocal DbかSQL Server Express, Developer Edtionをローカルインストールするしかないでしょう。Developer Editionの機能はEnterprise相当なので、うっかりStandardで使えない機能を使ってしまったとかないようにしてください。データベースのリストアができなくなります。
(追記)
SQL DB は SQL Database Emulator でもいいのかなとちょっと思いました。
— Masayuki Ozawa (@Masayuki_Ozawa) 2023年4月20日
現在プレビューですが、SQL Database Emulatorがあると教えてもらいました。知らなかった。ありがとうございます。
Azure CosmosDB
CosmosDBもエミュレーターがあります。
Azure Functions / Logic Apps
VS Codeおよび、Visual Studioで使えます。実際はストレージアカウントも必要になることが多いので、次のストレージエミュレータも入れてください。
Azure Storage
これ単独で使うことはあまりないのですが、Azure PaaSが前提にすることが多いので、入れないといけないことが多いですね。昔のエミュレーターはWindows専用でしたが、今はクロスプラットフォームのエミュレーターに移行しました。Visual Studioをインストールするときには昔のエミュレーターが追加インストールされますね。
API Management
面白いところではAPI managementもセルフホストゲートウェイがあります。もともとは直接イントラから出せないような要件向きっぽいですが。ただ、これ使ってローカル開発しているという人の話は聞いたことがないです。
IoT Edge
使ったことはないのですが、こういう感じでローカル開発できるそうです。
Stream Analytics
同上。使って開発したことはないです…。
Azure Machine Learning
OpenAIの陰に隠れたような気がしますが、こんな感じで環境作れます。Azureにはサイエンス用ということでこの辺がプリインストールされたVMもあります。
Azure Kubernetes Services
AKSというか、kubernetesであればmicro k8sとかminikubeとかそもそもローカルで開発するためのものも多く提供されているので、好きなものを選べばいいんじゃないでしょうか。
(おまけ) Dev TonelとBridge to Kubernetes
まだプレビューのはずですが、直接接続できない環境でもデバッグできるようになります。
KubernetesをデバッグするときはBridge to Kubernetesを使うといいようですね。
*1:macOSには…IISないですね。