We’re currently running our backend on Azure Web Services and are looking to switch over to Azure Kubernetes Service. Just wondering if anyone has experience doing this due to the fact that I am not able to find any resources online with clear instructions. There are a ton of configurations that are set up in the web app in Azure and I obviously don’t want to mess anything up.
I’ve tried installing Azure Migrate but it doesn’t find my application either due to the fact that that it’s in Azure Web Services.
2
Answers
Probably there are people which already did this. I won’t question the motivations, but can I ask, do you have K8s expert in your team? In order successfully run applications in AKS, you need not only a smooth DevOps process, but also infra/sec expertise.
Things like: limiting the amount of memory/cpu per container, specialized user to run the app with only the needed permissions, integration with Entra ID (former Azure AD), integration and proper usage of storage class, cluster monitoring, just to list a few…
I would say an easier move would be to first, containerize your application, then move to Azure Container Apps. If you figure out it’s not suiting your needs, then move to AKS, but it would be way easier since the app would be already running in containers.
Making the shift from Azure Web Apps to AKS can be a game-changer for your backend. I’ve been through a similar transition, so here’s a rundown of the process.
First off, you’ll want to containerize your .NET app using Docker. createa Dockerfile in your projct, specifying the image, working directory, and entry point for your app. Once done, build and push the Docker image to a container registry of your choice, like Azure Container Registry.
Now, onto setting up AKS. Create your AKS cluster either through the Azure CLI or Portal. Connect to the cluster using the provided command, and guess you are ready.
Next, deploy your app to AKS. Create a Kubernetes Deployment YAML file to define your app’s deployment configuration. Specify replicas, container details, and ports. you can use
kubectl apply
.Time to expose your app and update networking. Use a Kubernetes Service or Ingress controller to expose your app, and adjust DNS settings accordingly. If you’re using a custom domain, make sure to update it to point to the new AKS Load Balancer IP.