I'm totally new to Azure and overwhelmed by all the azure services. I have simple use-case and want to know what is the best (and cheapest option) to host this in Azure (it must be on azure).
Important: All Docker images are windows-based!
There is an Web Assembly / Webpage, build in a Docker image.
There are two Services. Maybe more in the future. Each service in a separate Docker image.
The hosting of the services should be scalable. But not high-scalable. It's enough if it can be scaled with a redeploy at night time.
There is also an NGINX Docker image for load balancing, routing and certificate handling.
The Web Assembly should have a Public IP Address. The services should be private and not accessible from the internet.
So, how should I deploy this in azure?
Any help is appreciated!
As mentioned in comments, you have different options. Option 1- Using AKS Option 2- like Azure App Service as Veverke mentioned.
How to choose the best option?
If simplicity and cost are your primary concerns, start with Azure Container Instances or Azure Container App Service and Azure Application Gateway or Front Door.
For applications that might grow in complexity, requiring detailed orchestration, scaling, and management, then Azure Kubernetes Service is the more suitable option.
Since you have Windows-based Docker images, you can use AKS with Windows Server containers. You can deploy your Web Assembly/Webpage and services as separate deployments in AKS, and use an NGINX ingress controller to handle load balancing, routing, and certificate handling. You can also use Kubernetes secrets to keep your services private and not accessible from the internet.
Similar example to demonstrate # How to host Microservices on AKS
Login to azure using
az loginCreate an ACR and connect to itbuild your docker image
Check your image using-
Tag and Push the image into your acr which you created above
Create your aks cluster
Once cluster is up, verify using
kubectl get nodesCreate your deployments and services accordingly.
in my case-
apply it using

kubectl apply -f <youryamlfilename.yaml>and now when you dokubectl get podsorkubectl get serviceYou see that AKS has successfully deployed your microservice. It also provides automated Kubernetes version upgrades and patching, easy cluster scaling, and a self-healing hosted control plane. It also offers cost savings by only charging for running agent pool nodes. With Azure handling the management of the nodes in your AKS cluster, you no longer need to perform many tasks manually, like cluster upgrades. Because Azure handles these critical maintenance tasks for you.