<p>Requirement: Cost optimization on Cloud resources</p>

<p>Current Scenario: I am having multiple applications that have their own infrastructure on consists of App Service, MySQL database, function, etc.</p>

<p>Considering these applications will be used by a few people.</p>

<p>My thinking is: 
 Containerizing all these web applications' servers</p>

<pre><code> 1. Use a VM to deploy all the servers
 2. Use a Container Instanceto deploy all the servers
 3. Use Kubernetes Services to deploy all the servers
</code></pre>

<p>Questions: Which approach would be preferable and so that I can expose different IP of servers and map it to its own domain.</p>

<p>For Database, 
  Apart from using Elastic Pool, 
  I have no idea how to optimize these databases</p>

<p>I would be glad to have any suggestions thanks.</p>

Vivek Kumar
<p>AKS would be the way to host everything on the same platform and cut costs, but at the same time you'd need to maintain everything you host in AKS.</p>

<p>Elastic Pools do not work for MySQL (only Azure SQL). But you can host MySQL in AKS. To replace functions in AKS you can use <a href="https://learn.microsoft.com/en-us/azure/azure-functions/functions-kubernetes-keda" rel="nofollow noreferrer">KEDA</a>. You'd be able to use host based routing (preferably) or IP based routing to expose your services</p>
