Skip to content

Azure-as-a-Restaurant

  • by
Azure-as-a-restaurant

Disclaimer: The following text is an attempt to explain, to someone who is not familiar with Azure, a quite complicated subject, by using universally known terms, as a parallelism. Obviously, many things are inaccurate, but I hope that it somehow helps someone understand what Azure is.

I often find myself trying to explain various subjects related to Azure, cloud architecture etc. The most common question is the following:

What are the management groups, the subscriptions, the resource groups, etc?

The simple answer is to show this, but it almost creates more questions than understandings.

To answer such questions, I always try to find a parallelism that works and I think that this one covers most bases. I mean, if you let your thoughts run wild for a moment, Azure is somewhat like a super mega huge chain restaurant that sells most kinds of food and drinks. Before you laugh, let me explain, it makes sense, I promise!

We start with some assumptions.

  1. Traditional computing = Cooking food and eating at home. Your home is your server and the food can be either bought (software product) or made at home (cooking pasta = creating an application).
  2. Cloud computing = Eating at a restaurant.

Now let’s jump into Azure, a freaking huge restaurant, and it looks like that:

Azure-as-a-Restaurant

So how is Azure similar to a restaurant?

The floors and tables and chairs is Azure’s backbone. They are endless, we know they exist but not so much more than that and we don’t really think about that so much, we only gonna need 1 table after all. They have restaurants (backbones) pretty much in the whole world (Azure regions). Now let’s see what happens in every restaurant:

Image that a company (pun intended) of friends enters the restaurant, and asks for a table. A table, is an Azure tenant. Now imagine that Azure’s tables are pretty much endless in size and you can put incredible amounts of food on them. You are not allowed to put food on the table and you pay absolutely nothing for getting a table!

On the table you have a table cloth, this is the root management group. 99% of the restaurant visitors will be happy with just that one, but it’s not unthinkable to use other, smaller table cloths on it. Those table cloths are also management groups. You use them to keep things tidy and separated. You are not allowed to put food on the table cloth and you still pay nothing!

Now upon the table cloth, you are going to have placemats. Those are subscriptions. You can have more than one (and it is strongly recommended to use more than one if your are going to test/taste your food before eating it, but we’ll get back on that later). You still cannot put food on the placemats, and you pay absolutely nothing yet.

Placemats = Subscriptions

Finally, the dishes which we put on the placemats (in the subscriptions), are what Azure calls resource groups. Just like dishes are used to put food on them, Azure resource groups are used to put Azure Resources inside them. Going one step further, nobody stops you from putting your main course and your desert on the same dish, but it feels yucky. Likewise, nobody prevents you from putting all your resources in the same resource group, but its strongly recommended to put the only resources that belong together, in the same resource group.

Any particular reason why I would prefer that restaurant over cooking at home?

Plenty! Let’s list a few:

  1. By leasing the restaurant’s tools, you can use whatever you need to cook your delicious meal, without having to buy those expensive kitchen appliances. You only pay for what you use, for the time you use it.
  2. Unsure what kind of knife you need? No worries! Azure will let you start with a basic all-around knife and when the steak becomes to hard to cut, you can scale up by getting a sharper knife (sharper in price as well though) or scale out, by using two knifes simultaneously! Cool, right? Again, you only pay for what you use, for the time you use it.
  3. Fancy some ravioli but only once? Well then buying a whole carton would leave you with so much leftover, while Azure can serve you as much ravioli as you need, that particular time. Translating this in software terms, no need to buy a big fat SQL license, as Azure lets you use a managed SQL instance where the license cost (for you use) is included.
  4. You love espresso and you consider buying an awesome Italian espresso machine at home? Sure, but can you cope with all the maintenance needed? Can you do all the cleaning & updating? Azure keeps all the machinery clean and shinny for you, so they save you that trouble. Again, in Software terms, Azure keeps their hardware secure and updated, saving us from the need of keeping our own hardware secured and updated.

Great but what does this restaurant sell?

Taking a look at the menu (Azure Marketplace) one can find a huge list of items, which can be categorized like this:

  1. Infrastructure-as-a-Service: Those dishes are big and heavy and you can put food that you brought with you! In the Azure world, this refers to virtual machines, networks, storage spaces, etc. In other words, you can lease some hardware, configure it to great extent and use it as a basis for your other resources.
  2. Platform-as-a-Service: You get a special dish, suitable for some kind of food. Do you want to eat soup? You get a deep dish!
  3. Software-as-a-Service: You get your meal ready to consume.

So where does the food come from?

Well, as mentioned Azure offers a number of ready meals, in the form of SaaS (Software-as-a-Service) products, but you are more than welcome to bring your own food (applications).

How is the food served?

Either you can serve it manually, by just deploying it or you can upload your recipe (source code) in a cookbook (repository). Then you can use some kind of product line (pipeline) which will cook (build & compile) your recipe and serve the food to you. Luckily Microsoft owns two cookbooks (Github & Azure DevOps) which are carefully integrated to Azure and offer you all the tools you need to cook & serve (build & deploy) the food (application) to your dish (Azure resource).

Last but not least, since this recipe-management became so popular, Azure allows us to write recipes (arm templates, bicep files, terraform etc.) which describe how the whole table setup should be. This kind of recipe, is called Infrastructure-as-Code and is equally useful as the food recipes as it allows describe exactly what the whole table should look like, and not only one specific meal (application).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies. By continuing to use this site, you accept our use of cookies.