0
votes

I am new to Azure and tasked with identifying the right approach to take our on-premise asp.net core web application to Azure so that it is a multi tenant offering to customers.

With my research so far, it appears that I have the following options

  1. Make my web application a multi tenant SAAS application with data partitioning per tenant
  2. Make my web application a Azure AD protected PAAS offering that can be deployed to customers subscriptions using Azure Managed application.
  3. Containerize my solution (ACI/Dockers etc).

Q1: Is there anything called multi tenant PAAS application? All references I come across are multi tenant SAAS application.

Q2: I want to know if I am in the right direction and are there any books/references/documentation that can help me in this regards to solidfy my understanding.

Any help in this matter is highly appreciated.

Thanks,

2

2 Answers

1
votes

Is there anything called multi tenant PAAS application?

For multi tenant PAAS(Platform-as-a-Service) application,you can understand it this way:

each application runs in its separate space, meanwhile still sharing the compute, storage and network resources, as well as providing a complete separation of the security domain and application related data and processes.

I want to know if I am in the right direction and are there any books/references/documentation that can help me in this regards to solidfy my understanding?

Azure hosting for ASP.NET Core web apps,microsoft officially provides the following solutions:

  • App Service Web Apps

  • Containers (several options)

  • Virtual Machines (VMs)

App Service Web Apps is the recommended approach for most scenarios, including simple container-based apps. For microservice architectures, consider a container-based approach. If you need more control over the machines running your application, consider Azure Virtual Machines.

For detailed information, please check:here

Hope to help you.

1
votes

depends on many factors, some of most important ones being:

  1. number of tenants
  2. load spread over tenants (do you have roughly equal distribution of load over tenants or some tenants use app 10s,100s,... more intensively than others)
  3. security and data isolation (is there a security reason to have tenants separated by each having their own environment (domain, db, application instances)

your most straightforward starting point would be to go with app service & cosmos db as it can scale practically indefinitely. then, if/when you hit the wall because of your requrements (if you have some like in the list above) then you start from there.

It's a general answer, but it really depends on the nature of your application and the usage patterns/requirements.