Hi everyone, in our last session on Saturday 6 of the workshop “Azure for Devs” for our community .NET Dominicana (@DotNetDo), my friend Angel Garcia and I covered the following topics:
🌩 Store data in Azure
The Azure Storage platform is Microsoft’s cloud storage solution for modern data storage scenarios. Core storage services offer a massively scalable object store for data objects, disk storage for Azure virtual machines (VMs), a file system service for the cloud, a messaging store for reliable messaging, and a NoSQL store.
Approaches to store data in the cloud
- Structured Data: Sometimes referred to as relational data, is data that adheres to a strict schema, so all of the data has the same fields or properties. The shared schema allows this type of data to be easily searched with query languages such as SQL (Structured Query Language). This capability makes this data-style perfect for applications such as CRM systems, reservations, and inventory management.
- Semi-structured Data: This is less organized than structured data, and is not stored in a relational format, as the fields do not neatly fit into tables, rows, and columns. Semi-structured data contains tags that make the organization and hierarchy of the data apparent – for example, key/value pairs. Semi-structured data is also referred to as non-relational or NoSQL data.
- Unstructured Data: The organization of unstructured data is ambiguous. Unstructured data is often delivered in files, such as photos or videos. The video file itself may have an overall structure and come with semi-structured metadata, but the data that comprises the video itself is unstructured. Therefore, photos, videos, and other similar files are classified as unstructured data.
✨ Developing Solutions that use CosmoDB storage
Azure Cosmos DB is Microsoft’s globally distributed, multi-model database service. With a click of a button, Cosmos DB enables you to elastically and independently scale throughput and storage across any number of Azure regions worldwide.
💵 Azure CosmoDB Costs
Azure Cosmos DB bills for provisioned throughput and consumed storage by the hour.
Provisioned Throughput offers single-digit millisecond reads and writes and 99.999-percent availability worldwide, backed by SLAs. It is ideal for large, critical workloads requiring guaranteed low-latency and high-availability. New accounts are eligible to receive 400 request units per second (RU/s) throughput and 5 GBs storage per month with Azure Cosmos DB free tier.
- Standard (manual) is recommended for predictable workloads and when direct planning and management of throughput capacity is desired. Throughput can be manually scaled up or down as needed, with billing based on total request units per second (RU/s) provisioned each hour, starting at 400 RU/s.
- Autoscale is recommended for unpredictable workloads, or when managing capacity isn’t desired or possible. Set a custom throughput limit and be billed for the number of RU/s used each hour, starting at 400 RU/s or 10% of your custom throughput limit.
Storage is billed as GBs consumed by SSD-backed data and index across all the Azure regions your database is distributed through.
✨ Blob Storage
Blobs are “files for the cloud”. Apps work with blobs in much the same way as they would work with files on a disk, like reading and writing data. However, unlike a local file, blobs can be reached from anywhere with an internet connection.
Azure Blob storage is unstructured, meaning that there are no restrictions on the kinds of data it can hold. For example, a blob can hold a PDF document, a JPG image, a JSON file, video content, etc. Blobs aren’t limited to common file formats — a blob could contain gigabytes of binary data streamed from a scientific instrument, an encrypted message for another application, or data in a custom format for an app you’re developing.
Blob Storage resources
- Storage Account: A storage account provides a unique namespace in Azure for your data. Every object that you store in Azure Storage has an address that includes your unique account name. The combination of the account name and the Azure Storage blob endpoint forms the base address for the objects in your storage account.
- Containers: A container organizes a set of blobs, similar to a directory in a file system. A storage account can include an unlimited number of containers, and a container can store an unlimited number of blobs. The container name must be lowercase.
- Azure Storage supports three types of blobs:
- Block blobs
- Append blobs
- Page blobs
💵 Azure Blob Storage Costs
Total cost of block blob storage depends on:
- The volume of data stored per month.
- Quantity and types of operations performed, along with any data transfer costs.
- Data redundancy option selected.
Finally, here goes the presentation:
Homework for Participants:
- Implement your first CosmoDB, store, and share files in Blob Storage.
- Complete Microsoft Learn Azure Fundamentals Path and schedule your AZ-900 Exam, for participating in the 1-month exam prep trainings.