Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Microsoft Azure Storage Essentials
Microsoft Azure Storage Essentials

Microsoft Azure Storage Essentials: Harness the power of Microsoft Azure services to build efficient cloud solutions

Arrow left icon
Profile Icon Chukri A Soueidi
Arrow right icon
$19.99 per month
Paperback Aug 2015 126 pages 1st Edition
eBook
$9.99 $21.99
Paperback
$26.99
Subscription
Free Trial
Renews at $19.99p/m
Arrow left icon
Profile Icon Chukri A Soueidi
Arrow right icon
$19.99 per month
Paperback Aug 2015 126 pages 1st Edition
eBook
$9.99 $21.99
Paperback
$26.99
Subscription
Free Trial
Renews at $19.99p/m
eBook
$9.99 $21.99
Paperback
$26.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Microsoft Azure Storage Essentials

Chapter 1. An Introduction to Microsoft Azure Storage Services

Microsoft Azure is an open and secure cloud platform that enables you to build, deploy, and manage applications. With its broad collection of services, it allows you to build with any programming language, tool, or framework, and integrate your cloud-hosted solutions with your existing IT environments.

Azure services fall into three main categories: Infrastructure as a Service (IaaS), like virtual machines; Software as a Service (SaaS), like Azure SQL; and Platform as a Service (PaaS) solutions, like Office 365. This is a collection of offerings that engage IT specialists, developers, and business owners.

The platform is globally present through a network of Microsoft-managed datacenters, distributed around 19 remote regions (as of writing), which facilitate redundancy and rapid recovery. It is a self-service platform where you can provision your resources and scale them elastically based on your own business needs.

It supports various programming languages such as .NET, PHP, Java, Node.js, Python, and Ruby. In addition, it supports a variety of data services like relational databases, NoSQL, and Big Data solutions. It also promotes hybrid solutions and allows you to extend your datacenters to the cloud using virtual networks.

Below is a brief classification for the services offered:

  • Compute services such as virtual machines and cloud services
  • Web and mobile services such as web apps and mobile apps
  • Storage and data services such as blobs, tables, and SQL databases
  • Hybrid integration services such as queues, BizTalk, and Service Bus
  • Networking services such as virtual networks and traffic manager
  • Analytics services such as machine learning
  • Identity and access services such as active directory and multi-factor authentication
  • Media and CDN services

Azure also offers management services, like the portal and marketplace, and developer enriching features such as Visual Studio Online and application insights.

Tip

For all services, you can check them out on the Azure documentation website at http://azure.microsoft.com/en-us/services/.

You can also download the service catalog poster from http://azure.microsoft.com/en-us/documentation/infographics/azure/.

An introduction to Azure Storage

Azure Storage is a highly-available and massively-scalable cloud storage platform that is designed to help you build internet scale applications. It is designed to store huge amounts of geo-redundant data with very fast performance. The platform exposes different abstractions of storage services to target different scenarios. This book will cover four service abstractions of storage, which are blobs, tables, queues, and file storage.

These services, like many other services from Azure, are exposed and accessed via REST APIs. Microsoft also provides a set of client libraries built on top of the REST APIs for different platforms like .NET, Android, and Node.js. These libraries facilitate interaction with the storage services, and add additional advanced capabilities like retry logic and asynchronous programming.

Azure Storage enables new scenarios for applications that require scalable and highly available data storage. These include applications such as social networks, video and image serving apps, gaming, medical records, and much more. Consumers will only pay for what they use based on traffic and capacity. Some of the Azure Storage key design features are described in the next sections.

High availability and durability

Azure Storage allows you to store petabytes of data, which will always be replicated to multiple locations. Microsoft guarantees 99.9 percent availability of the data when requested through SLAs, a topic we will discuss later. The periodic replication across geographically dispersed locations also ensures data recovery protection against disasters like earthquakes, fire, and so on.

Strong consistency

The service is designed to support a strong consistency model, which means that updates on the data are directly reflected to all replication locations where data is distributed. That is opposed to eventual consistency models that propagate changes eventually and not directly. The ability of Azure Storage to be highly available, strongly consistent and distributed is due to the advanced layering system and the design implemented in the storage platform.

Scalability

The major goal for the service is to enable the storing of massive amounts of data. For this, the service implements a global namespace, which makes access to the data consistent for consumers from any location in the world. You can scale to arbitrary amounts of data over time without worrying about where this data is stored and how it should be accessed.

Note

Other abstractions of the platform are Azure Disks and the Premium Storage service, which both deliver disk support for Azure Virtual Machines. In this book we will not use these services; our main focus will be the services that are needed by apps.

Storage services

As mentioned earlier, the service offers different kinds of abstractions that are intended to accommodate different data management and storage needs for applications. For unstructured data, there are Azure blobs; for structured non-relational data you have Azure tables; for reliable messaging between applications you have Azure queues; for standard file shares, there are Azure files.

The Blob storage

Blob storage provides a massively scalable object store in the cloud. This includes objects such as documents, large log files, backups for computers, databases, videos, and so on. Blobs are placed inside containers that can contain many of them, not exceeding 500 TB.

There are two types of blobs: block blobs, which are perfect for storing objects that might be streamed and used by applications like media files and documents. The other type is page blobs, which are optimized to support random writes like virtual hard disk drives.

The Table storage

Tables offer a highly available and scalable option for applications to store semi-structured datasets. They are ideal for apps that require a non-relational, flexible data schema like user, device, or any other type of metadata.

You can store key/attribute entities inside tables; tables are schema-less, meaning that you can store different types of datasets inside the same table, which allows to rapidly adapting to data changes in applications.

A NoSQL cloud store is currently being used by several types of applications that do not require relational databases. Data can be accessed using the standard REST interface and OData protocol for querying.

The Queue storage

Queue storage provides a reliable, low-latency and high-throughput messaging system. You can decouple components to create more flexible apps that are less sensitive to individual component failures by buffering operations into queues. Also, this allows you to handle traffic bursts by saving operations and not dropping them. It allows scheduling of asynchronous tasks such as large data operations or simply sending emails.

The File storage

File storage provides cloud-based file shares allowing legacy applications to make use of the cloud, which provides them with mounted shares. File storage can be used to store data that needs to be accessed by virtual machines, such as configuration and installation files. You can create shares and under them create directories and files, all of which are accessed via a REST API along with the standard file access protocol SMB, which we shall discuss later.

Storage accounts

The Azure storage account is the basic block of the storage service. It manages access to the storage resources and provides a unique namespace for them; it also defines how your data will be replicated and made redundant. In order to create a storage account you need a valid Azure. There are various ways to create storage accounts; the easiest way is from the Azure portal (Azure provides a management portal that we will discuss in later chapters). Following very simple steps, you will be asked to provide a URL, choose a desired location for your data, and a replication option. Another option to create a storage account is to do it programmatically by using one of the client libraries.

Tip

For a step-by-step tutorial on creating storage accounts from the portal, see https://azure.microsoft.com/en-us/documentation/articles/storage-create-storage-account/#create-a-storage-account.

In the following sections we shall discuss the basic and essential features of storage accounts. The following figure illustrates Microsoft Azure Storage concepts:

Storage accounts

The namespaces and endpoints

As mentioned earlier, each storage account has a unique global namespace, which allows clients to address the service resources. The storage account is a part of this namespace that represents a URI that can be called via simple HTTP and HTTPS requests.

Thus, all data is accessible via the following endpoints:

  • Blob service: http(s)://<account-name>.blob.core.windows.net
  • Table service: http(s)://<account-name>.table.core.windows.net
  • Queue service: http(s)://<account-name>.queue.core.windows.net
  • File service: http(s)://<account-name>.file.core.windows.net

The account name <account-name> is selected by the user creating it and should be unique among all other storage accounts. This name will be used by the platform to locate where the data is stored in order to route incoming requests.

Storage account security

By default, and for the security of your data, all requests to the storage service must be authenticated. To do this, the platform generates two access keys for each account that should be supplied for authentication. The owner of the subscription can regenerate any key at any time. By having two access keys, the user can use the second key to authenticate while generating a new one, so that no downtime or interruption will occur to the service.

It is recommended you do not share the access keys with other users; they should be kept safe. In order to allow other users to access your data, you can create Shared Access Signatures (SAS). These signatures can be generated for a specific set of resources with a specific access permission for a definite amount of time.

Tip

To gain full understanding of how shared access signatures work, have a look at the following link:

https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-shared-access-signature-part-1/

You can also give public read access to blob storage in containers. When a container is set to public, anyone can read the data without authenticating the request. This is perfect for public media files such as images, documents, or videos on websites. (Users will still need valid storage access keys to write or delete data, however.)

Tip

Downloading the example code

You can download the example code fies from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the fies e-mailed directly to you.

Redundancy options

Azure Storage is available at several regions around the world, allowing data to be replicated within the same region or to different regions, depending on your selection. The following are the replication strategies to choose from when creating a storage account:

  • Locally redundant storage (LRS) stores three synchronous copies of the data in a single facility in the same region.
  • Zone-redundant storage (ZRS) is where data is stored and replicated across multiple facilities, either within one or two nearby regions.

    Note

    ZRS is only available only for block blobs storage. Also, once you have created a storage account with ZRS, you cannot later change it. Further information can be found at https://azure.microsoft.com/en-us/documentation/articles/storage-redundancy/.

  • Geo-redundant storage (GRS) maintains six asynchronous copies of the data. Data is replicated the same way as for ZRS, but is then asynchronously replicated to a secondary far region that falls under a separate fault domain, without allowing direct access to it.
  • Read-access geo-redundant storage (RA-GRS) provides all of the benefits of geo-redundant storage noted above, but it allows read access to data at the secondary region whenever the primary region becomes unavailable.

    Note

    A fault domain is a collection of servers and network components that share a single point of failure. To improve service availability, Azure hosts data on multiple fault domains.

Metrics and logging

You can monitor your storage account by collecting metrics for the requests on your services. Metrics are collected to analyze usage and diagnose issues in order to improve performance of all consuming applications.

Transactional information such as ingress/egress, latency, and success percentages is saved for requests and responses on services. Capacity information is also stored to monitor usage. Data in these tables can be accessed using the table service APIs and .Net APIs. The data is read-only and cannot be manipulated or created by the user.

Summary

The purpose of this chapter is to introduce you to Azure Storage and make you familiar with its components and features. Through subsequent chapters, we will explore these topics more and dive into developing apps that consume Azure Storage service using the .NET framework. The next chapter will focus on the way this service exposes its functionality to consumers through Service APIs that allow developers to execute operations on the service platform from any client app.

Left arrow icon Right arrow icon

Description

With the many advantages of using cloud computing, Azure Storage is a robust platform that helps you shift faster to the cloud by providing scalable, durable and highly available data storage options. For developers, it provides a rapid development environment that supports building large-scale applications to support new scenarios on the cloud, server, mobile and web. For IT professionals, it reduces complexity of managing, protecting and replicating data. This book will make you familiar with the Azure storage in terms of architecture and components. It starts with the basics of storage accounts, which give access to the four basic services the Blob, Table, Queue, and File storage services. These services are exposed through a REST API that makes it possible for client libraries to implement most of their functionality in a wide range of popular programming languages. Emphasizing the Windows Azure Client Library for .NET, we will deal with storing and retrieving unstructured data with Blobs, then will move to Tables to insert and update entities in a structured NoSQL fashion. Then we will discover Queues as a reliable messaging service, and after that we will show File storage that allows you to migrate legacy applications data to the cloud to end with transient fault handling and service monitoring.

Who is this book for?

This book is intended for IT professionals and also for students, who are familiar with data management solutions and with web development. If you are a developer, you should be familiar with C# and Visual Studio in order to utilize the code examples available in this book.

What you will learn

  • Get familiar with Microsoft Azure Storage Service in terms of architecture and working
  • Recognize the libraries and tools offered by Azure storage, supporting several popular programming languages
  • Know how the storage services expose their resources as REST APIs and what client libraries exists to develop against the storage
  • Gain the understanding of types of Blobs and best ways to upload and retrieve them
  • Learn how to make use of Tables as a NoSQL data store and how to retrieve, insert, update and delete entities in terms of design patterns
  • Use Queue storage as a messaging solution for communications between different apps
  • Create mounted shares and allow legacy systems to access data using the SMB protocol
  • Get accustomed to deal with faults, monitor storage metrics and logs

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 28, 2015
Length: 126 pages
Edition : 1st
Language : English
ISBN-13 : 9781784396237
Vendor :
Microsoft
Concepts :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Aug 28, 2015
Length: 126 pages
Edition : 1st
Language : English
ISBN-13 : 9781784396237
Vendor :
Microsoft
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 108.97
Microsoft Azure Storage Essentials
$26.99
Learning Microsoft Azure
$48.99
Microsoft Azure Security
$32.99
Total $ 108.97 Stars icon
Banner background image

Table of Contents

9 Chapters
1. An Introduction to Microsoft Azure Storage Services Chevron down icon Chevron up icon
2. Developing Against Storage Chevron down icon Chevron up icon
3. Working with Blobs Chevron down icon Chevron up icon
4. Working with Tables Chevron down icon Chevron up icon
5. Designing Scalable and Performant Tables Chevron down icon Chevron up icon
6. Working with Queues Chevron down icon Chevron up icon
7. Working with the Azure File Service Chevron down icon Chevron up icon
8. Transient Fault Handling and Analytics Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.