Introduction to Windows Azure. Deploying Windows Azure. Module Manual. Authors: Joey Snow

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

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

Course 20533B: Implementing Microsoft Azure Infrastructure Solutions

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

Developing Microsoft Azure Solutions

Developing Microsoft Azure Solutions 20532A; 5 days

Course 20533: Implementing Microsoft Azure Infrastructure Solutions

Implementing Microsoft Azure Infrastructure Solutions

WINDOWS AZURE EXECUTION MODELS

Implementing Microsoft Azure Infrastructure Solutions

Course 20532B: Developing Microsoft Azure Solutions

THE WINDOWS AZURE PROGRAMMING MODEL

SQL Server on Azure An e2e Overview. Nosheen Syed Principal Group Program Manager Microsoft

Course 10978A Introduction to Azure for Developers

Alfresco Enterprise on Azure: Reference Architecture. September 2014

Implementing Microsoft Azure Infrastructure Solutions

Microsoft Azure for IT Professionals 55065A; 3 days

Implementing Microsoft Azure Infrastructure Solutions

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5. Microsoft Azure Fundamentals M Length: 2 days Price: $ 1,295.

How To Run A Modern Business With Microsoft Arknow

MS 10978A Introduction to Azure for Developers

Windows Azure and private cloud

Part2 Hyper-V Replica and Hyper-V Recovery Manager. Datacenter Specialist

Assignment # 1 (Cloud Computing Security)

Course Outline. Microsoft Azure Fundamentals Course 10979A: 2 days Instructor Led. About this Course. Audience Profile. At Course Completion

INDIA September 2011 virtual techdays

Installation and Deployment in Microsoft Dynamics CRM 2013

Implementing Microsoft Azure Infrastructure Solutions

MATLAB Distributed Computing Server with HPC Cluster in Microsoft Azure

Azure Powershell Command Line Reference

Getting Started with Sitecore Azure

10978A: Introduction to Azure for Developers

Good Morning Wireless! SSID: MSFTOPEN No Username or Password Required

Title: Setting Up A Site to Site VPN Between Microsoft Azure and the Corporate Network

Microsoft Introduction to Azure for Developers

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

Configuring and Deploying a Private Cloud

Microsoft Installation and Deployment in Microsoft Dynamics CRM 2013

Planning the Migration of Enterprise Applications to the Cloud

MS 20532B - Developing Microsoft Azure Solutions

KEMP LoadMaster. Enabling Hybrid Cloud Solutions in Microsoft Azure

CMB 207 1I Citrix XenApp and XenDesktop Fast Track

Introduction to Azure for Developers

15 th January Microsoft Windows Azure

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

INSTALLATION AND DEPLOYMENT IN MICROSOFT DYNAMICS CRM 2013

Installation and Deployment in Microsoft Dynamics CRM A; 2 Days

Service Level Agreement for Windows Azure operated by 21Vianet

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Course 20247: Configuring and Deploying a Private Cloud

The last 18 months. AutoScale. IaaS. BizTalk Services Hyper-V Disaster Recovery Support. Multi-Factor Auth. Hyper-V Recovery.

20247D: Configuring and Deploying a Private Cloud

High Availability with Postgres Plus Advanced Server. An EnterpriseDB White Paper

Microsoft Implementing Microsoft Azure Infrastructure Solutions

Configuring and Deploying a Private Cloud. Day(s): 5. Overview

ITCertMaster. Safe, simple and fast. 100% Pass guarantee! IT Certification Guaranteed, The Easy Way!

AZP: Microsoft Azure Infrastructure for IT Professional

Installation and Deployment in Microsoft Dynamics CRM 2013

SQL Server Hybrid Features. Luis Vargas, Senior Program Manager Lead Xin Jin, Program Microsoft

NE-20247D Configuring and Deploying a Private Cloud

Introduction to Windows Azure Cloud Computing Futures Group, Microsoft Research Roger Barga, Jared Jackson,Nelson Araujo, Dennis Gannon, Wei Lu, and

Microsoft Azure ExpressRoute

Deploy the client as an Azure RemoteApp program

Configuring and Deploying a Private Cloud

Network Configuration/Bandwidth Planning Scope

Infrastructure Provisioning with System Center Virtual Machine Manager

Microsoft Azure. IaaS Networking Storage. Stefan Geiger Gerry

MS 20247C Configuring and Deploying a Private Cloud

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

70-414: Implementing a Cloud Based Infrastructure. Course Overview

(80539A) Installation and Deployment in Microsoft Dynamics CRM 2013

CLOUD COMPUTING & WINDOWS AZURE

Introducing. Markus Erlacher Technical Solution Professional Microsoft Switzerland

SHARPCLOUD SECURITY STATEMENT

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

Microsoft Private Cloud

Windows Server 2012 R2 The Essentials Experience

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

day 1 2 Windows Azure Platform Overview... 2 Windows Azure Compute... 3 Windows Azure Storage... 3 day 2 5

Configuring and Deploying a Private Cloud 20247C; 5 days

Server & Cloud Management

Outline SSS Microsoft Windows Server 2008 Hyper-V Virtualization

What s new in Hyper-V 2012 R2

WINDOWS AZURE DATA MANAGEMENT

Azure & SharePoint. Jason Himmelstein, MVP. Senior Technical

10964C: Cloud & Datacenter Monitoring with System Center Operations Manager

-50% +28% YoY. Roughly one quarter of SBs and one half of MBs plan to shift their budgets to more cloud spending over onpremise

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

Microsoft s Advantages and Goals for Hyper-V for Server 2016

Load Balancing and Clustering in EPiServer

How to Configure a High Availability Cluster in Azure via Web Portal and ASM

Feature Comparison. Windows Server 2008 R2 Hyper-V and Windows Server 2012 Hyper-V

EMC VPLEX FAMILY. Continuous Availability and data Mobility Within and Across Data Centers

WELKOM Cloud met Azure

Cloud & Datacenter Monitoring with System Center Operations Manager

Quorum DR Report. Top 4 Types of Disasters: 55% Hardware Failure 22% Human Error 18% Software Failure 5% Natural Disasters

Microsoft s Cloud Networks

Outlook. Corporate Research and Technologies, Munich, Germany. 20 th May 2010

NCTA Cloud Operations

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

Transcription:

Introduction to Windows Azure Deploying Windows Azure Module Manual Authors: Joey Snow Published: 15 th March 2011

Abstract This whitepaper will introduce you to the essentials of deploying Windows Azure applications and services, as well as provide you with an understanding of what is needed to allocate system resources while minimizing the potential of outages or service failures. You will be introduced to deployment techniques using both the Windows Azure Portal and the PowerShell CmdLets provided through the Windows Azure Service Management API. You will also be introduced to Windows Azure fault domains, upgrade domains, and geolocation capabilities. Finally, you will be introduced to VM Role deployment, which allows you to take advantage of custom images to support your applications in even more specialized solutions. ii

Contents CONTENTS Windows Azure Deployment... i Contents... iii Overview... 4 The Windows Azure Portal... 4 Using PowerShell to Deploy Windows Azure Applications... 7 Understanding Fault Domains and Upgrade Domains... 8 Fault Domains... 8 Upgrade Domains... 8 Geo Location and Distribution... 10 VM Role deployment... 11 Startup Tasks... 12 Conclusion... 13 iii

Introduction Recently, there has been a shift to create and deploy applications that offer flexibility in the form of being scalable, having global availability, as well as the ability to meet distinct Service Level Agreements. Typical infrastructures required to support applications or Web services can be expensive, complicated, and often times fail to meet the demands of the business. A Windows Azure solution allows an IT Professional to deploy applications to a platform that is designed to reduce operational and hardware costs by paying for just what you use, in the same style as utilities in a house or apartment building. A Windows Azure application also offers the ability to dial up or dial down resources by building applications that are able to scale almost infinitely, provide enormous storage capacity, geo-location and much more. Objective This whitepaper will introduce you to the essentials of deploying Windows Azure applications and services, as well as provide you with an understanding of what is needed to allocate system resources while minimizing the potential of outages or service failures. You will be introduced to deployment techniques using both the Windows Azure Portal and the PowerShell CmdLets provided through the Windows Azure Service Management API. You will also be introduced to Windows Azure fault domains, upgrade domains, and geolocation capabilities. Finally, you will be introduced to VM Role deployment, which allows you to take advantage of custom images to support your applications in even more specialized solutions. The Windows Azure Portal The Windows Azure Portal provides a gateway into the cloud environment that hosts the Azure Platform solutions that are being developed and then deployed. The first thing needed, aside from an account in the environment, is a hosted service that will allocate the resources for the application. Figure 1: New hosted service through the Portal The hosted service is the initial deployment unit for the application pieces developers provide. There are 2 main components: a package file and a configuration file. The package file contains the application components and the configuration file is the information needed by the deployment process in order to provision the service. 4

Figure 2: Create a hosted service Once the information has been provided to provision your service, the Windows Azure Portal starts processing the different moving pieces, or roles, that define your service. During the creation of the new hosted service, you will determine whether the application will be provisioned into the staging or production environment. Using the Windows Azure Portal, you are able to control activities through the use of deployed services. Figure 3: Deployment options in the Windows Azure Portal Once the application has been provisioned, you have the option to upgrade the deployment, configure the number of instances per role, upload a new configuration file, delete the deployment, or start and stop any running instance. 5

Figure 4: Upgrade a Deployment Figure 5: Configure a Deployment You also have the option to transfer the running instance to either staging or production, known as swapping VIPs. Figure 6: VIP Swap The Windows Azure Portal also provides you with methods of controlling the OS version that is running the instance you are configuring. These options are currently limited to Windows Server 2008 SP2 or Windows Server 2008 R2. 6

Figure 7: Configure your OS settings The Windows Azure Portal provides detailed information on which environment your deployment is running on as well as providing the vital information needed to service and manage your deployment. Using PowerShell to Deploy Windows Azure Applications PowerShell is at the forefront in assisting with the automation process in managing services while also making it easier to accelerate tasks. Windows Azure includes PowerShell integration that gives Windows Azure the same level of flexibility and extensibility that is available throughout other Microsoft platforms. There are a number of CmdLets available by installing the Windows Azure Service Management CmdLets from the MSDN Code Gallery. These can be downloaded from http://code.msdn.microsoft.com/azurecmdlets. Figure 8: PowerShell with Windows Azure Through the use of PowerShell, you are able to create new deployments, stop and start deployed services, and transition services from staging to production environments. 7

By using scripts like the one shown in Figure 9 below, you would be able to create a new service deployment New-Deployment -servicename <servicename> -subscriptionid <subscriptionid> -certificate <certificate> -slot staging -package <packagefile> -configuration <configfile> -label <servicelabel> Get- OperationStatus WaitToComplete Figure 9: Sample PowerShell Command to Create a New Deployment Understanding Fault Domains and Upgrade Domains Every environment as it pertains to operational soundness needs to conform to Service Level Agreements. The Windows Azure platform is no exception. When you deploy two or more role instances in different fault and upgrade domains, the Microsoft Windows Azure SLA provides a guarantee that your Internet-facing roles will have external connectivity at least 99.95% of the time. A key point to understand in service up time is the use of fault domains and upgrade domains: what they represent and their impact in the overall Windows Azure platform. Fault Domains Fault domains represent a physical unit of failure, very closely related to the physical infrastructure contained in data centers, and while a physical blade or rack can be considered a fault domain, there is no direct one-to-one mapping between the two. When you deploy your applications to the Windows Azure platform, the Windows Azure Fabric Controller is responsible for deploying your application into different fault domains, with the guarantee your application will use at least two fault domains, thereby meeting the requirements of the Windows Azure SLA. In order for this to take place, there is a requirement to have multiple instances configured of the applications role services. The distribution of fault domains is something over which you do not have direct control, but there are ways in which you can impact the overall availability of your application. Upgrade Domains Upgrade domains represent a logical unit that helps determine how a role within an instance will be updated. When an upgrade occurs, Windows Azure goes through the process of updating these domains one by one. Windows Azure Upgrade domains protect your application from issues that lead to potential downtime. When an upgrade request takes place, the roles get a notification of the change. Imagine having 50 role instances, all getting notified at once, and all of these instances reacting to the upgrade notification. This scenario would lead to unavailable roles and resource contention, leading to downtime. The Windows Azure platform will protect against flooding requests to upgrade a given service to a new version to be deployed. 8

Figure 10: Upgrade Domains Upgrade domains provide a way to address this problem. During an upgrade, Windows Azure updates the role instances one by one, and only the associated role instances to a specific domain get notified and react. The rest will remain intact, providing a seamless upgrade experience and no service disruption or downtime. Figure 11: Upgrade process There is no control on how Windows Azure divides your instances and roles into upgrade domains. It is a completely automated procedure which takes place in the background. Figure 92: Configuring an upgrade deployment 9

Geo-Location and Distribution The Windows Azure Platform also offers a Content Delivery Network (CDN) that caches your Windows Azure storage blobs in order to provide maximum bandwidth for delivering content to users. You can enable CDN delivery for any storage account via the Management Portal. The benefit of using a CDN is better performance and user experience for users who are farther from the source of the content stored in the Windows Azure Blob service. In order to provide high availability, Microsoft established regional datacenter operations that allow customers to select geographically-dispersed services. When you create your Windows Azure servers, you need to specify which geographic location the servers should be provisioned in. This feature is called Windows Azure Geo-Location. Initially, it may be tempting to choose your company s geographic location for improved performance; however, if the availability of your Windows Azure services is more important than response time, you may need to pick another location. When selecting a geographic location, you will need to consider the following: 1. Performance. When your data is closer to your users, network latency may be noticeably lower, improving customer experience. 2. Disaster recovery. If ensuring the availability of your cloud platform is important, you may want to disperse your services and data across multiple regions. 3. Legal factors. Consider the type of information that will be stored in the cloud, and ensure that you aren t bound by specific regulations and mandates that may prevent you from selecting remote geographic locations. Currently, you can select from one of the following geographic locations, each of which is supported by a regional data center: Anywhere Asia Anywhere Europe Anywhere US North Central US North Europe South Central US Southeast Asia In addition, you can create an affinity group that lets you keep certain Windows Azure services together. Such a group creates a geographic dependency between Windows Azure and data services deployed in the Windows Azure platform. If the Windows Azure deployment has a requirement to move a service to another geo-location for regulatory reasons, the related services will likely move along with it. For example, if you develop a Windows Azure service that depends on a SQL Azure database, you may want to ensure that they both reside in the same geo location, and that they both belong to the same affinity group. 10

Additional locations will be added over time. As a result, you may need to reevaluate on a regular basis whether a service is deployed in the most appropriate geographic location. VM Role Deployment The Windows Azure Virtual Machine (VM) role enables you to deploy a custom Windows Server 2008 R2 image to Windows Azure. With a VM role, you can work in a familiar environment using standard Windows technologies to create an image, install your software to it, prepare it for deployment to Windows Azure, and manage it once it has been deployed. The Windows Azure VM role is designed for compatibility with ordinary Windows Server workloads, making it an ideal option for migrating existing applications to Windows Azure. When you deploy a VM role to Windows Azure, you are running an instance of Windows Server 2008 R2 in Windows Azure. VM role gives you control over the virtual machine, while also providing the advantages of running within the Windows Azure environment: immediate scalability, in-place upgrades with no service downtime, integration with other components of your service, and load-balanced traffic. A VM role instance running in Windows Azure is subject to certain limitations that onpremises deployments of Windows Azure are not. Some network-related functionality is restricted; for example, certain network operations will require the use of Windows Azure Connect, and a server instance running in Windows Azure does not persist state. This means that, in the event the server instance needs to be re-created from the image, any associated running state with that instance will be lost. It is recommended that you use Windows Azure storage services to persist state, either by writing it to blob storage or to a Windows Azure drive. Data written to the local storage resource directory is persisted when a server instance is reimaged; however, data may be lost in the event of a transient failure in Windows Azure that requires your server instance to be moved to different hardware. The following steps provide a high-level overview of the steps required to build and deploy a VM role image: 11

Deploy Image Preparation Install integration components Install software applications Build adapter Configure firewall Generalize image Upload image to repository Design Service Model Define VM role Reference image Specify certificates and destination store Configure number of server instances Configure certificate thumbprints Specify configuration settings Upload service package and configuration File Upload certificates to certificate store Figure 13: VM role deployment process Startup Tasks Startup tasks are beneficial in deployments, as they will assist in deploying dependencies and performing actions before the role starts up. Some examples of dependencies or activities you would deploy are: installing custom components, COM components, registry keys, and pre caching of elements. When considering the implementation of startup tasks, there are two privilege levels: 1. Limited: runs at the same privilege level as the role. 2. Elevated: runs with administrative privilege. Also important is to understand the three types of tasks: 1. Simple: default type which runs in synchronous mode. The task is launched and any additional progress in the instance is blocked until the task is complete. 2. Background: runs in asynchronous mode. The task is launched and startup progress continues. 3. Foreground: runs in asynchronous mode. The task is launched the same way as in the background; however the role can only shutdown once all foreground tasks exit. 12

Conclusion This whitepaper has introduced you to different options available for deploying solutions into Windows Azure. IT Professionals can either use the powerful tools available in the Windows Azure Portal or use PowerShell CmdLets provided through the Windows Azure Service Management API to automate tasks. You have been introduced to methods that provide scalability and global availability through the use of Windows Azure fault domains and upgrade domains, and through geo-location capabilities such as regional caching. In addition, you have been introduced to VM Role deployment, which allows you to take advantage of custom images to support your applications in even more specialized solutions. 13