Developing Microsoft Azure Solutions. Exam Ref. Zoiner Tejada Michele Leroux Bustamante Ike Ellis

Size: px
Start display at page:

Download "Developing Microsoft Azure Solutions. Exam Ref. Zoiner Tejada Michele Leroux Bustamante Ike Ellis"

Transcription

1 Developing Microsoft Azure Solutions Exam Ref Zoiner Tejada Michele Leroux Bustamante Ike Ellis

2 Exam Ref Developing Microsoft Azure Solutions Zoiner Tejada Michele Leroux Bustamante Ike Ellis

3 PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington Copyright 2015 by Zoiner Tejada and Michele Leroux Bustamante All rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher. Library of Congress Control Number: ISBN: Printed and bound in the United States of America. First Printing Microsoft Press books are available through booksellers and distributors worldwide. If you need support related to this book, Microsoft Press Book Support at mspinput@microsoft.com. Please tell us what you think of this book at Microsoft and the trademarks listed at EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are property of their respective owners. The example companies, organizations, products, domain names, addresses, logos, people, places, and events depicted herein are fictitious. No association with any real company, organization, product, domain name, address, logo, person, place, or event is intended or should be inferred. This book expresses the author s views and opinions. The information contained in this book is provided without any express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, or distributors will be held liable for any damages caused or alleged to be caused either directly or indirectly by this book. Acquisitions Editor: Karen Szall Developmental Editor: Karen Szall Editorial Production: Box Twelve Communications Technical Reviewer: Magnus Märtensson; Technical Review services provided by Content Master, a member of CM Group, Ltd. Cover: Twist Creative Seattle

4 Contents Introduction Microsoft certifications Acknowledgments Free ebooks from Microsoft Press Errata, updates, & book support We want to hear from you Stay in touch Preparing for the exam xi xi xii xiii xiii xiii xiii xiv Chapter 1 Design and implement websites 1 Objective 1.1: Deploy websites... 2 Defining deployment slots 2 Rolling back deployments 7 Creating hosting plans 7 Migrating websites between hosting plans 10 Creating a website within a hosting plan 12 Objective summary 13 Objective review 13 Objective 1.2: Configure websites...13 Defining and using app settings 14 Defining and using connection strings 16 Defining and using request handler mappings 18 Defining and using virtual directories and virtual applications 20 Configure custom domains 22 Configuring certificates 26 Configuring SSL bindings 32 What do you think of this book? We want to hear from you! Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you. To participate in a brief online survey, please visit: iii

5 Managing websites by using the API, Windows PowerShell, and the Cross-Platform Command Line Interface (xplat-cli) 33 Objective summary 34 Objective review 35 Objective 1.3: Configure diagnostics, monitoring, and analytics...35 Retrieving diagnostics data and viewing streaming logs 36 Configuring diagnostics 43 Using remote debugging 45 Configuring endpoint monitoring 46 Configuring alerts 48 Monitoring website resources 51 Objective summary 54 Objective review 54 Objective 1.4: Implement WebJobs...55 Writing WebJobs using the SDK 55 Packaging and deploying WebJobs 58 Scheduling WebJobs 60 Objective summary 61 Objective review 61 Objective 1.5: Configure websites for scale and resilience...62 Configuring auto-scale using built-in and custom schedules 63 Configuring auto-scale by metric 64 Changing the size of an instance 68 Configuring Traffic Manager 69 Objective summary 73 Objective review 73 Objective 1.6: Design and implement applications for scale and resilience...74 Selecting a pattern 75 Implementing transient fault handling for services and responding to throttling 79 Disabling Application Request Routing (ARR) affinity 82 Objective summary 83 Objective review 83 Answers...84 iv Contents

6 Chapter 2 Create and manage virtual machines 91 Objective 2.1: Deploy workloads on Azure virtual machines Identifying supported workloads 92 Creating a VM 93 Objective summary 96 Objective review 96 Objective 2.2: Create and manage a VM image or virtual hard disk...97 Creating specialized and generalized VM images 97 Uploading VHDs to Azure 99 Creating disks 100 Creating a VM using existing disks 101 Generalizing a VM 103 Creating or capturing a VM image 103 Instantiating a VM instance from a VM image 105 Copying images between storage accounts 106 Objective summary 107 Objective review 107 Objective 2.3: Perform configuration management VM Agent and VM extensions 108 Configuring VMs with Custom Script Extension 109 Using PowerShell DSC 110 Configuring VMs with DSC 112 Using the Puppet and Chef configuration management tools 114 Enabling Puppet extensions 114 Enabling Chef extensions 119 Enabling remote debugging 122 Objective summary 122 Objective review 123 Objective 2.4: Configure VM networking Configuring DNS at the cloud service level 124 Configuring endpoints with instance-level public IP addresses 124 Configuring endpoints with reserved IP addresses 126 Configuring access control lists 127 Load balancing endpoints and configuring health probes 128 Configuring Direct Server Return and keep-alive 132 Contents v

7 Leveraging name resolution within a cloud service 133 Configuring firewall rules 133 Objective summary 135 Objective review 136 Objective 2.5: Scale VMs Scaling up and scaling down VM sizes 137 Configuring availability sets 138 Configuring auto-scale 141 Objective summary 144 Objective review 144 Objective 2.6: Design and implement VM storage Planning for storage capacity 145 Configuring storage pools 146 Configuring disk caching 148 Configuring geo-replication 150 Configuring shared storage using Azure File storage 150 Objective summary 154 Objective review 155 Objective 2.7: Monitor VMs Configuring monitoring and diagnostics 156 Configuring endpoint monitoring 158 Configuring alerts 158 Monitoring metrics 160 Objective summary 162 Objective review 163 Answers vi Contents Chapter 3 Design and implement cloud services 171 Objective 3.1: Design and develop a cloud service Installing SDKs and emulators 172 Developing a web or worker role 173 Design and implement resiliency 180 Developing startup tasks 181 Objective summary 184 Objective review 184

8 Objective 3.2: Configure cloud services and roles Configuring instance size and count 185 Configuring auto-scale 187 Configuring cloud service networking 190 Configuring local storage 200 Configuring multiple websites in a web role 201 Configuring custom domains 204 Configuring caching 205 Objective summary 212 Objective review 212 Objective 3.3: Deploy a cloud service Packaging a deployment 214 Upgrading a deployment 214 VIP swapping a deployment 218 Implementing continuous delivery from Visual Studio Online 219 Implementing runtime configuration changes using the management portal 222 Configuring regions and affinity groups 225 Objective summary 228 Objective review 228 Objective 3.4: Monitor and debug a cloud service Configuring diagnostics 229 Profiling resource consumption 231 Enabling remote debugging 233 Enabling and using Remote Desktop Protocol 234 Debugging using IntelliTrace 236 Debugging using the emulator 237 Objective summary 239 Objective review 240 Answers Chapter 4 Design and implement a storage strategy 245 Objective 4.1: Implement Azure Storage blobs and Azure files Creating a container 246 Finding your account access key 249 Contents vii

9 viii Contents Uploading a blob 250 Reading data 251 Changing data 251 Setting metadata on a container 253 Storing data using block and page blobs 255 Streaming data using blobs 255 Accessing blobs securely 255 Implementing an async blob copy 256 Configuring the Content Delivery Network 257 Designing blob hierarchies 258 Configuring custom domains 258 Scaling Blob storage 259 Working with Azure File storage 259 Objective summary 260 Objective review 260 Objective 4.2: Implement Azure Storage tables Using basic CRUD operations 261 Querying using ODATA 265 Designing, managing, and scaling table partitions 266 Objective summary 267 Objective review 267 Objective 4.3: Implement Azure storage queues Adding messages to a queue 268 Processing messages 269 Retrieving a batch of messages 270 Scaling queues 270 Objective summary 271 Objective review 272 Objective 4.4: Manage access Generating shared access signatures 273 Creating stored access policies 276 Regenerating storage account keys 276 Configuring and using Cross-Origin Resource Sharing 278 Objective summary 279 Objective review 279

10 Objective 4.5: Monitor storage Configuring storage metrics 280 Analyzing storage metrics 283 Configuring Storage Analytics Logging 285 Analyzing storage logs 287 Objective summary 291 Objective review 291 Objective 4.6: Implement SQL databases Choosing the appropriate database tier and performance level 292 Configuring and performing point in time recovery 295 Enabling geo-replication 297 Importing and exporting data and schema (existing portal) 301 Importing and exporting data and schema (Preview portal) 302 Objective summary 303 Objective review 303 Answers Chapter 5 Manage application and network services 313 Objective 5.1: Integrate an app with Azure Active Directory Creating a directory 314 Managing users 315 Integrating applications 317 Querying directories with the Graph API 324 Objective summary 328 Objective review 329 Objective 5.2: Configure a virtual network Creating a virtual network 330 Adding a VM to a virtual network 332 Deploying a cloud service to a virtual network 334 Objective summary 335 Objective review 335 Objective 5.3: Modify network configuration Modifying a subnet (existing portal) 336 Modifying a subnet (Preview portal) 337 Moving a VM or cloud service to a new subnet 338 Contents ix

11 Exporting network configuration 339 Importing network configuration 339 Objective summary 340 Objective review 340 Objective 5.4: Design and implement a communication strategy Creating a Service Bus namespace 342 Selecting a protocol for messaging 343 Using Service Bus relays 344 Using Service Bus queues 349 Using Service Bus topics and subscriptions 356 Using event hubs 361 Using notification hubs 366 Objective summary 368 Objective review 369 Objective 5.5: Scale and monitor communication Choosing a pricing tier 370 Scaling Service Bus features 371 Monitoring Service Bus features 373 Objective summary 377 Objective review 377 Objective 5.6: Implement caching Implementing Redis Cache 379 Implementing Azure Managed Cache Service 383 Objective summary 384 Objective review 385 Answers Index 395 What do you think of this book? We want to hear from you! Microsoft is interested in hearing your feedback so we can continually improve our books and learning resources for you. To participate in a brief online survey, please visit: x Contents

12 Introduction This book covers Microsoft Azure from a high-level perspective, consistent with the Microsoft Certification Exam : Developing Microsoft Azure Solutions. The target audience for this book includes solution architects, DevOps engineers, and QA engineers already familiar with building, deploying, and monitoring scalable solutions with existing development tools, to some extent including Microsoft Azure. The material covered in this book builds on your existing knowledge and experience designing, developing, implementing, automating, and monitoring Microsoft Azure, extending that knowledge to the current state of platform features, development techniques, and management tools. In this book, you ll find coverage of design and implementation concepts, guidance on applying features, step-by-step instructions, and references to appropriate code listings for specific examples. The and exams collectively validate that you have the skills and knowledge necessary to design, deploy, and manage Microsoft Azure solutions. This book focuses on exam and prepares you from a development and DevOps perspective. Beyond supporting your exam preparation, where possible, we endeavored to include insights from our own experiences helping customers migrate and manage their solutions on the Microsoft Azure platform. This book covers every exam objective, but it does not cover every exam question. Only the Microsoft exam team has access to the exam questions themselves and Microsoft regularly adds new questions to the exam, making it impossible to cover specific questions. You should consider this book a supplement to your relevant real-world experience and other study materials. If you encounter a topic in this book that you do not feel completely comfortable with, use the links you ll find in text to find more information and take the time to research and study the topic. Great information is available on MSDN, TechNet, and in blogs and forums. Microsoft certifications Microsoft certifications distinguish you by proving your command of a broad set of skills and experience with current Microsoft products and technologies. The exams and corresponding certifications are developed to validate your mastery of critical competencies as you design and develop, or implement and support, solutions with Microsoft products and technologies both on-premises and in the cloud. Certification brings a variety of benefits to the individual and to employers and organizations. xi

13 MORE INFO ALL MICROSOFT CERTIFICATIONS For information about Microsoft certifications, including a full list of available certifications, go to Acknowledgments We d like to thank the following people: To Colin Lyth at Microsoft, thank you for recommending us to author this book; we appreciate the opportunity. A well-deserved cheers to Devon Musgrave at Microsoft for helping us kick-start the editorial process, and a big thank you to our editor, Karen Szall at Microsoft, for seeing the whole editing process through and dealing with the insanity of an ever-changing platform under tight deadlines. Thank you also to the entire Microsoft Press team working on this book. It s incredible to see all of the effort you put in and how fast you move things forward! To the amazing people behind the features of Microsoft Azure: Many of you have provided first class support and guidance by our side to several of our marquee customers whom we have migrated to Azure. To name a few, we thank you Yochay Kieriati, Brady Gaster, Charles Sterling, Anna Timasheva, Suren Machiraju, and others who have enhanced our understanding of the underlying Microsoft Azure platform through our experiences together. Where appropriate, we share these insights with you, dear reader. To Brian Noyes, a founding member of Solliance, and several members of our Solliance Partner Network whom we work with regularly to implement Azure solutions: Our collective knowledge base is continually enhanced working together, and certainly that influences the quality of this book. To our technical reviewer, Magnus Martensson, thank you for your very thoughtful and detailed review of each chapter and for helping us by turning those reviews around quickly! To our families, thank you for your support and patience through the inevitable pressure that comes with publishing. We love you! xii Introduction

14 Free ebooks from Microsoft Press From technical overviews to in-depth information on special topics, the free ebooks from Microsoft Press cover a wide range of topics. These ebooks are available in PDF, EPUB, and Mobi for Kindle formats, ready for you to download at: Check back often to see what is new! Errata, updates, & book support We ve made every effort to ensure the accuracy of this book and its companion content. You can access updates to this book in the form of a list of submitted errata and their related corrections at: If you discover an error that is not already listed, please submit it to us at the same page. If you need additional support, Microsoft Press Book Support at mspinput@microsoft.com. Please note that product support for Microsoft software and hardware is not offered through the previous addresses. For help with Microsoft software or hardware, go to We want to hear from you At Microsoft Press, your satisfaction is our top priority, and your feedback our most valuable asset. Please tell us what you think of this book at: The survey is short, and we read every one of your comments and ideas. Thanks in advance for your input! Stay in touch Let s keep the conversation going! We re on Twitter: Introduction xiii

15 Preparing for the exam Microsoft certification exams are a great way to build your resume and let the world know about your level of expertise. Certification exams validate your on-the-job experience and product knowledge. While there is no substitution for on-the-job experience, preparation through study and hands-on practice can help you prepare for the exam. We recommend that you round out your exam preparation plan by using a combination of available study materials and courses. For example, you might use this Exam Ref and another study guide for your at home preparation and take a Microsoft Official Curriculum course for the classroom experience. Choose the combination that you think works best for you. Note that this Exam Ref is based on publicly available information about the exam and the author s experience. To safeguard the integrity of the exam, authors do not have access to the live exam. xiv Preparing for the exam

16 CHAPTER 4 Design and implement a storage strategy Azure Storage and Azure SQL Database both play an important role in the Microsoft Azure Platform-as-a-Service (PaaS) strategy for storage. Azure Storage enables storage and retrieval of large amounts of unstructured data. You can store content files such as documents and media in the Blob service, use the Table service for NoSQL data, use the Queue service for reliable messages, and use the File service for Server Message Block (SMB) file share scenarios. Azure SQL Database provides classic relational database features as part of an elastic scale service. In this chapter, you will learn how to implement each of the Azure Storage services, how to monitor them, and how to manage access. You ll also learn how to work with Azure SQL Database. MORE INFO INTRODUCTION TO STORAGE This chapter assumes you have a basic understanding of Azure Storage features. For an introduction to the topic, see storage-introduction/. EXAM TIP There are many ways to interact with and develop against Azure Storage including the management portal, using Windows PowerShell, using client libraries such as those for the.net Framework, and using the Storage Services REST API. In fact, the REST API is what supports all other options. Objectives in this chapter: Objective 4.1: Implement Azure Storage blobs and Azure files Objective 4.2: Implement Azure Storage tables Objective 4.3: Implement Azure Storage queues Objective 4.4: Manage access Objective 4.5: Monitor storage Objective 4.6: Implement SQL databases 245

17 Objective 4.1: Implement Azure Storage blobs and Azure files Azure blob storage is the place to store unstructured data of many varieties. You can store images, video files, word documents, lab results, and any other binary file you can think of. In addition, Azure uses blob storage extensively. For instance, when you mount extra logical drives in an Azure virtual machine (VM), the drive image is actually stored in by the Blob service associated with an Azure blob storage account. In a blob storage account, you can have many containers. Containers are similar to folders in that you can use them to logically group your files. You can also set security on the entire container. Each blob storage account can store up to 500 terabytes of data. All blobs can be accessed through a URL format. It looks like this: account name>.blob.core.windows.net/<container name>/<blob name> The Azure File service provides an alternative to blob storage for shared storage, accessible via SMB 2.1 protocol. This objective covers how to: Read data Change data Set metadata on a container Store data using block and page blobs Stream data using blobs Access blobs securely Implement async blob copy Configure Content Delivery Network (CDN) Design blob hierarchies Configure custom domains Scale blob storage Work with file storage Creating a container This section explains how to create a container and upload a file to blob storage for later reading. 246 CHAPTER 4 Design and implement a storage strategy

18 Creating a container (existing portal) To create a container in the management portal, complete the following steps: 1. Navigate to the Containers tab for your storage account in the management portal accessed via 2. Click Add on the command bar. If you do not yet have a container, you can click Create A Container, as shown in Figure 4-1. FIGURE 4-1 The option to create a container for a storage account that has no containers 3. Give the container a name, and select Public Blob for the access rule, as shown in Figure 4-2. FIGURE 4-2 New container dialog box 4. The URL for the container can be found in the container list, shown in Figure 4-3. You can add additional containers by clicking Add at the bottom of the page on the Containers tab. FIGURE 4-3 Containers tab with a list of containers and their URLs Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 247

19 NOTE CONTAINER ACCESS PERMISSIONS You can choose between the following access permissions on the container: Private All access to the container and its blobs require authentication. Public Container All access to the container and its blobs are anonymous. Public Blob You cannot list blobs in the container without authentication, but you can navigate to the blob URL, if you have it, and read it anonymously. This setting can be changed at any time through the management portal, by using Windows PowerShell, or by configuring it programmatically. Creating a container (Preview portal) To create a container in the Preview portal, complete the following steps: 1. Navigate to the management portal accessed via 2. Click Browse on the command bar. 3. Select Storage from the Filter By drop-down list. 4. Select your storage account from the list on the Storage blade. 5. Click the Containers box. 6. On the Containers blade, click Add on the command bar. 7. Enter a name for the container, and select Blob for the access type, as shown in Figure 4-4. FIGURE 4-4 The Add A Container blade 248 CHAPTER 4 Design and implement a storage strategy

20 8. The URL for the container can be found in the container list, as shown in Figure 4-5. FIGURE 4-5 Containers blade with a list of containers and URLs Finding your account access key To access your storage account, you need the account name that was used to build the URL to the account and the primary access key. This section covers how to find the access keys for storage accounts. Finding your account access key (existing portal) To find your account access key using the management portal, complete the following steps: 1. Click the Dashboard tab for your storage account. 2. Click Manage Keys to find the primary and secondary key for managing your account, as shown in Figure 4-6. Always use the primary key for management activities (to be discussed later in this chapter). FIGURE 4-6 Manage Access Keys dialog box for a storage account Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 249

21 Finding your account access key (Preview portal) To find your account access key using the Preview portal, complete the following steps: 1. Navigate to your storage account blade. 2. Click the Keys box on the storage account blade (see Figure 4-7). FIGURE 4-7 Manage Keys blade Uploading a blob You can upload files to blob storage using many approaches, including the following: Using the AzCopy tool provided by Microsoft ( Directly using the Storage API and writing HTTP requests Using the Storage Client Library, which wraps the Storage API into a language and platform-specific library ( aspx) Using Windows PowerShell cmdlets ( dn aspx) To upload a blob using AzCopy, complete the following steps: 1. Download AZCopy from Run the.msi file downloaded from this link. 2. Open a command prompt and navigate to C:\Program Files (x86)\microsoft SDKs\ Azure\AzCopy. 3. Create a text file in a folder that is easy to get to. Insert some random text in it. 250 CHAPTER 4 Design and implement a storage strategy

22 4. In the command window, type a command that looks like this: AzCopy /Source:c:\test / Dest: /DestKey:key /Pattern:*.txt. 5. Press Enter to issue the command to transfer the file. Reading data You can anonymously read blob storage content directly using a browser if public access to blobs is enabled. The URL to your blob content takes this format: account name>.blob.core.windows.net/<your container name>/<your path and filename> Reading blobs via a browser Many storage browsing tools provide a way to view the contents of your blob containers. You can also navigate to the container using the existing management portal or the Preview portal to view the list of blobs. When you browse to the blob URL, the file is downloaded and displayed in the browser according to its content type. Reading blobs using Visual Studio You can also use Server Manager in Visual Studio 2013 to view the contents of your blob containers and upload or download files. 1. Navigate to the blob storage account that you want to use. 2. Double-click the blob storage account to open a window showing a list of blobs and providing functionality to upload or download blobs. Changing data You can modify the contents of a blob or delete a blob using the Storage API directly, but it is more common to do this programmatically as part of an application, for example using the Storage Client Library. EXAM TIP Any updates made to a blob are atomic. While an update is in progress, requests to the blob URL will always return the previously committed version of the blob until the update is complete. The following steps illustrate how to update a blob programmatically. Note that this example uses a block blob. The distinction between block and page blobs is discussed in Storing data using block and page blobs later in this chapter. 1. Create a C# console application. Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 251

23 2. In your app.config file, create a storage configuration string and entry, replacing AccountName and AccountKey with your storage account values: <configuration> <appsettings> <add key= StorageConnectionString value= DefaultEndpointsProtocol=https;Accou ntname=<your account name>;accountkey=<your account key> /> </appsettings> </configuration> 3. Use NuGet to obtain the Microsoft.WindowsAzure.Storage.dll. An easy way to do this is by using this command in the NuGet console: Install-package windowsazure.storage version Create a new console application, and add the following using statements to the top of your Program.cs file: using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.Storage.Auth; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.Storage.Blob; using System.Configuration 5. Add a reference to System.Configuration. Add the following code in the main entry point: var storageaccount = CloudStorageAccount.Parse( ConfigurationManager.AppSettings[ StorageConnectionString ]); 6. Use CloudBlobClient to gain access to the containers and blobs in your Azure storage account. After it is created, you can set permissions to make it publicly available: CloudBlobClient blobclient = storageaccount.createcloudblobclient(); 7. Use a CreateIfNotExists method to ensure a container is there before you interact with it: CloudBlobContainer container = blobclient.getcontainerreference( files ); container.createifnotexists(); container.setpermissions(new BlobContainerPermissions {PublicAccess = BlobContainerPublicAccessType.Blob }); 8. To upload a file, use the FileStream object to access the stream, and then use the UploadFromFileStream method on the CloudBlockBlob class to upload the file to Azure blob storage: CloudBlockBlob blockblob = container.getblockblobreference( myblob ); using (var filestream = System.IO.File.OpenRead(@ path\myfile )) { blockblob.uploadfromstream(filestream); } 252 CHAPTER 4 Design and implement a storage strategy

24 9. To list all of the blobs, use the following code: foreach (IListBlobItem item in container.listblobs(null, false)) { if (item.gettype() == typeof(cloudblockblob)) { CloudBlockBlob blob = (CloudBlockBlob)item; Console.WriteLine( Block blob of length {0}: {1}, blob.properties.length, blob.uri); } else if (item.gettype() == typeof(cloudpageblob)) { CloudPageBlob pageblob = (CloudPageBlob)item; Console.WriteLine( Page blob of length {0}: {1}, pageblob.properties.length, pageblob.uri); } else if (item.gettype() == typeof(cloudblobdirectory)) { CloudBlobDirectory directory = (CloudBlobDirectory)item; Console.WriteLine( Directory: {0}, directory.uri); } } 10. To download blobs, use the CloudBlobContainer class: CloudBlockBlob blockblob = container.getblockblobreference( photo1.jpg ); using (var filestream = System.IO.File.OpenWrite(@ path\myfile )) { blockblob.downloadtostream(filestream); } 11. To delete a blob, get a reference to the blob and call Delete(): CloudBlockBlob blockblob = container.getblockblobreference( myblob.txt ); blockblob.delete(); Setting metadata on a container Blobs and containers have metadata attached to them. There are two forms of metadata: System properties metadata User-defined metadata System properties can influence how the blob behaves, while user-defined metadata is your own set of name/value pairs that your applications can use. A container has only readonly system properties, while blobs have both read-only and read-write properties. Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 253

25 Setting user-defined metadata To set user-defined metadata for a container, get the container reference using GetContainerReference(), and then use the Metadata member to set values. After setting all the desired values, call SetMetadata() to persist the values, as in the following example: CloudBlobContainer container = blobclient.getcontainerreference("files"); files.metadata["counter"] = "100"; files.setmetadata(); MORE INFO BLOB METADATA Blob metadata includes both read-only and read-write properties that are valid HTTP headers and follow restrictions governing HTTP headers. The total size of the metadata is limited to 8 KB for the combination of name and value pairs. For more information on interacting with individual blob metadata, see azure/hh aspx. Reading user-defined metadata To read user-defined metadata for a container, get the container reference using GetContainerReference(), and then use the Metadata member to retrieve a dictionary of values and access them by key, as in the following example: CloudBlobContainer container = blobclient.getcontainerreference("files"); Console.WriteLine("counter value: " + files.metadata["counter"]; EXAM TIP If the metadata key doesn t exist, an exception is thrown. Reading system properties To read a container s system properties, first get a reference to the container using GetContainerReference(), and then use the Properties member to retrieve values. The following code illustrates accessing container system properties: CloudBlobContainer container = blobclient.getcontainerreference("files"); Console.WriteLine("LastModifiedUTC: " + container.properties.lastmodified); Console.WriteLine("ETag: " + container.properties.etag); MORE INFO CONTAINER METADATA AND THE STORAGE API You can request container metadata using the Storage API. For more information on this and the list of system properties returned, see azure/dd aspx. 254 CHAPTER 4 Design and implement a storage strategy

26 Storing data using block and page blobs The Azure Blob service has two different ways of storing your data: block blobs and page blobs. Block blobs are great for streaming data sequentially, like video and other files. Page blobs are great for non-sequential reads and writes, like the VHD on a hard disk mentioned in earlier chapters. Block blobs are blobs that are divided into blocks. Each block can be up to 4 MB. When uploading large files into a block blob, you can upload one block at a time in any order you want. You can set the final order of the block blob at the end of the upload process. For large files, you can also upload blocks in parallel. Each block will have an MD5 hash used to verify transfer. You can retransmit a particular block if there s an issue. You can also associate blocks with a blob after upload, meaning that you can upload blocks and then assemble the block blob after the fact. Any blocks you upload that aren t committed to a blob will be deleted after a week. Block blobs can be up to 200 GB. Page bobs are blobs comprised of 512-byte pages. Unlike block blobs, page blob writes are done in place and are immediately committed to the file. The maximum size of a page blob is 1 terabyte. Page blobs closely mimic how hard drives behave, and in fact, Azure VMs use them for that purpose. Most of the time, you will use block blobs. Streaming data using blobs You can stream blobs by downloading to a stream using the DownloadToStream() API method. The advantage of this is that it avoids loading the entire blob into memory, for example before saving it to a file or returning it to a web request. Accessing blobs securely Secure access to blob storage implies a secure connection for data transfer and controlled access through authentication and authorization. Azure Storage supports both HTTP and secure HTTPS requests. For data transfer security, you should always use HTTPS connections. To authorize access to content, you can authenticate in three different ways to your storage account and content: Shared Key Constructed from a set of fields related to the request. Computed with a SHA-256 algorithm and encoded in Base64. Shared Key Lite Similar to Shared Key, but compatible with previous versions of Azure Storage. This provides backwards compatibility with code that was written against versions prior to 19 September This allows for migration to newer versions with minimal changes. Shared Access Signature Grants restricted access rights to containers and blobs. You can provide a shared access signature to users you don t trust with your storage account key. You can give them a shared access signature that will grant them specific permissions to the resource for a specified amount of time. This is discussed in a later section. Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 255

27 To interact with blob storage content authenticated with the account key, you can use the Storage Client Library as illustrated in earlier sections. When you create an instance of the CloudStorageAccount using the account name and key, each call to interact with blob storage will be secured, as shown in the following code: string accountname = "ACCOUNTNAME"; string accountkey = "ACCOUNTKEY"; CloudStorageAccount storageaccount = new CloudStorageAccount(new StorageCredentials(accountName, accountkey), true); Implementing an async blob copy The Blob service provides a feature for asynchronously copying blobs from a source blob to a destination blob. You can run many of these requests in parallel since the operation is asynchronous. The following scenarios are supported: Copying a source blob to a destination with a different name or URI Overwriting a blob with the same blob, which means copying from the same source URI and writing to the same destination URI (this overwrites the blob, replaces metadata, and removes uncommitted blocks) Copy a snapshot to a base blob, for example to promote the snapshot to restore an earlier version Copy a snapshot to a new location creating a new, writable blob (not a snapshot) The copy operation is always the entire length of the blob; you can t copy a range. MORE INFO COPY BLOB For additional details on the underlying process for copying blobs, see microsoft.com/en-us/library/azure/dd aspx. The following code illustrates a simple example for creating a blob and then copying it asynchronously to another destination blob: CloudBlobContainer files = blobclient.getcontainerreference("files"); files.createifnotexists(blobcontainerpublicaccesstype.off); ICloudBlob sourceblob = files.getblockblobreference("filetocopy.txt"); sourceblob.properties.contenttype = "text/plain"; string sourcefilecontents = "my text blob to copy"; byte[] sourcebytes = new byte[sourcefilecontents.length * sizeof(char)]; System.Buffer.BlockCopy(sourceFileContents.ToCharArray(), 0, sourcebytes, 0, sourcebytes.length); sourceblob.uploadfrombytearray(sourcebytes, 0, sourcebytes.length); ICloudBlob blobcopy = files.getblockblobreference("destinationcopy.txt"); AsyncCallback cb = new AsyncCallback(x => Console.WriteLine("copy completed with {0}", x.iscompleted)); blobcopy.beginstartcopyfromblob(sourceblob.uri, cb, null); Ideally, you pass state to the BeginStartCopyFromBlob() method so that you can track multiple parallel operations. 256 CHAPTER 4 Design and implement a storage strategy

28 EXAM TIP A storage account can have multiple Copy Blob operations processing in parallel; however, an individual blob can have only one pending copy operation. Configuring the Content Delivery Network The Azure Content Delivery Network (CDN) distributes content across geographic regions to edge nodes across the globe. The CDN caches publicly available objects so they are available over high-bandwidth connections, close to the users, thus allowing the users to download them at much lower latency. You may be familiar with using CDNs to download popular Javascript frameworks like JQuery, Angular, and others. By default, blobs have a seven-day time-to-live (TTL) at the CDN edge node. After that time elapses, the blob is refreshed from the storage account to the edge node. Blobs that are shared via CDN must support anonymous access. Configuring the CDN (existing portal) To enable the CDN for a storage account in the management portal, complete the following steps: 1. In the management portal, click New on the navigation bar. 2. Select App Services, CDN, Quick Create. 3. Select the storage account that you want to add CDN support for, and click Create. 4. Navigate to the CDN properties by selecting it from your list of CDN endpoints. 5. To enable HTTPS support, click Enable HTTPS at the bottom of the page. 6. To enable query string support, click Enable Query String Support at the bottom of the page. 7. To map a custom domain to the CDN endpoint, click Manage Domains at the bottom of the page, and follow the instructions. EXAM TIP It can take 60 minutes before the CDN is ready for use on the storage account. To access blobs via CDN, use the CDN address as follows: CDN subdomain>.vo.msecnd.net/<your container name>/<your blob path> If you are using HTTPS and a custom domain, address your blobs as follows: domain>/<your container name>/<your blob path> Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 257

29 Configuring the CDN (Preview portal) You currently cannot configure the CDN using the Preview portal. Designing blob hierarchies Blob storage has a hierarchy that involves the following aspects: The storage account name, which is part of the base URI The container within which you store blobs, which is also used for partitioning The blob name, which can include path elements separated by a backslash (/) to create a sense of folder structure Using a blob naming convention that resembles a directory structure provides you with additional ways to filter your blob data directly from the name. For example, to group images by their locale to support a localization effort, complete the following steps: 1. Create a container called images. 2. Add English bitmaps using the convention en/bmp/*, where * is the file name. 3. Add English JPEG files using the convention en/jpg/*, where * is the file name. 4. Add Spanish bitmaps using the convention sp/bmp/*, where * is the file name. 5. Add Spanish JPEG files using the convention sp/jpg/*, where * is the file name. To retrieve all images in the container, use ListBlob() in this way: var list = images.listblobs(null, true, BlobListingDetails.All); The output is the entire list of uploaded images in the container: To filter only those with the prefix en, use this: var list = images.listblobs("en", true, BlobListingDetails.All); The output will be this: Configuring custom domains By default, the URL for accessing the Blob service in a storage account is account name>.blob.core.windows.net. You can map your own domain or subdomain to the Blob service for your storage account so that users can reach it using the custom domain or subdomain. 258 CHAPTER 4 Design and implement a storage strategy

30 MORE INFO STORAGE AND CUSTOM DOMAINS For details related to mapping custom domains to your storage accounts, see microsoft.com/en-us/documentation/articles/storage-custom-domain-name/. Scaling Blob storage Blobs are partitioned by container name and blob name, which means each blob can have its own partition. Blobs, therefore, can be distributed across many servers to scale access even though they are logically grouped within a container. MORE INFO STORAGE SCALABILITY TARGETS For additional information on storage scalability, see library/dn aspx. Working with Azure File storage Azure File storage provides a way for applications to share storage accessible via SMB 2.1 protocol. It is particularly useful for VMs and cloud services as a mounted share, and applications can use the File Storage API to access File storage. MORE INFO FILE STORAGE DOCUMENTATION For additional information on File storage, see the guide at en-us/documentation/articles/storage-dotnet-how-to-use-files/. Thought experiment Partitioning strategy for localization In this thought experiment, apply what you ve learned about this objective. You can find answers to these questions in the Answers section at the end of this chapter. You are localizing a mobile application for multiple languages. Some of your efforts revolve around having separate images for the regions you are targeting. 1. How will you structure the files in Blob storage so that you can retrieve them easily? 2. What can you do to make access to these images quick for users around the world? Objective 4.1: Implement Azure Storage blobs and Azure files CHAPTER 4 259

31 Objective summary A blob container has several options for access permissions. When set to Private, all access requires credentials. When set to Public Container, no credentials are required to access the container and its blobs. When set to Public Blob, only blobs can be accessed without credentials if the full URL is known. To access secure containers and blobs, you can use the storage account key or a shared access signatures. AzCopy is a useful utility for activities such as uploading blobs, transferring blobs from one container or storage account to another, and performing these and other activities related to blob management in scripted batch operations. Block blobs allow you to upload, store, and download large blobs in blocks up to 4 MB each. The size of the blob can be up to 200 GB. You can use a blob naming convention akin to folder paths to create a logical hierarchy for blobs, which is useful for query operations. Objective review Answer the following questions to test your knowledge of the information in this objective. You can find the answers to these questions and explanations of why each answer choice is correct or incorrect in the Answers section at the end of this chapter. 1. Which of the following is not true about metadata? (Choose all that apply.) A. Both containers and blobs have writable system properties. B. Blob user-defined metadata is accessed as a key value pair. C. System metadata can influence how the blog is stored and accessed in Azure Storage. D. Only blobs have metadata; containers do not. 2. Which of the following are valid differences between page blobs and block blobs? (Choose all that apply.) A. Page blobs are much faster for all operations. B. Block blobs allow files to be uploaded and assembled later. Blocks can be resubmitted individually. C. Page blobs are good for all sorts of files, like video and images. D. Block blobs have a max size of 200 GB. Page blobs can be 1 terabyte. 3. What are good recommendations for securing files in Blob storage? (Choose all that apply.) A. Always use SSL. B. Keep your primary and secondary keys hidden and don t give them out. 260 CHAPTER 4 Design and implement a storage strategy

32 C. In your application, store them someplace that isn t embedded in client-side code that users can see. D. Make the container publicly available. Objective 4.2: Implement Azure Storage tables Azure Storage is a non-relational (NoSQL) entity storage service on Microsoft Azure. When you create a storage account, it includes the Table service alongside the Blob and Queue services. Table services can be accessed through a URL format. It looks like this: account name>.table.core.windows.net/<table name>. There are many forms of NoSQL databases: Key-value stores that organize data with a unique key per record and often allow for jagged entries where each row might not have a complete set of values. Document databases that are similar to key-value stores with semi-structured, easy-toquery documents. Usually, information is stored in JavaScript Object Notation (JSON) format. Columnar stores that are used to organize large amounts of distributed information. Graph databases that do not use columns and rows; instead, they use a graph model for storage and query, usually for large amounts of highly distributed data. Table storage is a key-value store that uses a partition key to help with scale out distribution of data and a row key for unique access to a particular entry. Together, these keys are used to uniquely identify a record in the account. This objective covers how to: Implement CRUD with and without transactions Query using OData Design, manage, and scale table partitions Using basic CRUD operations In this section, you learn how to access table storage programmatically. Creating a table 1. Create a C# console application. Objective 4.2: Implement Azure Storage tables CHAPTER 4 261

33 2. In your app.config file, add an entry under the Configuration element, replacing the account name and key with your own storage account details: <configuration> <appsettings> <add key= StorageConnectionString value= DefaultEndpointsProtocol=https;Accou ntname=<your account name>;accountkey=<your account key> /> </appsettings> </configuration> 3. Use NuGet to obtain the Microsoft.WindowsAzure.Storage.dll. An easy way to do this is by using the following command in the NuGet console: Install-package windowsazure.storage version Add the following using statements to the top of your Program.cs file: using Microsoft.WindowsAzure.Storage; using Microsoft.WindowsAzure.Storage.Auth; using Microsoft.WindowsAzure.Storage.Table; using Microsoft.WindowsAzure; using System.Configuration 5. Add a reference to System.Configuration. 6. Type the following command to retrieve your connection string in the Main function of Program.cs: var storageaccount = CloudStorageAccount.Parse( var storageaccount =CloudStorageAccount.Parse( ConfigurationManager.AppSettings[ S torageconnectionstring ]); 7. Use the following command to create a table if one doesn t already exist: CloudTableClient tableclient = storageaccount.createcloudtableclient(); CloudTable table = tableclient.gettablereference( customers ); table.createifnotexists(); Inserting records To add entries to a table, you create objects based on the TableEntity base class and serialize them into the table using the Storage Client Library. The following properties are provided for you in this base class: Partition Key Used to partition data across storage infrastructure Row Key Unique identifier in a partition Timestamp Time of last update maintained by Azure Storage ETag Used internally to provide optimistic concurrency The combination of partition key and row key must be unique within the table. This combination is used for load balancing and scaling, as well as for querying and sorting entities. 262 CHAPTER 4 Design and implement a storage strategy

Microsoft Lab Of Things - Week6 Tuesday -

Microsoft Lab Of Things - Week6 Tuesday - Microsoft Lab Of Things - Week6 Tuesday - Kookmin University 1 Objectives and what to study Azure Storage concepts Azure Storage development Blob Table Queue 2 Objectives Understand Azure Storage Services

More information

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions Course 20532A: Developing Microsoft Azure Solutions Page 1 of 7 Developing Microsoft Azure Solutions Course 20532A: 4 days; Instructor-Led Introduction This course is intended for students who have experience

More information

Assignment # 1 (Cloud Computing Security)

Assignment # 1 (Cloud Computing Security) Assignment # 1 (Cloud Computing Security) Group Members: Abdullah Abid Zeeshan Qaiser M. Umar Hayat Table of Contents Windows Azure Introduction... 4 Windows Azure Services... 4 1. Compute... 4 a) Virtual

More information

Developing Microsoft Azure Solutions 20532A; 5 days

Developing Microsoft Azure Solutions 20532A; 5 days Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Developing Microsoft Azure Solutions 20532A; 5 days Course Description This

More information

Exam Ref 70-247 Configuring and Deploying a Private Cloud. Orin Thomas

Exam Ref 70-247 Configuring and Deploying a Private Cloud. Orin Thomas Exam Ref 70-247 Configuring and Deploying a Private Cloud Orin Thomas PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright 2014 by

More information

Course 20532B: Developing Microsoft Azure Solutions

Course 20532B: Developing Microsoft Azure Solutions Course 20532B: Developing Microsoft Solutions Five Days, Instructor-Led About this Course This course is intended for students who have experience building vertically scaled applications. Students should

More information

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led Course Description This course is intended for students who have experience building vertically scaled applications. Students should

More information

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Course 20533: Implementing Microsoft Azure Infrastructure Solutions Course 20533: Implementing Microsoft Azure Infrastructure Solutions Overview About this course This course is aimed at experienced IT Professionals who currently administer their on-premises infrastructure.

More information

Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions Course Code: M20533 Vendor: Microsoft Course Overview Duration: 5 RRP: 2,025 Implementing Microsoft Azure Infrastructure Solutions Overview This course is aimed at experienced IT Professionals who currently

More information

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led

Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led Implementing Microsoft Azure Infrastructure Solutions 20533B; 5 Days, Instructor-led Course Description This course is aimed at experienced IT Professionals who currently administer their on-premises infrastructure.

More information

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions Course 20533B: Implementing Microsoft Azure Infrastructure Solutions Sales 406/256-5700 Support 406/252-4959 Fax 406/256-0201 Evergreen Center North 1501 14 th St West, Suite 201 Billings, MT 59102 Course

More information

10978A: Introduction to Azure for Developers

10978A: Introduction to Azure for Developers 10978A: Introduction to Azure for Developers Course Details Course Code: Duration: Notes: 10978A 5 days This course syllabus should be used to determine whether the course is appropriate for the students,

More information

Course 10978A Introduction to Azure for Developers

Course 10978A Introduction to Azure for Developers Course 10978A Introduction to Azure for Developers Duration: 40 hrs. Overview: About this Course This course offers students the opportunity to take an existing ASP.NET MVC application and expand its functionality

More information

MS 10978A Introduction to Azure for Developers

MS 10978A Introduction to Azure for Developers MS 10978A Introduction to Azure for Developers Description: Days: 5 Prerequisites: This course offers students the opportunity to learn about Microsoft Azure development by taking an existing ASP.NET MVC

More information

Managing Enterprise Devices and Apps. Exam Ref. Orin Thomas

Managing Enterprise Devices and Apps. Exam Ref. Orin Thomas Managing Enterprise Devices and Apps Exam Ref 70 696 Orin Thomas PUBLISHED BY Microsoft Press A Division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright 2014 by Orin

More information

Master Data Services. SQL Server 2012 Books Online

Master Data Services. SQL Server 2012 Books Online Master Data Services SQL Server 2012 Books Online Summary: Master Data Services (MDS) is the SQL Server solution for master data management. Master data management (MDM) describes the efforts made by an

More information

Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions Course 20533A: Implementing Microsoft Azure Infrastructure Solutions Page 1 of 7 Implementing Microsoft Azure Infrastructure Solutions Course 20533A: 4 days; Instructor-Led Introduction This course is

More information

Azure Powershell Command Line Reference

Azure Powershell Command Line Reference Name Description Add-AzureEnvironment Creates an Azure environment Disable-AzureWebsiteApplicationDiagnostic Disables the website's application diagnostics Enable-AzureWebsiteApplicationDiagnostic Enables

More information

Using and Contributing Virtual Machines to VM Depot

Using and Contributing Virtual Machines to VM Depot Using and Contributing Virtual Machines to VM Depot Introduction VM Depot is a library of open source virtual machine images that members of the online community have contributed. You can browse the library

More information

Microsoft 10978 - Introduction to Azure for Developers

Microsoft 10978 - Introduction to Azure for Developers 1800 ULEARN (853 276) www.ddls.com.au Microsoft 10978 - Introduction to Azure for Developers Length 5 days Price $4389.00 (inc GST) Version A Overview This course offers students the opportunity to take

More information

The Great Office 365 Adventure

The Great Office 365 Adventure COURSE OVERVIEW The Great Office 365 Adventure Duration: 5 days It's no secret that Microsoft has been shifting its development strategy away from the SharePoint on-premises environment to focus on the

More information

GOA365: The Great Office 365 Adventure

GOA365: The Great Office 365 Adventure BEST PRACTICES IN OFFICE 365 DEVELOPMENT 5 DAYS GOA365: The Great Office 365 Adventure AUDIENCE FORMAT COURSE DESCRIPTION STUDENT PREREQUISITES Professional Developers Instructor-led training with hands-on

More information

Windows Azure Pack Installation and Initial Configuration

Windows Azure Pack Installation and Initial Configuration Windows Azure Pack Installation and Initial Configuration Windows Server 2012 R2 Hands-on lab In this lab, you will learn how to install and configure the components of the Windows Azure Pack. To complete

More information

Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions Implementing Microsoft Azure Infrastructure About this Course This course is aimed at experienced IT Professionals who currently administer their on-premise infrastructure. The course introduces the student

More information

Nasuni Management Console Guide

Nasuni Management Console Guide Nasuni Management Console Guide Version 5.5 April 2014 2014 Nasuni Corporation All Rights Reserved Document Information Nasuni Management Console Guide Version 5.5 April 2014 Copyright Copyright 2010-2014

More information

Introduction to Hyper-V High- Availability with Failover Clustering

Introduction to Hyper-V High- Availability with Failover Clustering Introduction to Hyper-V High- Availability with Failover Clustering Lab Guide This lab is for anyone who wants to learn about Windows Server 2012 R2 Failover Clustering, focusing on configuration for Hyper-V

More information

Azure Web Apps for Developers

Azure Web Apps for Developers Azure Web Apps for Developers Microsoft Azure Essentials Rick Rainey Visit us today at microsoftpressstore.com Hundreds of titles available Books, ebooks, and online resources from industry experts Free

More information

Windows Azure Data Services (basics) 55093A; 3 Days

Windows Azure Data Services (basics) 55093A; 3 Days Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Windows Azure Data Services (basics) 55093A; 3 Days Course Description This

More information

Hands on Lab: Building a Virtual Machine and Uploading VM Images to the Cloud using Windows Azure Infrastructure Services

Hands on Lab: Building a Virtual Machine and Uploading VM Images to the Cloud using Windows Azure Infrastructure Services Hands on Lab: Building a Virtual Machine and Uploading VM Images to the Cloud using Windows Azure Infrastructure Services Windows Azure Infrastructure Services provides cloud based storage, virtual networks

More information

TIBCO Spotfire Metrics Prerequisites and Installation

TIBCO Spotfire Metrics Prerequisites and Installation TIBCO Spotfire Metrics Prerequisites and Installation Software Release 6.0 November 2013 Two-Second Advantage 2 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF

More information

ASP.NET Multi-Tier Windows Azure Application Using Storage Tables, Queues, and Blobs

ASP.NET Multi-Tier Windows Azure Application Using Storage Tables, Queues, and Blobs ASP.NET Multi-Tier Windows Azure Application Using Storage Tables, Queues, and Blobs Rick Anderson Tom Dykstra Summary: This tutorial series shows how to create a multi-tier ASP.NET MVC 4 web application

More information

Big data variety, 179 velocity, 179 volume, 179 Blob storage containers

Big data variety, 179 velocity, 179 volume, 179 Blob storage containers Index A AADRM. See Azure active directory rights management (AADRM) AADRM PowerShell module Azure AD module, 164 Connect-AadrmService cmdlet, 164 Connect-MsolService cmdlet, 164 PowerShell v2.0 and.net

More information

Introduction to Azure for Developers

Introduction to Azure for Developers CÔNG TY CỔ PHẦN TRƯỜNG CNTT TÂN ĐỨC TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC LEARN MORE WITH LESS! Course 10978: Introduction to Azure for Developers Length: 5 Days Audience: Developers Level: 300 Technology:

More information

MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure

MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure Introduction This article shows you how to deploy the MATLAB Distributed Computing Server (hereinafter referred to as MDCS) with

More information

Workflow approval via email

Workflow approval via email Microsoft Dynamics AX Workflow approval via email White Paper This document highlights the functionality in Microsoft Dynamics AX 2012 R2 that allows workflow to be configured so that a user can take approval

More information

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud. Module 1: Overview of service and cloud technologies This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud. Key Components of

More information

Microsoft Azure ExpressRoute

Microsoft Azure ExpressRoute Microsoft Azure ExpressRoute Michael Washam Summary: Microsoft Azure ExpressRoute makes it easy to establish dedicated and private circuits between your data center and Microsoft Azure. ExpressRoute connections

More information

Administration Guide for the System Center Cloud Services Process Pack

Administration Guide for the System Center Cloud Services Process Pack Administration Guide for the System Center Cloud Services Process Pack Microsoft Corporation Published: May 7, 2012 Author Kathy Vinatieri Applies To System Center Cloud Services Process Pack This document

More information

SharePoint Server for Business Intelligence

SharePoint Server for Business Intelligence SharePoint Server for Business Intelligence SharePoint Business Intelligence Content Team Summary: Step-by-step, learn how to install and configure SharePoint Server 2010 and SQL Server 2008 to create

More information

System Administration Training Guide. S100 Installation and Site Management

System Administration Training Guide. S100 Installation and Site Management System Administration Training Guide S100 Installation and Site Management Table of contents System Requirements for Acumatica ERP 4.2... 5 Learning Objects:... 5 Web Browser... 5 Server Software... 5

More information

Service Level Agreement for Windows Azure operated by 21Vianet

Service Level Agreement for Windows Azure operated by 21Vianet Service Level Agreement for Windows Azure operated by 21Vianet Last updated: November 2015 1. Introduction This Service Level Agreement for Windows Azure (this SLA ) is made by 21Vianet in connection with,

More information

Printed and bound in the United States of America. First Printing

Printed and bound in the United States of America. First Printing PUBLISHED BY Microsoft Press A division of Microsoft Corporation One Microsoft Way Redmond, Washington 98052-6399 Copyright 2015 by Microsoft Corporation All rights reserved. No part of the contents of

More information

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010 DEPLOYMENT GUIDE Version 2.1 Deploying F5 with Microsoft SharePoint 2010 Table of Contents Table of Contents Introducing the F5 Deployment Guide for Microsoft SharePoint 2010 Prerequisites and configuration

More information

Developing Windows Azure and Web Services

Developing Windows Azure and Web Services Course M20487 5 Day(s) 30:00 Hours Developing Windows Azure and Web Services Introduction In this course, students will learn how to design and develop services that access local and remote data from various

More information

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API

Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Getting Started with the Ed-Fi ODS and Ed-Fi ODS API Ed-Fi ODS and Ed-Fi ODS API Version 2.0 - Technical Preview October 2014 2014 Ed-Fi Alliance, LLC. All rights reserved. Ed-Fi is a registered trademark

More information

Building an ASP.NET MVC Application Using Azure DocumentDB

Building an ASP.NET MVC Application Using Azure DocumentDB Building an ASP.NET MVC Application Using Azure DocumentDB Contents Overview and Azure account requrements... 3 Create a DocumentDB database account... 4 Running the DocumentDB web application... 10 Walk-thru

More information

Microsoft 20533 - Implementing Microsoft Azure Infrastructure Solutions

Microsoft 20533 - Implementing Microsoft Azure Infrastructure Solutions 1800 ULEARN (853 276) www.ddls.com.au Microsoft 20533 - Implementing Microsoft Azure Infrastructure Solutions Length 5 days Price $4389.00 (inc GST) Version C Overview This course is intended for IT professionals

More information

Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions Implementing Microsoft Azure Infrastructure Solutions Course M20533 5 Day(s) 30:00 Hours Introduction This course is aimed at experienced IT Professionals who currently administer their on -premise infrastructure.

More information

Authoring for System Center 2012 Operations Manager

Authoring for System Center 2012 Operations Manager Authoring for System Center 2012 Operations Manager Microsoft Corporation Published: November 1, 2013 Authors Byron Ricks Applies To System Center 2012 Operations Manager System Center 2012 Service Pack

More information

User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream

User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream User Manual Onsight Management Suite Version 5.1 Another Innovation by Librestream Doc #: 400075-06 May 2012 Information in this document is subject to change without notice. Reproduction in any manner

More information

Metalogix SharePoint Backup. Advanced Installation Guide. Publication Date: August 24, 2015

Metalogix SharePoint Backup. Advanced Installation Guide. Publication Date: August 24, 2015 Metalogix SharePoint Backup Publication Date: August 24, 2015 All Rights Reserved. This software is protected by copyright law and international treaties. Unauthorized reproduction or distribution of this

More information

Introduction to the Cloud OS Windows Azure Overview Visual Studio Tooling for Windows Azure Scenarios: Dev/Test Web Mobile Hybrid

Introduction to the Cloud OS Windows Azure Overview Visual Studio Tooling for Windows Azure Scenarios: Dev/Test Web Mobile Hybrid Introduction to the Cloud OS Windows Azure Overview Visual Studio Tooling for Windows Azure Scenarios: Dev/Test Web Mobile Hybrid Development Management Identity Data Virtualization All services

More information

SQL Server 2005 Reporting Services (SSRS)

SQL Server 2005 Reporting Services (SSRS) SQL Server 2005 Reporting Services (SSRS) Author: Alex Payne and Brian Welcker Published: May 2005 Summary: SQL Server 2005 Reporting Services is a key component of SQL Server 2005. Reporting Services

More information

Migrating to Azure SQL Database

Migrating to Azure SQL Database Migrating to Azure SQL Database Contents Azure account required for lab... 3 SQL Azure Migration Wizard Overview... 3 Provisioning an Azure SQL Database... 4 Exercise 1: Analyze and resolve... 8 Exercise

More information

Enterprise Self Service Quick start Guide

Enterprise Self Service Quick start Guide Enterprise Self Service Quick start Guide Software version 4.0.0.0 December 2013 General Information: info@cionsystems.com Online Support: support@cionsystems.com 1 2013 CionSystems Inc. ALL RIGHTS RESERVED.

More information

Copyright 2012 Trend Micro Incorporated. All rights reserved.

Copyright 2012 Trend Micro Incorporated. All rights reserved. Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the software, please review the readme files,

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

Installation Guide for Pulse on Windows Server 2012

Installation Guide for Pulse on Windows Server 2012 MadCap Software Installation Guide for Pulse on Windows Server 2012 Pulse Copyright 2014 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software

More information

AUTOMATED DISASTER RECOVERY SOLUTION USING AZURE SITE RECOVERY FOR FILE SHARES HOSTED ON STORSIMPLE

AUTOMATED DISASTER RECOVERY SOLUTION USING AZURE SITE RECOVERY FOR FILE SHARES HOSTED ON STORSIMPLE AUTOMATED DISASTER RECOVERY SOLUTION USING AZURE SITE RECOVERY FOR FILE SHARES HOSTED ON STORSIMPLE Copyright This document is provided "as-is." Information and views expressed in this document, including

More information

Veeam Backup Enterprise Manager. Version 7.0

Veeam Backup Enterprise Manager. Version 7.0 Veeam Backup Enterprise Manager Version 7.0 User Guide August, 2013 2013 Veeam Software. All rights reserved. All trademarks are the property of their respective owners. No part of this publication may

More information

Setup Guide: Server-side synchronization for CRM Online and Exchange Server

Setup Guide: Server-side synchronization for CRM Online and Exchange Server Setup Guide: Server-side synchronization for CRM Online and Exchange Server Version 8.0 Microsoft Dynamics CRM 2016 Authors: Elad Ben Yosef, Sumanta Batabyal This document is provided "as-is". Information

More information

Web Sites, Virtual Machines, Service Management Portal and Service Management API Beta Installation Guide

Web Sites, Virtual Machines, Service Management Portal and Service Management API Beta Installation Guide Web Sites, Virtual Machines, Service Management Portal and Service Management API Beta Installation Guide Contents Introduction... 2 Environment Topology... 2 Virtual Machines / System Requirements...

More information

How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises)

How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises) How to Prepare for the Upgrade to Microsoft Dynamics CRM 2013 (On-premises) COMPANY: Microsoft Corporation RELEASED: September 2013 VERSION: 1.0 Copyright This document is provided "as-is". Information

More information

SOA Software: Troubleshooting Guide for Agents

SOA Software: Troubleshooting Guide for Agents SOA Software: Troubleshooting Guide for Agents SOA Software Troubleshooting Guide for Agents 1.1 October, 2013 Copyright Copyright 2013 SOA Software, Inc. All rights reserved. Trademarks SOA Software,

More information

Testing and Restoring the Nasuni Filer in a Disaster Recovery Scenario

Testing and Restoring the Nasuni Filer in a Disaster Recovery Scenario Testing and Restoring the Nasuni Filer in a Disaster Recovery Scenario Version 7.2 November 2015 Last modified: November 3, 2015 2015 Nasuni Corporation All Rights Reserved Document Information Testing

More information

VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3

VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3 VMware vcenter Discovered Machines Import Tool User's Guide Version 5.3.0.25 for vcenter Configuration Manager 5.3 This document supports the version of each product listed and supports all subsequent

More information

Deploying Personal Virtual Desktops by Using RemoteApp and Desktop Connection Step-by-Step Guide

Deploying Personal Virtual Desktops by Using RemoteApp and Desktop Connection Step-by-Step Guide c623242f-20f0-40fe-b5c1-8412a094fdc7 Deploying Personal Virtual Desktops by Using RemoteApp and Desktop Connection Step-by-Step Guide Microsoft Corporation Published: June 2009 Updated: April 2010 Abstract

More information

Deploying System Center 2012 R2 Configuration Manager

Deploying System Center 2012 R2 Configuration Manager Deploying System Center 2012 R2 Configuration Manager This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

More information

Exploring Manual and Automatic Database Backup Using Microsoft Azure Storage

Exploring Manual and Automatic Database Backup Using Microsoft Azure Storage Exploring Manual and Automatic Database Backup Using Microsoft Azure Storage Contents Predictable, efficient and flexible data backups certainty of availability... 3 Provisioning a Windows Azure Storage

More information

Getting Started with Sitecore Azure

Getting Started with Sitecore Azure Sitecore Azure 3.1 Getting Started with Sitecore Azure Rev: 2015-09-09 Sitecore Azure 3.1 Getting Started with Sitecore Azure An Overview for Sitecore Administrators Table of Contents Chapter 1 Getting

More information

Dell Active Administrator 8.0

Dell Active Administrator 8.0 What s new in Dell Active Administrator 8.0 January 2016 Dell Active Administrator 8.0 is the upcoming release of Dell Software's complete solution for managing Microsoft Active Directory security auditing,

More information

Citrix EdgeSight Administrator s Guide. Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for XenApp 5.3

Citrix EdgeSight Administrator s Guide. Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for XenApp 5.3 Citrix EdgeSight Administrator s Guide Citrix EdgeSight for Endpoints 5.3 Citrix EdgeSight for enapp 5.3 Copyright and Trademark Notice Use of the product documented in this guide is subject to your prior

More information

Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions 20533B - Version: 1 02 July 2016 Implementing Microsoft Azure Infrastructure Solutions Implementing Microsoft Azure Infrastructure Solutions 20533B - Version: 1 5 days Course Description: This course is

More information

Hosting Models. Business Model Software (as a Service) Platform (as a Service) Infrastructure (as a Service) On Premises. Applications. Data.

Hosting Models. Business Model Software (as a Service) Platform (as a Service) Infrastructure (as a Service) On Premises. Applications. Data. You manage You manage You manage On Premises Hosting Models Infrastructure (as a Service) Platform (as a Service) Business Model Software (as a Service) Customizations Applications Data Runtime Middleware

More information

GETTING STARTED GUIDE. 1.3 September 2015 3725-10306-001D. Polycom RealAccess

GETTING STARTED GUIDE. 1.3 September 2015 3725-10306-001D. Polycom RealAccess GETTING STARTED GUIDE 1.3 September 2015 3725-10306-001D Polycom RealAccess Copyright 2015, Polycom, Inc. All rights reserved. No part of this document may be reproduced, translated into another language

More information

WhatsUp Gold v16.3 Installation and Configuration Guide

WhatsUp Gold v16.3 Installation and Configuration Guide WhatsUp Gold v16.3 Installation and Configuration Guide Contents Installing and Configuring WhatsUp Gold using WhatsUp Setup Installation Overview... 1 Overview... 1 Security considerations... 2 Standard

More information

vcenter Operations Manager for Horizon Supplement

vcenter Operations Manager for Horizon Supplement vcenter Operations Manager for Horizon Supplement vcenter Operations Manager for Horizon 1.6 This document supports the version of each product listed and supports all subsequent versions until the document

More information

Installation Guide for Pulse on Windows Server 2008R2

Installation Guide for Pulse on Windows Server 2008R2 MadCap Software Installation Guide for Pulse on Windows Server 2008R2 Pulse Copyright 2014 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software

More information

Lab Answer Key for Module 1: Installing and Configuring Windows Server 2008. Table of Contents Lab 1: Configuring Windows Server 2008 1

Lab Answer Key for Module 1: Installing and Configuring Windows Server 2008. Table of Contents Lab 1: Configuring Windows Server 2008 1 Lab Answer Key for Module 1: Installing and Configuring Windows Server 2008 Table of Contents Lab 1: Configuring Windows Server 2008 1 Information in this document, including URL and other Internet Web

More information

Oracle WebCenter Content Service for Microsoft Exchange

Oracle WebCenter Content Service for Microsoft Exchange Oracle WebCenter Content Service for Microsoft Exchange Installation and Upgrade Guide 10g Release 3 (10.3) November 2008 Oracle WebCenter Content Service for Microsoft Exchange Installation and Upgrade

More information

User Guide. Version 3.2. Copyright 2002-2009 Snow Software AB. All rights reserved.

User Guide. Version 3.2. Copyright 2002-2009 Snow Software AB. All rights reserved. Version 3.2 User Guide Copyright 2002-2009 Snow Software AB. All rights reserved. This manual and computer program is protected by copyright law and international treaties. Unauthorized reproduction or

More information

AppDev OnDemand Cloud Computing Learning Library

AppDev OnDemand Cloud Computing Learning Library AppDev OnDemand Cloud Computing Learning Library A full year of access to our cloud computing courses, plus future course releases included free! The AppDev OnDemand Cloud Computing Learning Library includes

More information

WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS

WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS Managing and analyzing data in the cloud is just as important as it is anywhere else. To let you do this, Windows Azure provides a range of technologies

More information

Cloud Powered Mobile Apps with Azure

Cloud Powered Mobile Apps with Azure Cloud Powered Mobile Apps with Azure Malte Lantin Technical Evanglist Microsoft Azure Agenda Mobile Services Features and Demos Advanced Features Scaling and Pricing 2 What is Mobile Services? Storage

More information

Using IIS Application Request Routing to Publish Lync Server 2013 Web Services

Using IIS Application Request Routing to Publish Lync Server 2013 Web Services Using IIS Application Request Routing to Publish Lync Server 2013 Web Services DISCLAIMER 2014 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Hyper-V, Internet Explorer, Lync,

More information

Using Application Insights to Monitor your Applications

Using Application Insights to Monitor your Applications Using Application Insights to Monitor your Applications Overview In this lab, you will learn how to add Application Insights to a web application in order to better detect issues, solve problems, and continuously

More information

Connection Broker Managing User Connections to Workstations, Blades, VDI, and More. Quick Start with Microsoft Hyper-V

Connection Broker Managing User Connections to Workstations, Blades, VDI, and More. Quick Start with Microsoft Hyper-V Connection Broker Managing User Connections to Workstations, Blades, VDI, and More Quick Start with Microsoft Hyper-V Version 8.1 October 21, 2015 Contacting Leostream Leostream Corporation http://www.leostream.com

More information

SharePoint 2013 on Windows Azure Infrastructure David Aiken & Dan Wesley Version 1.0

SharePoint 2013 on Windows Azure Infrastructure David Aiken & Dan Wesley Version 1.0 SharePoint 2013 on Windows Azure Infrastructure David Aiken & Dan Wesley Version 1.0 Overview With the Virtual Machine and Virtual Networking services of Windows Azure, it is now possible to deploy and

More information

SHAREPOINT 2013 IN INFRASTRUCTURE AS A SERVICE

SHAREPOINT 2013 IN INFRASTRUCTURE AS A SERVICE SHAREPOINT 2013 IN INFRASTRUCTURE AS A SERVICE Contents Introduction... 3 Step 1 Create Azure Components... 5 Step 1.1 Virtual Network... 5 Step 1.1.1 Virtual Network Details... 6 Step 1.1.2 DNS Servers

More information

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 DEPLOYMENT GUIDE Version 1.1 Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5 Table of Contents Table of Contents Deploying the BIG-IP system v10 with Citrix Presentation Server Prerequisites

More information

WhatsUp Gold v16.2 Installation and Configuration Guide

WhatsUp Gold v16.2 Installation and Configuration Guide WhatsUp Gold v16.2 Installation and Configuration Guide Contents Installing and Configuring Ipswitch WhatsUp Gold v16.2 using WhatsUp Setup Installing WhatsUp Gold using WhatsUp Setup... 1 Security guidelines

More information

An Introduction to Using Python with Microsoft Azure

An Introduction to Using Python with Microsoft Azure An Introduction to Using Python with Microsoft Azure If you build technical and scientific applications, you're probably familiar with Python. What you might not know is that there are now tools available

More information

DocAve for Office 365 Sustainable Adoption

DocAve for Office 365 Sustainable Adoption DocAve for Office 365 Sustainable Adoption Quick Start Guide Issued October 2015 1 Table of Contents Submitting Documentation Feedback to AvePoint... 3 1. Request a DocAve License from AvePoint... 4 2.

More information

Exploring SQL Server 2014 Database Deployment in Microsoft Azure Virtual Machines

Exploring SQL Server 2014 Database Deployment in Microsoft Azure Virtual Machines Exploring SQL Server 2014 Database Deployment in Microsoft Azure Virtual Machines Contents Provisioning a Windows Azure Storage Account... 3 Provisioning a SQL Server VM in Windows Azure.. 9 Prepare client

More information

TSM Studio Server User Guide 2.9.0.0

TSM Studio Server User Guide 2.9.0.0 TSM Studio Server User Guide 2.9.0.0 1 Table of Contents Disclaimer... 4 What is TSM Studio Server?... 5 System Requirements... 6 Database Requirements... 6 Installing TSM Studio Server... 7 TSM Studio

More information

New Features in Neuron ESB 2.6

New Features in Neuron ESB 2.6 New Features in Neuron ESB 2.6 This release significantly extends the Neuron ESB platform by introducing new capabilities that will allow businesses to more easily scale, develop, connect and operationally

More information

Dell SupportAssist Version 2.0 for Dell OpenManage Essentials Quick Start Guide

Dell SupportAssist Version 2.0 for Dell OpenManage Essentials Quick Start Guide Dell SupportAssist Version 2.0 for Dell OpenManage Essentials Quick Start Guide Notes, Cautions, and Warnings NOTE: A NOTE indicates important information that helps you make better use of your computer.

More information

Installing Windows Rights Management Services with Service Pack 2 Step-by- Step Guide

Installing Windows Rights Management Services with Service Pack 2 Step-by- Step Guide Installing Windows Rights Management Services with Service Pack 2 Step-by- Step Guide Microsoft Corporation Published: October 2006 Author: Brian Lich Editor: Carolyn Eller Abstract This step-by-step guide

More information

CTERA Agent for Linux

CTERA Agent for Linux User Guide CTERA Agent for Linux September 2013 Version 4.0 Copyright 2009-2013 CTERA Networks Ltd. All rights reserved. No part of this document may be reproduced in any form or by any means without written

More information

Lab 00: Configuring the Microsoft Lync Ignite Environment Cloud Hosted Version

Lab 00: Configuring the Microsoft Lync Ignite Environment Cloud Hosted Version Lab 00: Configuring the Microsoft Lync Ignite Environment Cloud Hosted Version DISCLAIMER 2013 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Forefront, Hyper-V, Internet Explorer,

More information