Connect with our experts for counseling on your next step to succeed as a cloud expert.
7 Types of Azure Storage and How to Use Them
Microsoft Azure is one of the world’s most powerful cloud providers. Although AWS has the lead in cloud market share, Azure has been steadily gaining ground for years. Capitalizing on Microsoft’s impressive computing capabilities and global network, the primary theme with any Azure service is an incredibly high level of performance.
As cloud technology evolves, deciding which provider, infrastructure, or service to use becomes a more complicated decision. Knowing how you plan to use them is a critical cornerstone of making this choice — no one is "better" than the others as a whole, but each is better than the other at something.
In this article, we’ll dig into five Azure storage services, two Azure database types, and how Azure Cosmos compares to Amazon S3 and Apache Cassandra.
5 Main Azure Storage Types
Microsoft has developed unique services specifically targeted at different needs. Azure's offerings span the full spectrum of common business applications from messages to files and table storage to managed disks.
Azure Blob
Azure Blob was created to facilitate housing massive amounts of unstructured object data. Binary or text data are classic targets, and you can choose either to store these publicly for open access or lock your data down and secure it privately. Some of the most common uses of Microsoft advertises include:
- Serving images & documents directly to browsers
- Storing files for distributed access
- Storing data for archiving, backup, disaster recovery, and restoration
- Storing data for analysis by either an on-premises or Azure-hosted service
- Streaming video & audio
Retrieving and using this data is easy, with global access via HTTP/HTTPS. There are three primary types of blobs:
- Block blobs store binary and text data with limits up to 4.75 TiB (or 190.7 TiB in preview).
- Append blobs are similar but optimized for append operations like logging data from VMs.
- Page blobs will store random access files up to 8 TB. They're used primarily as virtual hard drive files and used as disks for Azure VMs.
Blobs are the most common Azure storage type you’ll use and encounter.
Start your 30-day FREE TRIAL and begin your Azure certification journey today!
Azure Files
With Azure Files, you’ll find fully managed file shares accessible via Server Message Block (SMB) or Network File System (NFS) protocols, eliminating concern about application compatibility. The service is flexible, offering access to Windows, macOS, and Linux users and can be used concurrently by either cloud or on-premises deployments.
One common application for Azure Files is replacing or supplementing on-premise file servers to maximize performance. Azure Files promotes both classic and hybrid “lift and share applications.” In the former, an application and its data are moved to the cloud. In the latter, the application data is housed on Azure files, but the application itself runs on-premise. Developers frequently configure cloud applications to write their metrics, logs, and crash dumps to Azure file share, providing a tremendous amount of flexibility.
Azure Queues
Azure Queues was designed to house large numbers of messages, each of which maxes out at 64 KB. However, a queue can contain millions of messages, and the only limit is the storage account's capacity. One common application is to create a convenient work backlog so it can be processed asynchronously.
Azure Tables
Azure Tables is commonly used to house flexible NoSQL datasets, such as address books, device information, user data for web applications, and virtually any other type of metadata. Understanding the need for rapid access to this type of data, Microsoft designed it for high-speed performance while still being relatively cost-effective.
As your application evolves, you’ll find it easy to adapt your data within Tables due to its schema-less design. There's no limit to the number of entries in a table. The number of tables you can have is limited only by a storage account's capacity—this makes scaling tables with demand a very straightforward process. It’s designed to accept authenticated calls from either inside or outside the Azure cloud.
Azure Disks
Azure managed disks are similar to physical disks in on-premise servers, but in a virtualized capacity with a high degree of customizability. Specify the disk type and size, provision it, and Azure will handle everything else. These block-level storage volumes are a cornerstone of Azure VMs and are available in standard hard disk drives, premium solid-state drivers (SSD), traditional SSDs, and ultra disks. The service is very scalable, allowing up to 50,000 VM disks of a single type per subscription per region.
Cloud-based Azure disks boast a 99.999% availability rate by automatically providing three replicas of any data stored on them. The result has been an astounding 0% annualized failure rate, making Microsoft’s cloud offerings a clear industry frontrunner in this regard.
One of the design aspects that facilitates this is how disks are automatically placed in different storage “stamps,” or scale units. If an application requires more than one virtual machine, those VMs are put in different stamps. Regardless of potential hardware issues, power outages, or acts of God, this stamp division policy emphasizes a high uptime rate.
Enroll in our Cloud Computing Bootcamp program to launch your career in cloud technology.
Azure Databases: Cosmos DB & Azure SQL
Microsoft not only has five storage types, but also a number of database options to use with SQL, MySQL, PostgreSQL, and Oracle workloads. There are nine Azure database options listed on the Microsoft site, but they primarily operate on two DB types: Azure SQL and Cosmos DB.
Cosmos DB and Azure SQL: Pricing
Cosmos DB is a high-speed NoSQL database that has open APIs which are infinitely scalable. Azure SQL databases allow you to build apps and manage SQL within the cloud easily.
These powerful services are infinitely customizable, but as you can imagine, that high degree of adaptability for performance comes with a tailored billing structure. The good news is that you only pay for what you’re using on a per-hour or even a per-second basis, and can rapidly scale up and down as your business needs change. The downside is that, on the whole, Microsoft offerings tend to be more expensive than their counterparts.
If you're using small- or medium-sized databases (temporary storage in the 20 GB to 2,040 GB range and RAM from 0.75 GB to 14 GB), you'll pay anywhere from 2 cents to 64 cents per hour, depending on your setup. Businesses that need a more robust design (temporary storage in the 490 GB to 2,040 GB range and RAM from 14 GB to 56 GB) will pay 35 cents to $1.41 an hour.
For a more specific estimate, check out Cosmos DB’s pricing here and Azure SQL pricing here.
Which is Better? Cosmos DB vs Amazon S3
Whether you choose Azure Cosmos or Amazon S3 depends on the features that are more important to you. Cosmos DB prioritizes a high level of control and performance, particularly when migrating huge SQL Server databases from on-premise data centers or VMs to SQL Database. Microsoft designed Cosmos from the ground up with this in mind, and it’s simply the best SQL server option.
Amazon’s niche in the cloud market heavily revolves around storing all types of media in a single location and integrating them seamlessly. AWS is very affordable, primarily because their billing model is so customizable. For example, if you need fast access to your data, S3 is the right choice for you. If you’re looking for long-term storage without the need for quick response rates, Amazon Glacier is a good fit.
Where Cosmos DB focuses on high-capacity performance, AWS emphasizes extreme reliability and storage. However, which choice you make might be determined by your programming language. While both support Python, Java, JavaScript, and PHP, if you’re using one of the following languages, you’ll need to use that platform.
- Azure: C#, F#, TypeScript, Batch (.cmd, .bat), Bash, and PowerShell
- S3: .NET, Ruby, Go programming language SDK, and C++ programming language SDK
Which to Choose? Cosmos DB vs Apache Cassandra
When comparing Cosmos and Cassandra, the primary criteria comes down to how much effort you are willing (or can afford) to put into configuration and customizability. Azure has done a phenomenal job creating a structure that’s extremely powerful and relatively straightforward to use. Its model is tunable but simplifies numerous areas that would otherwise require an extensive background in computer science. Some users have stated that it’s impressive how Cosmos DB has abstracted away so much complexity.
On the other side of the spectrum, Apache’s Cassandra is also powerful, but its defaults are hardly set up as anything resembling a plug and play system. It’s open-source and requires inexpensive infrastructure, but Cassandra also needs developers who are experts in it. The significant number of Cassandra fans in the tech world is no surprise due to its power and high quality, but the effort involved might make it cost-prohibitive for large- or enterprise-level applications. Some companies have found the cost of Cosmos intimidating, only to find the cost of managing it over the long-term less than what they spent for Cassandra.
How to Choose Your Storage Type
There’s no one storage type that’s necessarily better or worse than the others. Each of these storage types — blobs, files, queues, tables, and disks — have their advantages and disadvantages in certain situations. The important thing is knowing when to use the right tool for the right job. The same goes for the databases that operate within these disk spaces.
Knowing when to use the right tool for the right job is an essential part of being a cloud administrator or Azure developer. And you can validate that you know how to use these tools by taking an exam like the AZ-204.