Storage services are like virtual attics for your digital belongings, ensuring security, organisation, and accessibility in the cloud.
Azure offers a variety of storage services, including Azure Blobs for unstructured data, Azure Files for organised file storage and sharing, Azure Queues for tasks, Azure Disks for virtual machines, and Azure Tables for structured non-relational data.
Stored files/messages/objects are grouped in a storage account.
We often find ourselves collecting vast amounts of things in our daily lives, whether it's at home or in the cloud.
At home, we can easily organise our personal things with boxes and drawers... but what about all the things that are in the cloud? How can we keep things tidy and easy to find, even as we start doing more and more things on the cloud?
Think of storage services as your boxes in a virtual attic.
Cloud providers like Azure make sure your digital attic is secure, organised, and easy to access whenever you need something. When you're using cloud storage (for example, saving photos on iCloud, Google Photos, OneDrive), the things you store are living in physical data centres that your cloud provider is looking after for you.
Storage services are awesome. The amount of storage space can keep growing as you keep more things (this is called scalability), and cloud providers will take care of all the maintenance, updates and security of the data centres for you (this is called a fully managed service).
When you're storing things at home, you probably use different kinds of containers for different things. We keep food in food-safe containers, clothes in closets and random things in that small room under the staircase!
Well, Azure storage services are the same. Different storage services store different types of data. Here are the key words you should know:
Wohoo, now let's dive into the different Azure storage services! We're going to cover:
Here's a sneak peek... 👀
Azure Blobs is an unstructured data storage solution. This means it can store all kinds of file types. Want to store photos and videos? Yup! Want to store text files? Go ahead. Want to store code or entire websites? Blobs has you covered.
This makes Blobs an iconic storage option that's suitable for massive volumes of text or binary data (binary data are the 0s and 1s that computers read to turn into photos, music, videos and anything else). It accommodates simultaneous uploads (i.e. uploading many things at the same time) and can do more than just storage - think data backup and recovery.
Azure Files are like your personal, well-organised file cabinet in the cloud. You can neatly store documents, images, and files. Plus, you can easily share and access them through the internet!
Hmmm... but can't I share data on Azure Blobs? What's the difference?
Yes, you can share data that's stored in Azure Blobs, but here's the difference:
So, while you can share data from Azure Blobs, it might require more manual setup and management compared to the built-in sharing features of Azure Files.
Another big feature of Azure Files is that it follows the industry standard Server Message Block (SMB) or Network File System (NFS) protocols. This is a fancy way of saying it can easily replace any on-premise file system, which makes it much easier for businesses to move on-premise files to the cloud without making any big changes.
Imagine a busy restaurant kitchen where the chef, the sous chef, and the pastry chef need to work together to prepare meals. If they each had a to-do list (like Azure Queues) where they write down the tasks that need to be done, it would be easier to coordinate. Even if they're in different parts of the kitchen, these lists help ensure they all know what to cook and when to serve it, making the kitchen run smoothly. In this scenario, the kitchen is a distributed system, and the lists are like Azure Queues, helping different components work together efficiently. Azure Queues also works well with Azure Functions (you'll learn about this later on in the course!) to get those tasks done automatically.
Getting a little bit more technical, think of Azure Queues as to-do list made of messages that are accessed globally via HTTP or HTTPS*. A "message" is a piece of information or a task that you want to store and process later. For example, if you have a website where users can submit forms, each form submission could generate a message. Instead of processing the form immediately, you place a message in the Azure Queue Storage. Later, a system, Azure Function or application can retrieve these messages and process them in the order they were received.
*What is HTTP/HTTPS? Ever notice those interesting letters whenever you paste a link? Why is it that websites (like https://www.nextwork.org/) start with HTTPS? Think of HTTP and HTTPS as sets of communication rules for the internet. When you visit a website, links starting with "http://" or "https://" tell your web browser how to connect to that website. When a website link starts with "HTTP," it means data is sent without encryption. "HTTPS" means a safer connection with data encryption, which is great for websites that ask for your password or personal information.
Azure Disks are virtual storage made just for Azure Virtual Machines. We'll tell you all about virtual machines in the next topic, but for now, think of them as computers in the cloud.
Azure Tables are digital tables that can be accessed from different places, even from other cloud providers like AWS or Google! Azure Tables are ideal for storing structured, non-relational data. It's ideal for handling data that is organised neatly (structured) but doesn't have to fit into tables and rows (non-relational).
So what's the difference between Azure Tables and Azure Files?
Azure Files are for storing and sharing all sorts of files, while Azure Tables are for organising data, like numbers and lists.
So what's the difference between Azure Tables and Azure Blobs?
Azure Blobs are for storing all kinds of things without much order, while Azure Tables are like a well-organised folder of information where you can ask questions and get answers.
A storage account is a container that groups a set of Azure Storage services together. Only data services from Azure Storage can be included in a storage account (Azure Blobs, Azure Files, Azure Queues, and Azure Tables).
Here's a peek on how a storage account can cover Blobs, Files, Queue, and Tables:
Combining data services into a single storage account lets you manage them as a group. The settings you specify when you create the account, or any changes that you make after creation, apply to all services in the storage account. Deleting a storage account deletes all of the data stored inside it.
Storage accounts don't look too spicy, but here's a sneak peek into what you'll see in your Azure Portal.
How did you find it? Storage services are quite a packed topic to learn from the get-go, but if you can get through this - everything else you learn will be much easier to understand!
Here's a rundown of the different kinds of storage services on Azure: