It’s a good Segway to move from OpenStack Storage to Azure Storage. Core concepts of Object storage remains the same. Azure Blob storage stores large amounts of unstructured data that can be accessed via HTTP (s). Gartner projects 40% growth in global data generated YoY, with 90% being the unstructured data. With the explosion of data we have a requirement for Serving images or documents directly to a browser or stream video and audios. Millions of images and videos are becoming a norm not only for social sites but also for any marketing, any size business to attract and retain their target base. Customers are getting smarter and smarter and want the access data/ information anytime, anywhere and in an effective form. In this hypercompetitive world businesses have a need for this multi dimension data and to store files for distributed access. But most important thing for any business is ‘insight’ since data is a new currency. There is a tremendous need for data analytics and making a sense of tons of information to create unique value proposition for target users. For all these activities, from storage point of view, we would require to perform secure backup and disaster recovery and storing data for analysis.
Lets start with Blobs which is a file of any type and size and offers block blobs (+append), page blobs storage services . While block blobs are ideal for storing text or binary files, page blogs are good for frequent read/write operations. Azure Virtual Machines use page blobs as OS and data disks. Important concept in blob is ‘container’, which provides a grouping of a set of blobs. All (unlimited) blobs must be in a container. Every object that holds data is stored in Azure Storage is identified by a unique partition key. Each blob contains its own partition. Blobs can therefore be distributed across many servers in order to scale out access to them.
For storing large amounts of structured, non-relational data Table (collection of entities) storage is used. It is a NoSQL data store which accepts authenticated calls from inside and outside the Azure cloud. Typically for quick querying data using a clustered index or storing datasets that don’t require complex joins, or stored procedures; and tables can scale as demand increases. Tables don’t enforce a schema on entities, which means a single table can contain entities that have different sets of properties. Each entity can include up to 252 properties to store data. The partition key for an entity is table name + partition key, where the partition key is the value of the required user-defined Partition Key property for the entity.
File storage is a shared storage for apps using SMB 2.1 protocol. Virtual machines and cloud services share files across FSAPI. Since a File storage share is a standard SMB 2.1 file share, applications running in Azure can access data in the share via file I/O APIs. File Storage is used when we migrate on-premises applications that rely on file shares to run on virtual machines or cloud services (unless someone decides to re-write:)). Other usage could be around storing configuration files, or storing tools and utilities needed for developing or administering virtual machines or cloud services.
Oh yes, Queues are nothing but the storing large numbers of messages to access via http. Primary role of queues are to pass messages from Web role to worker role.
Everything (well, almost) is getting automated even driving of cars, so why not storage. Azure storage automation (my last blog about cleversafe for OpenStake swift) requires us to learn PowerShell tools which I don’t know. But I know that Azure automation runbook contains variety of cmdlets which are used for automation.
We will build Azure storage solutions based on these core concepts and architecture. Let me know what else you would like to see in this ongoing storage series.