O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Microsoft Azure Storage Essentials

Book Description

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

About This Book

  • Get to grips with the features of Microsoft Azure in terms of Blob, Table, Queue, and File storage
  • Learn the how and when of using the right storage service for different business use cases
  • Make use of Azure storage services in various languages with this fast-paced and easy-to-follow guide

Who This Book Is For

If you are an IT professional with basic knowledge of Microsoft Azure and want to learn Azure storage services, then this book is for you. Some familiarity with C# and Visual Studio is needed in order to utilize the examples present in the book.

What You Will Learn

  • Get familiar with Windows 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

In Detail

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.

Style and approach

This book is a concise and fast-paced guide to learn about development for storage services. Each topic is elaborated sequentially, in order to create basic knowledge for using it in the right place and the correct way.

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

Table of Contents

  1. Microsoft Azure Storage Essentials
    1. Table of Contents
    2. Microsoft Azure Storage Essentials
    3. Credits
    4. About the Author
    5. Acknowledgments
    6. About the Reviewers
    7. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why subscribe?
        2. Free access for Packt account holders
        3. Instant updates on new Packt books
    8. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    9. 1. An Introduction to Microsoft Azure Storage Services
      1. An introduction to Azure Storage
        1. High availability and durability
        2. Strong consistency
        3. Scalability
      2. Storage services
        1. The Blob storage
        2. The Table storage
        3. The Queue storage
        4. The File storage
      3. Storage accounts
        1. The namespaces and endpoints
        2. Storage account security
      4. Redundancy options
      5. Metrics and logging
      6. Summary
    10. 2. Developing Against Storage
      1. The Service Management REST APIs
        1. The request
        2. The response
        3. Microsoft Azure Management Libraries
      2. The Storage Services REST APIs
        1. The Blob service REST API
        2. The Table service REST API
        3. The Queue service REST API
        4. The File service REST API
      3. Azure Storage Client Libraries
        1. Microsoft Azure Storage Client Library for .NET
        2. Microsoft Azure Storage Client Library for Node.js
        3. The Microsoft Azure Storage SDK for Java
        4. The PHP Client Libraries for Azure
        5. The Microsoft Azure SDK for Python
        6. The Microsoft Azure SDK for Ruby
      4. Azure Storage Emulator
      5. PowerShell
      6. Summary
    11. 3. Working with Blobs
      1. Types of blobs
        1. Block blobs
        2. Page blobs
      2. The blob structure
        1. Containers
        2. Addressing blobs
      3. Using the Azure Storage Client Library
        1. Creating a container
        2. Uploading the first blob
        3. Getting acquainted with an explorer
        4. Downloading a blob
        5. The container access level
        6. Shared Access Signatures
        7. Deleting a blob
        8. Hierarchies
        9. The $root container
        10. The folder structure
        11. Listing blobs
          1. Paged listing and continuation tokens
        12. Properties and metadata
        13. Conditional headers
      4. Blob snapshots
      5. Summary
    12. 4. Working with Tables
      1. The arrival of NoSQL
        1. NoSQL
      2. The Table storage basics
        1. Entities
        2. Naming rules
      3. Using the Azure Storage Client Library
      4. Starting with a table
      5. Adding entities to a table
      6. Entity Group Transactions
      7. Updating entities
      8. Querying the table
      9. Continuation tokens
      10. Summary
    13. 5. Designing Scalable and Performant Tables
      1. Things to understand about Azure Table storage
      2. The table's primary key
      3. The three layer architecture
      4. Partitions
      5. Entity Group Transactions
      6. Choosing between Azure Table and Azure SQL
      7. Table design guidelines
      8. Studying your data
        1. Partition sizing
        2. Querying performance
      9. Selecting the best PartitionKey
      10. Summary
    14. 6. Working with Queues
      1. The need for queues
        1. Increasing the availability and reliability
        2. Reducing latency and avoiding IO bottlenecks
        3. Load leveling
        4. Passing messages between Azure web roles and worker roles
      2. The Queue storage structure
        1. Addressing
        2. Naming
      3. Service Bus Queues
      4. Using the queue storage from .NET
        1. Creating our first queue
          1. Inserting a message in the queue
        2. Handling large messages
        3. Retrieving the next message
        4. Getting more messages
        5. The dequeueCount and poison messages
        6. Peeking messages
        7. Editing queue messages
        8. Setting metadata for the queue
        9. Getting the queue length and metadata
        10. Deleting queues
      5. Summary
    15. 7. Working with the Azure File Service
      1. Where are Azure Files used?
      2. The File storage structure
      3. Using Azure Files
        1. Using PowerShell with Azure Files
          1. Getting familiar with Azure PowerShell
          2. Creating a file share
          3. Creating directories and subdirectories
          4. Uploading the first file
          5. Downloading a file
          6. Listing files
          7. Removing files
        2. File Shares via the SMB 2.1 protocol
          1. Persisting connections to shares
            1. Mounting shares from Linux
        3. File Shares via the Storage Client Library
          1. Creating our share
          2. Creating a directory
          3. Uploading and downloading files
      4. Using AzCopy
      5. Summary
    16. 8. Transient Fault Handling and Analytics
      1. Transient fault handling
      2. Storage Analytics
        1. A closer look at metrics
          1. Transaction metrics
          2. Capacity metrics
        2. A closer look at logging
          1. The log format
      3. Analyzing the Storage Analytics data
      4. Common practices
      5. Summary
    17. Index