RockPaperScissorsLizardSpock icon indicating copy to clipboard operation
RockPaperScissorsLizardSpock copied to clipboard

Document Kubernetes Architecture

Open ErikApption opened this issue 4 years ago • 2 comments

The app is really cool and provides some good guidelines but any particular reason the app is using Kubernetes instead of the app service? Haven't gone through any particular metrics but usually App service deployments are more affordable than Kubernetes and will benefit from auto-scaling...

ErikApption avatar Jan 06 '20 18:01 ErikApption

Hello @ErikApption thank you for your comments about the app! We really appreciate it! Regarding your question about why we used AKS instead of an App Service, it's a great question, but we should start by explaining the micro-service architecture, we wanted to have independence in each service (front-end, language bots, game manager, etc) so those can scale by pods or nodes depending on the number of requests. Managing this requirement using App Service is more complex because you will need to have multiple App Services with multiple Service Plans and administrating that is way more complex that just using AKS (which handle all that complexity).

If this would be a monolithic application with just one container then definitely it will make sense to use an App Service rather to over-complicate the solution with AKS. Another great example you can find is the Tailwind Traders Website which is a single web app acting as a web client for the backend services running on AKS.

dsanchezcr avatar Jan 06 '20 21:01 dsanchezcr

Thanks @dasanagu - that's exactly what I was wondering. Any chances you could document a bit more the Kubernetes deployment of your application, esp with .net core? Quite curious to see the details of how how the .NET micro-services have been architected to scale on Kubernetes. A lot of it seem to be buried right now in the ARM template.

ErikApption avatar Jan 07 '20 16:01 ErikApption