Earlier this week I passed the AZ-900 Azure Fundamentals exam. I am genuinely relieved I did, and here’s why. I’ve been in the field for several years. Heck, I even wrote my master’s thesis on cloud computing. I’ve used Azure for years, mostly for development purposes but weirdly I’ve never put anything into production on Azure. This slightly odd discovery put me into action to bridge this gap. Before heading to the real interesting certification paths like the Azure Developer Associate or Azure Architect tracks, I decided to start off light with this optional and basic exam. Looking at the exam’s description, the exam “ […] is designed for candidates looking to demonstrate foundational level knowledge of cloud services and how those services are provided with Microsoft Azure. The exam is intended for candidates with non-technical backgrounds […]”. Given my history, anything but a pass would be an embarrassment.
As you might have read in my previous post, I used SQL schemas to partition data between tenants. Being part of the true definition of SaaS, a new tenant should be up and running within minutes without any human intervention. With my suggested approach, we need to do two things:
- Registering a new tenant
- Attaching users to the tenant
In this article, I am going to focus on the first item whereas the second one shouldn’t be a big deal if you are planning to create software as a service.
Until recently I have never had the time to concentrate on cloud application development. All of the projects (non-SharePoint related) I have ever worked on were dedicated to only one customer, so the multi tenancy challenge never came up. Although my own website is hosted on Azure, I realized I had to create my own project to gain some knowledge on this area. There are many books and web pages available regarding cloud development, but for a very good reason none of those give really specific examples: it all depends on what you want to achieve. In this article, I will cover one scenario that is quickly to implement with the knowledge many .NET developers probably still have, which is developing a **ASP.NET MVC application with Entity Framework which ensures storage in one database with multiple schemas.