kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

AzureのPaaSのローカル開発環境まとめ

という投稿を読んで、昔からAzureというかMicrosoftのツールはローカルでのエミュレータや開発環境が提供されているので気にも留めていなかったのですが、AWSのLocalStackはコンテナーで一式あるので便利ですね。LocalStackで無償で使えるのは一部の機能で有償のProが必要になるケースもあるので、完全に無料でローカル開発ができるわけではないようです。

AzureのPaaSのうちローカルで開発するためのエミュレーターなどをあつめてみました。もともとWeb AppsはIIS(Express)があるし*1、SQL DatabaseもSQL Server (Express)やLocalDbで開発やローカルテストはほぼ問題なかったですし、さらに今はLinux版がありDockerコンテナー内で容易に動くようになりました。

自分の思いつく範囲で書いてみましたが、これは?とかあれば教えてください。

SQL Database

learn.microsoft.com

どの環境でも動かすならDockerが一番簡単です(Windows版SQL ServerのDockerコンテナー提供はなくなりました)。Developer EditionかExpress Editionで使えば無料です。

learn.microsoft.com

www.microsoft.com

Windows版はLocal DbかSQL Server Express, Developer Edtionをローカルインストールするしかないでしょう。Developer Editionの機能はEnterprise相当なので、うっかりStandardで使えない機能を使ってしまったとかないようにしてください。データベースのリストアができなくなります。

(追記)

learn.microsoft.com

現在プレビューですが、SQL Database Emulatorがあると教えてもらいました。知らなかった。ありがとうございます。

Azure CosmosDB

learn.microsoft.com

CosmosDBもエミュレーターがあります。

Azure Functions / Logic Apps

learn.microsoft.com

VS Codeおよび、Visual Studioで使えます。実際はストレージアカウントも必要になることが多いので、次のストレージエミュレータも入れてください。

Azure Storage

learn.microsoft.com

これ単独で使うことはあまりないのですが、Azure PaaSが前提にすることが多いので、入れないといけないことが多いですね。昔のエミュレーターはWindows専用でしたが、今はクロスプラットフォームのエミュレーターに移行しました。Visual Studioをインストールするときには昔のエミュレーターが追加インストールされますね。

API Management

learn.microsoft.com

面白いところではAPI managementもセルフホストゲートウェイがあります。もともとは直接イントラから出せないような要件向きっぽいですが。ただ、これ使ってローカル開発しているという人の話は聞いたことがないです。

IoT Edge

learn.microsoft.com

使ったことはないのですが、こういう感じでローカル開発できるそうです。

Stream Analytics

learn.microsoft.com

同上。使って開発したことはないです…。

Azure Machine Learning

learn.microsoft.com

OpenAIの陰に隠れたような気がしますが、こんな感じで環境作れます。Azureにはサイエンス用ということでこの辺がプリインストールされたVMもあります。

Azure Kubernetes Services

learn.microsoft.com

AKSというか、kubernetesであればmicro k8sとかminikubeとかそもそもローカルで開発するためのものも多く提供されているので、好きなものを選べばいいんじゃないでしょうか。

kubernetes.io

microk8s.io

(おまけ) Dev TonelとBridge to Kubernetes

learn.microsoft.com

まだプレビューのはずですが、直接接続できない環境でもデバッグできるようになります。

learn.microsoft.com

KubernetesをデバッグするときはBridge to Kubernetesを使うといいようですね。

*1:macOSには…IISないですね。