All You Need to Know About Azure Data Storage
As a seasoned cloud architect, working with 2bcloud, Azure Partner Specialist for ISVs (independent software vendors) to help tech companies take the most value from their cloud investments, few things have excited me as much as witnessing the tremendous upswing in migration of companies to cloud-based systems over the last decade.
I recently hosted a webinar that took a deep look into the world of the Azure storage options, both warehouse and relational, touching on the stand out aspects of Azure Data Storage, Azure SQL, and Cosmos DB. Luckily, Azure has a storage solution for every kind of data, be they configuration and source code files, logs, images and audio files, or even data from IoT streams. For those who are looking to wet their feet and learn more about Azure’s various storage services, this blog will provide you with the preliminary overview you need to start matching your technology to the right cloud service.
Azure Data Storage
Microsoft Azure’s Data Storage Account is one of the most formidable tools that an ISV can weild, mostly owing to its fantastic versatility. In addition to allowing you to carve out a dedicated namespace for your VMs (virtual machines) that you can access from nearly any location on the planet , Azure storage allows you to control access rights, share files and collaborate, secure data and monitor activity, create important safety nets through data redundancy, and manage data while controlling costs. For today’s born-on-the-cloud technologies, Azure’s ability to house an infinite amount of containers in just one unit, and its ability to autoscale storage to reflect real-time usage demands, make this cloud storage solution one of the most cost effective on the market.
Since the services offered through data storage accounts are so varied, it’s important that we spend some time dissecting them to get a full appreciation of all that cloud data storage can do to advance your product development and operational function.
The Azure storage account is comprised of 5 services that store all of your data objects, which can be accessed from http/https, or from REST APIs (or from both). Each service offers a different function:
Azure Blobs – Short for “Binary Large Object,” this secure and easily scaled storage service functions similar to a directory. The service stays true to its name by offering cloud-based storage for massive amounts of unstructured data of any kind. For the developer, Blobs is ideal because it is integrated with most Azure services and offers SDKs for all mainstream programming languages. Blobs is designed to support applications,as well as video and audio streaming. On the business side, Azure blobs is an ideal service for enterprises that accrue data quickly and need to maintain a variety of file types, including logs and backups, while allowing for maximum accessibility from different locations.
Azure Files – This fully managed service is designed to facilitate data sharing and extend on-premise file data into the cloud. The service allows files that are housed on a local machine to be easily and securely replicated to the cloud, where they can be accessed from anywhere. This service also has a hybrid mode that connects the cloud with the local file server and syncs their data. Azure Files works with Linux, Windows, and MAC operating systems.
Azure Queues – This http-based service is mainly for storing large volumes of messages gathered from the application’s tiers. Messages can be up to 64 KB in size each, and each queue can handle up to 200 TB of messages. The queues service allows stored messages to be picked up by other services and then processed in a queue. At both the business and technology level, the queue protects data from timeouts and enables the back office to handle messages at the speed of the application or of operations.
Azure Tables – This NoSQL storage service is designed to grant applications fast access to frequently used, semi-structured data. The service includes vast client libraries for building applications in multiple programming languages. Table storage is ideal for flexible data sets like app user data, enabling you to build cloud applications without committing to a particular schema. And, as an added bonus, Azure Tables offers tremendous capacity – up to 200TB.
Azure Disks – This service supplies virtual hard-disks for VMs. You can select whether or not you want Azure to manage the disk for you, or if you want to manage it on your own. There are a variety of disk types that you select based on your particular performance needs and budget. Azure Disks has at least three replicas, offering outstanding durability. This storage offering also has stand out scalability (thousands of VMs can be created and deployed within one subscription), and benefits from a range of special security features, including granular access control, 2-sided encryption, and private links.
No matter which of the above storage services you utilize, Azure ensures high availability by replicating data files three times, to local or regional storage spaces. Availability and pricing can be controlled by calibrating storage tiers and setting data lifecycle policies to match your needs.
Azure storage offers three storage tiers: Hot, Cool, and Archive
Hot – This low-latency tier is ideal for data you need to access on a daily basis; access and transaction fees are low, but with high cost for storage per gigabyte
Cool – This tier allows you to quickly access data that you need once in a while, with a lower cost per gigabyte.
Archive – This offline tier has the lowest storage fees, but is designed for storing data that you are not likely to need to access. In this tier, retrieval fees and times are high, so this tier is ideal for long-term backups that you plan to store for at least 180 days.
You can automate your data’s journey between these tiers and optimize costs by setting up a lifecycle management policy, either by time period or by command. For example, you can decide which tier to use, based on the file access frequency; you can also delete versions of files or delete files in their entirety from an archive if they haven’t been accessed within a certain timeframe. In this way, Azure helps you to keep costs at a minimum by providing tools to gauge your data’s utility and offering automatic offloading of data you don’t really need.
Azure’s SQL service is ideal for building applications with the highest uptime (a whopping 99.99% availability!) and predictable performance, with lowest operational costs. The Azure SQL Database is a fully managed platform as a service (PaaS) database engine that handles most of the database management functions such as upgrading, patching, backups, and monitoring, without user involvement.
There are different pricing schemes for vCore and DTU-based models, however, you will receive the same great imbedded services with either plan, including:
- Automatically applied updates and patches
- High degree of scalability
- 99.99% baseline availability that extends up to 99.995%
- Point in time restore
- Geo-replication and data recovery
- Monitoring and threat protection
- Transparent Layer Security and Transparent Data Encryption
In addition to unbeatable stability and scalability, Azure SQL also offers a variety of deployment options, allowing you to manage on premise and virtual storage as per the requirements of your application and operational flow.
Similar to Azure SQL, Azure Cosmos DB is a developer-centric platform, ideal for serverless applications that require up-to-the-millisecond availability in any location. This NoSQL database offers incomparable elasticity for applications with global ambitions, and interfaces seamlessly with the world’s leading APIs, with MongoDB, SQL API, Gremlin API, and Tables API among them. As such, Cosmos DB is a favorite among Microsoft’s own e-commerce platforms and is used in applications throughout the world.
If after this overview, you’re still unclear as to which cloud storage option will be the most performance-enhancing and cost-effective for your product, fear not. Tune into my recent webinar entitled Data: What, When, How?, where I’ve given in depth demonstrations of multiple use cases.