Azure Storage is a managed cloud storage offering from Microsoft. It provides a scalable store for data objects, a cloud-based file system, and even provides a messaging and NoSQL store. As a managed service, maintenance and support is handled by Microsoft Azure, taking the care and feeding aspect of storage support out of the hands of the Azure administrator.
Durable and highly available, Azure Storage offers redundancy to ensure that data is protected during hardware failures. The ability to replicate data across Azure datacenters and even across different Azure regions offers additional protection against catastrophes and natural disasters. Data that is stored and replicated in Azure remains highly available in the event of unexpected outages.
Massively scalable, Azure Storage can meet the most demanding data storage requirements for today’s applications, including use cases such as big data. In addition to offering such scalable storage, the Azure Storage service also provides secure data storage by encrypting all data that is written to the service. By offering fine-grained control over access to the data, Azure Storage also makes it easy to control such access.
Data housed in Azure Storage is essentially accessible from everywhere in the world via HTTP or HTTPS. However, Microsoft also offers several SDKs for Azure Storage, in several languages, including .NET, Java, Node.js, and many others. Microsoft also offers a mature REST API and scripting abilities in Azure PowerShell and in Azure CLI. GUI access is also provided via the Azure portal and by Azure Storage Explorer.
Azure Storage can essentially be broken down into five key data services, including Azure Blobs, Azure Files, Azure Queues, Azure Tables, and Disk Storage. Azure Blobs offers a scalable object store for storing text and binary data, while Azure Files offers managed file shares that can be used for cloud and on-premises deployments. Azure Queues is a messaging store that is used to facilitate reliable messaging among application components. Azure Tables is a NoSQL store used for “schemaless” storage of structured data. Disk Storage offers unmanaged and managed disks that are used by virtual machines.
All storage services can be accessed through an Azure Storage Account.
Microsoft’s Azure Blob storage offering is intended for object storage in the cloud. As such, it is optimized for storage of unstructured data, such as binary data and text.
Blob storage in Azure is a good choice for serving data such as images for a website directly to a browser and for storing files that are accessed in in a distributed fashion. It also works well for video and audio streaming. Other uses for blob storage include backup data storage, disaster recovery, and data archives.
Objects that are stored in blob storage are accessible worldwide via HTTP or HTTPs. Such blobs are accessed by users and client applications via URLs, Azure PowerShell, the Azure CLI, the Azure Storage REST API, or by an Azure Storage client library, which are available for many languages, such as .NET, Java, Node.js, Python, PHP, and Ruby.
The Azure Files service offers the ability to configure cloud-based file shares that are highly-available and can be accessed via the well-known Server Message Block (SMB) protocol. Azure Files provides the ability to allow multiple virtual machines to share the same files, while providing both read and write access to those files. In addition to accessing them via SMB, the files in an Azure file share can also be accessed using the REST interface and storage client libraries.
What makes Azure Files advantageous over a corporate file share is the fact that Azure Files are accessible from anywhere in the world via a URL and a shared access signature (SAS) token. SAS tokens can be generated to allow specific access to files for a specific amount of time, adding a level of control not available with corporate file shares on-premises.
Because many on-prem applications use traditional file shares for storing data, moving such applications to Azure is typically straightforward. Mounting an Azure-based file share using the same drive letter that the on-prem application uses allows the application to continue accessing the required data (now in the cloud) without any major changes.
Another common use case for file shares hosted in Azure Files is the sharing of crash dumps, diagnostic logs, and the like. In such use cases, applications (both on-prem and in the cloud) can be configured to store log files and such in Azure-based file shares and those logs can be viewed and analyzed later.
At the time of this writing, Microsoft is in the process of rolling out support for Azure Active Directory authentication for Azure Files SMB access. Such integration is a feature that’s been requested for quite some time. This new feature allows access to Azure file shares via SMB from machines joined to an Azure AD Domain Services domain. Such access can then be controlled with Azure AD credentials. Additionally, Azure Files now supports NTFS ACLs on files and folders stored in file shares hosted by Azure Files. These new features allow organizations to sync their on-prem AD accounts to Azure AD and then to access shares that have been migrated from on-prem to Azure, using the same credentials that are used on-prem.
Another feature of Azure Storage is the Azure Queue service. This feature of Azure Storage stores and retrieves messages. Queue messages that are stored by the Azure Queue service can be up to 64 KB in size. An Azure Queue, which is typically used to store lists of messages, can contain millions of messages. Messages stored in Azure Queue are then processed asynchronously.
An example use case for Queue Storage would be a website that produces thumbnails for pictures uploaded by users. Instead of making a user wait while thumbnails are created, a queue could be used. Once the initial upload of pictures is complete, a message can be written to the queue and an Azure Function leveraged to retrieve the message and then create the thumbnails. Such a process could then more easily be scaled.
The original Azure Table storage service provides the ability to store structured NoSQL data in Azure in a schemaless fashion. Since it’s schemaless, data in Table Storage is easy to adapt to the needs of your application. Access to Table Storage is generally more cost effective than traditional SQL.
Table Storage offers the ability to store terabytes of structured data and storing datasets not requiring complex joins, stored procedures, and such can be denormalized for fast access. It also provides the ability to quickly query data via a clustered index, accessing such data using the OData protocol and LINQ queries, with WCF Data Service .NET Libraries.
The Table Storage feature can be used to store and query large data sets that consist of structured, non-relational data.
As of this writing, however, Microsoft has begun offering a premium solution for table storage: The Azure Cosmos DB Table API. Key features of this new offering include global distribution, throughput-optimized tables, and automatic secondary indexes. Access to Table storage data is fast and cost-effective for many types of applications and is typically lower in cost than traditional SQL for similar volumes of data.
Microsoft’s Azure Storage offering also features managed and unmanaged disk capabilities that are used by Azure virtual machines. Such capabilities include the Operating System disk, which host the operating system for a virtual machine, the Temporary Disk, which provides short-term storage for apps and processes, and the Data Disk, which is really a VHD that’s attached to a VM and used to store application data and other data that’s needed.
Disk Storage is typically created and managed while managing Azure virtual machines.
Types of Azure Storage Accounts
Within Microsoft’s storage offering are multiple type of storage accounts, each capable of handling different types of objects. These include the General-Purpose Standard account, the General-Purpose Premium account, and Blob Storage (hot and cool access tiers).
General-Purpose Standard Accounts
Standard storage accounts are, by far, the most widely used type of storage account in Azure. A General-Purpose Standard account supports all types of data, including blob, file, queue, and table. It should be noted that standard storage accounts store data on magnetic disk.
General-Purpose Premium Accounts
General-Purpose Premium storage offers high-performance storage for page blobs (typically used for VHD files). While standard accounts use magnetic media for storing data, premium storage accounts use SSD. As such, it’s typically more expensive to host data in a premium account than a standard account. Naturally, Microsoft recommends Premium Storage for all virtual machines hosted in Azure.
Blob Storage Accounts
Blob Storage accounts are a specialized breed. They are used to store block blobs and append blobs. However, blob storage accounts do not allow storage of page blobs. As such, they do not support storage of VHD files. These types of storage accounts provide two different access tiers Hot and Cool. The Hot tier would typically be used to store data that is accessed regularly, while the Cool tier would be used to store less-accessed data (ie. archives). The access tier can be changed at any time.
Storage costs for data in the Hot tier are higher, but access costs are lower. Storage costs for data in the Cool tier are lower, but access costs are higher.
With numerous account types and services, cloud administrators have numerous choices when it comes to their storage needs. In our next blog, we’ll discuss practical use cases for Azure Storage. No matter where you are in your Azure storage journey, our Azure Training Library can help you get started.
New on Cloud Academy: ITIL® 4, Microsoft 365 Tenant, Jenkins, TOGAF® 9.1, and more
At Cloud Academy, we're always striving to make improvements to our training platform. Based on your feedback, we released some new features to help make it easier for you to continue studying. These new features allow you to: Remove content from “Continue Studying” section Disc...
Cloud Migration Risks & Benefits
If you’re like most businesses, you already have at least one workload running in the cloud. However, that doesn’t mean that cloud migration is right for everyone. While cloud environments are generally scalable, reliable, and highly available, those won’t be the only considerations dri...
Google Cloud Functions vs. AWS Lambda: The Fight for Serverless Cloud Domination
Serverless computing: What is it and why is it important? A quick background The general concept of serverless computing was introduced to the market by Amazon Web Services (AWS) around 2014 with the release of AWS Lambda. As we know, cloud computing has made it possible for users to ...
New on Cloud Academy: CISSP, AWS, Azure, & DevOps Labs, Python for Beginners, and more…
As Hurricane Dorian intensifies, it looks like Floridians across the entire state might have to hunker down for another big one. If you've gone through a hurricane, you know that preparing for one is no joke. You'll need a survival kit with plenty of water, flashlights, batteries, and n...
How to Unlock Complimentary Access to Cloud Academy
Are you looking to get trained or certified on AWS, Azure, Google Cloud Platform, DevOps, Cloud Security, Python, Java, or another technical skill? Then you'll want to mark your calendars for August 23, 2019. Starting Friday at 12:00 a.m. PDT (3:00 a.m. EDT), Cloud Academy is offering c...
Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More
Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...
Disadvantages of Cloud Computing
If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are CPU, memory, storage, and network connectivity. Which resources you choose for your delivery — cloud-based or local — is up to you. But you’ll definitely want...
How to Effectively Use Azure Management Groups, Subscriptions, and Resource Groups
When used individually, Azure Management Groups, Subscriptions, and Resource Groups are very powerful. But when used together, they can establish the entire organizational structure of Azure. In this article, I will explain Azure Resource Manager, Management Groups, Subscriptions an...
Cloud Academy’s Blog Digest: July 2019
July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...
Top 10 Things Cybersecurity Professionals Need to Know
There has been an increase in data breaches over the recent years. With almost 143 million Americans who have had their data compromised in data breaches. These breaches include all sorts of sensitive data, including financial information, election controversies, social security, just t...
Running Apache Spark on Azure Databricks
In this article, we’ll cover how to set up an Azure Databricks cluster and how to run queries in an interactive notebook. However, this article only scratches the surface of what you can do with Azure Databricks. If you would like to learn more, including how to create graphs, run sched...
Understanding the Core Azure Architectural Components
Microsoft Azure relies on a few key architectural components to provide redundancy and high availability. Core Azure architectural components include Azure regions, Azure Availability Zones, resource groups, and the Azure Resource Manager. In this article, we’ll discuss the basics ab...