Deploying SharePoint Farms on Windows Azure Virtual Machines 5/12/2018 8:10 PM AZR327 Deploying SharePoint Farms on Windows Azure Virtual Machines Paul Stubbs Architect Microsoft Corporation © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
SharePoint 2010 on Windows Azure!
Agenda Motivation and Scenarios Migration Approaches Developer Machine Multi-Machine Farm PowerShell Automation
Motivations and Scenarios When and why would I use SharePoint in the cloud?
Drivers for Cloud Adoption IT Agility The ability to instantly provision new hardware for new opportunities or respond quickly to business demand can be a competitive advantage. Focus Focusing less on infrastructure leaves more time for improving the success of the business through better IT. More on Innovation and less on Infrastructure. Economics Cloud Computing lowers the cost of delivering IT and increases the utilization and efficiency of your data center.
SharePoint Cloud Continuum Value Prop: Auto HA, Fault-Tolerance Friction-free scale Self-provisioning, mgmt @ scale SharePoint Service Office 365 (SaaS) Value Prop: 100% of API surface area Easy migration of existing apps Roll-your-own HA/DR/scale SharePoint (IaaS) Hosted SharePoint COST-EFFICIENCY SharePoint (On-premise) SharePoint Value Prop: Full h/w control – size/scale Roll-your-own HA/DR/scale CONTROL
SharePoint Workloads SharePoint for Internet Sites (FIS) Public facing, anonymous access sites Developer, Test and Staging Environments Quickly provision and un-provision entire environments Hybrid Applications Applications that span your data center and the cloud Disaster Recovery Quickly recover from a disaster, only pay for use
Hybrid Solutions PaaS SaaS IaaS SQL Azure O365 Tables Azure Service Blobs SharePoint IaaS Service Bus OnPrem Service OnPrem Service
Migration Approaches How can I migrate SharePoint to the cloud?
Migration Considerations Software Requirements Dependency on non-supported OS or application? Licensing Do your software licenses transfer to the cloud? Hardware Requirements Multiple network cards or other hardware requirements
Migration Types Forklift Migrations IaaS to PaaS Migration Bring entire SharePoint Farm IaaS to PaaS Migration Migrating applications to web or worker Hybrid Migration Bring portion of application to the cloud while some resources stay on-premises
Migration Approaches Migrating an Existing Virtual Machine Application, Configuration and Data in an installed Working State. Requires uploading a large amount of data and a higher risk of drivers or other hardware dependencies on VM not available in the cloud. Build VMs in the Cloud Lowers upload time and dependency risk. Invest in PowerShell automation. Requires upload and installation of application and data.
SharePoint Developer How does a developer use SharePoint in the cloud?
Migrating a Simple Virtual Machine Migration Steps 1) Download SharePoint Information Worker VHD 2) Upload VHDs CSUpload or other Tools 3) Create VM OS Disk=2010-10a.vhd 4) Add Input Endpoint(s) 80, TCP, http 443, TCP, https Cloud Service Name: spdev1.cloudapp.net On-Premises Virtual Machine Machine Name: APPSRV1 Memory: 8 GB Cores: 4 Ports: 80/443 for http/https Deployment Slot Production Virtual Machine Role Name: appsrv1 4 Cores 7 GB Ram Guest: C:\ Host: C:\VMs\2010-10a.vhd Windows Azure Storage TCP Endpoints 80 and 443 Guest: C:\ spStorage\VHDs\2010-10a.vhd
Deploy SharePoint Developer Machine
SharePoint Farm How can I run my entire SharePoint Farm in the cloud?
Three-Tier SharePoint Farm Load Balancer Web Tier Web Front End Application Tier Application Server Central Admin Database Server Config and Content DB Database Tier
SharePoint Farm Configuration WFE AppSvr SQL LB AD/DC/DNS AD/DC/DNS Cloud Svc 80/443 VPN Tunnel Cloud Svc Virtual Network 2012 Azure OnPrem
Deploy SharePoint Farm
PowerShell Automation How do I automate the deployment of SharePoint to the cloud?
PowerShell Automation http://go.microsoft.com/?linkid=9811175 Based on the Windows Azure Management and Diagnostics APIs Fully automate VM deployments Accomplish tasks not in the portal
Deploy Virtual Machine Example ## Create SP WFE1 $spwfe1 = New-AzureVMConfig -Name 'SP-WFE1' -AvailabilitySetName $avsetwfe ` -ImageName $spimage -InstanceSize Medium | Add-AzureProvisioningConfig -WindowsDomain -Password $dompwd ` -Domain $domain -DomainUserName $domuser -DomainPassword $dompwd ` -MachineObjectOU $advmou -JoinDomain $joindom | Add-AzureInputEndpoint -Name 'http' -LBSetName 'lbhttp' ` -LocalPort 80 -PublicPort 80 -Protocol tcp -ProbeProtocol http -ProbePort 80 ` -ProbePath '/healthcheck/iisstart.htm' | Set-AzureSubnet $spsubnet . . . $dns1 = New-AzureDns -Name 'dns1' -IPAddress '10.1.2.4' New-AzureVM -ServiceName $cloudsvc -AffinityGroup $ag -VNetName $vnetname ` -DnsSettings $dns1 -VMs $spwfe1, $spwfe2, $spwfe3, $spwfe4, $spapp1, $spapp2, $spsql1, $spsql2
Deploy Virtual Machine Example ## Create SP WFE1 $spwfe1 = New-AzureVMConfig -Name 'SP-WFE1' -AvailabilitySetName $avsetwfe ` -ImageName $spimage -InstanceSize Medium | Add-AzureProvisioningConfig -WindowsDomain -Password $dompwd ` -Domain $domain -DomainUserName $domuser -DomainPassword $dompwd ` -MachineObjectOU $advmou -JoinDomain $joindom | Add-AzureInputEndpoint -Name 'http' -LBSetName 'lbhttp' ` -LocalPort 80 -PublicPort 80 -Protocol tcp -ProbeProtocol http -ProbePort 80 ` -ProbePath '/healthcheck/iisstart.htm' | Set-AzureSubnet $spsubnet . . . $dns1 = New-AzureDns -Name 'dns1' -IPAddress '10.1.2.4' New-AzureVM -ServiceName $cloudsvc -AffinityGroup $ag -VNetName $vnetname ` -DnsSettings $dns1 -VMs $spwfe1, $spwfe2, $spwfe3, $spwfe4, $spapp1, $spapp2, $spsql1, $spsql2
Deploy Virtual Machine Example ## Create SP WFE1 $spwfe1 = New-AzureVMConfig -Name 'SP-WFE1' -AvailabilitySetName $avsetwfe ` -ImageName $spimage -InstanceSize Medium | Add-AzureProvisioningConfig -WindowsDomain -Password $dompwd ` -Domain $domain -DomainUserName $domuser -DomainPassword $dompwd ` -MachineObjectOU $advmou -JoinDomain $joindom | Add-AzureInputEndpoint -Name 'http' -LBSetName 'lbhttp' ` -LocalPort 80 -PublicPort 80 -Protocol tcp -ProbeProtocol http -ProbePort 80 ` -ProbePath '/healthcheck/iisstart.htm' | Set-AzureSubnet $spsubnet . . . $dns1 = New-AzureDns -Name 'dns1' -IPAddress '10.1.2.4' New-AzureVM -ServiceName $cloudsvc -AffinityGroup $ag -VNetName $vnetname ` -DnsSettings $dns1 -VMs $spwfe1, $spwfe2, $spwfe3, $spwfe4, $spapp1, $spapp2, $spsql1, $spsql2
Deploy Virtual Machine Example ## Create SP WFE1 $spwfe1 = New-AzureVMConfig -Name 'SP-WFE1' -AvailabilitySetName $avsetwfe ` -ImageName $spimage -InstanceSize Medium | Add-AzureProvisioningConfig -WindowsDomain -Password $dompwd ` -Domain $domain -DomainUserName $domuser -DomainPassword $dompwd ` -MachineObjectOU $advmou -JoinDomain $joindom | Add-AzureInputEndpoint -Name 'http' -LBSetName 'lbhttp' ` -LocalPort 80 -PublicPort 80 -Protocol tcp -ProbeProtocol http -ProbePort 80 ` -ProbePath '/healthcheck/iisstart.htm' | Set-AzureSubnet $spsubnet . . . $dns1 = New-AzureDns -Name 'dns1' -IPAddress '10.1.2.4' New-AzureVM -ServiceName $cloudsvc -AffinityGroup $ag -VNetName $vnetname ` -DnsSettings $dns1 -VMs $spwfe1, $spwfe2, $spwfe3, $spwfe4, $spapp1, $spapp2, $spsql1, $spsql2
Deploy Virtual Machine Example ## Create SP WFE1 $spwfe1 = New-AzureVMConfig -Name 'SP-WFE1' -AvailabilitySetName $avsetwfe ` -ImageName $spimage -InstanceSize Medium | Add-AzureProvisioningConfig -WindowsDomain -Password $dompwd ` -Domain $domain -DomainUserName $domuser -DomainPassword $dompwd ` -MachineObjectOU $advmou -JoinDomain $joindom | Add-AzureInputEndpoint -Name 'http' -LBSetName 'lbhttp' ` -LocalPort 80 -PublicPort 80 -Protocol tcp -ProbeProtocol http -ProbePort 80 ` -ProbePath '/healthcheck/iisstart.htm' | Set-AzureSubnet $spsubnet . . . $dns1 = New-AzureDns -Name 'dns1' -IPAddress '10.1.2.4' New-AzureVM -ServiceName $cloudsvc -AffinityGroup $ag -VNetName $vnetname ` -DnsSettings $dns1 -VMs $spwfe1, $spwfe2, $spwfe3, $spwfe4, $spapp1, $spapp2, $spsql1, $spsql2
PowerShell Deployment
Call to Action Identify Scenarios Build Developer Machines Deploy SharePoint Farms Learn PowerShell
Related Content OSP302 Building Integrated Microsoft Office 365, SharePoint Online, and Office Solutions Using BCS and LOB Data OSP334 Why Microsoft SharePoint and Windows Azure are Just Plain Better Together AZ312 How to Move and Enhance Existing Apps for Windows Azure
Track Resources @WindowsAzure @ms_teched DOWNLOAD Windows Azure Meetwindowsazure.com @WindowsAzure @ms_teched DOWNLOAD Windows Azure Windowsazure.com/ teched Hands-On Labs
Resources Learning TechNet http://northamerica.msteched.com Connect. Share. Discuss. http://northamerica.msteched.com Microsoft Certification & Training Resources www.microsoft.com/learning TechNet Resources for IT Professionals http://microsoft.com/technet Resources for Developers http://microsoft.com/msdn
Complete an evaluation on CommNet and enter to win! Required Slide Complete an evaluation on CommNet and enter to win!
MS Tag Scan the Tag to evaluate this session now on myTechEd Mobile
5/12/2018 8:10 PM © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
5/12/2018 8:10 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.