Microsoft SharePoint Server 2010 provides rich deployment flexibility, which can help organizations determine the appropriate deployment scenarios to align with their business needs and objectives. Hosted and managed in Microsoft Azure, the Azure Virtual Machines offering provides complete, reliable, and available infrastructure to support various on-demand application and database workloads, such as Microsoft SQL Server and SharePoint deployments.
While Azure virtual machines support multiple workloads, this article focuses on SharePoint deployments. Azure virtual machines enable organizations to create and manage their SharePoint infrastructure by quickly provisioning and accessing nearly any host universally. It allows full control and management over processors, RAM, CPU ranges, and other resources of SharePoint virtual machines.
Azure virtual machines mitigate the need for hardware, so organizations can turn attention from handling high, upfront cost and complexity to building and managing infrastructure at scale. This means that they can innovate, experiment, and iterate in hours, as opposed to days and weeks with traditional deployments.
For information about deploying SharePoint 2013 in Azure, see Planning for SharePoint 2013 on Azure infrastructure services and SharePoint farms hosted in Azure infrastructure services.
SharePoint 2010 flexibly supports most of the workloads in an Azure virtual machines deployment. Azure virtual machines are an optimal fit for FIS (SharePoint Server for Internet sites) and development scenarios. Core SharePoint workloads are also supported. If an organization wants to manage and control its own SharePoint 2010 implementation while capitalizing on options for virtualization in a cloud infrastructure, Azure virtual machines are ideal for deployment.
The Azure Virtual Machines offering is hosted and managed in the cloud. It provides deployment flexibility and reduces cost by mitigating capital expenditures due to hardware procurement. With increased infrastructure agility, organizations can deploy SharePoint Server in hours, as opposed to days or weeks. Azure virtual machines also enable organizations to deploy SharePoint workloads in the cloud using a "pay-as-you-go" model. As SharePoint workloads grow, an organization can rapidly expand the infrastructure. Then, when computing needs decline, it can return the resources that are no longer needed, thereby paying only for what is used.
Many organizations contract out the common components of their IT infrastructure and management, such as hardware, operating systems, security, data storage, and backup, while maintaining control of mission-critical applications, such as SharePoint Server. By delegating all non-mission-critical service layers of their IT platforms to a virtual provider, organizations can shift their IT focus to core, mission-critical SharePoint services and deliver business value with SharePoint projects, instead of spending more time on setting up infrastructure.
Supporting and deploying a large SharePoint infrastructure can hamper IT's ability to move rapidly to support business requirements. The time that is required to build, test, and prepare SharePoint servers and farms and deploy them into a production environment can take weeks or even months, depending on the processes and constraints of the organization. Azure virtual machines allow organizations to quickly deploy their SharePoint workloads without capital expenditures for hardware. In this way, organizations can capitalize on infrastructure agility to deploy in hours instead of days or weeks.
Without the need to deploy, test, and prepare physical SharePoint servers and farms, organizations can expand and contract compute capacity on demand, at a moment's notice. As SharePoint workload requirements grow, an organization can rapidly expand its cloud infrastructure. Likewise, when computing needs decrease, the organization can diminish resources, paying only for what it uses. The Azure virtual machines reduce upfront expenses and long-term commitments, enabling organizations to build and manage SharePoint infrastructures at scale. Again, this means that these organizations can innovate, experiment, and iterate in hours, as opposed to days and weeks using traditional deployments.
Azure virtual machines provide computing power, memory, and storage for SharePoint scenarios, whose prices are typically based on resource consumption. Organizations pay only for what they use, and the service provides all capacity needed for running the SharePoint infrastructure. For more information about pricing and billing, go to Azure pricing details. Note that there are nominal charges for storage and data transfers from Azure to an on-premises network. However, Azure does not charge for uploading data.
Azure virtual machines provide developers with the flexibility to pick their desired language or runtime environment, with official support for .NET, Node.js, Java, and PHP. Developers also can choose their tools, with support for Microsoft Visual Studio, WebMatrix, Eclipse, and text editors. Further, Microsoft delivers a low-cost, low-risk path to the cloud and offers cost-effective, easy provisioning and deployment for cloud reporting needs while providing access to business intelligence (BI) across devices and locations. Finally, with the Azure offering, users not only can move VHDs to the cloud, but also can copy a VHD back down and run it locally or through another cloud provider, as long as they have the appropriate license.
The image library in Azure provides the list of available preconfigured virtual machines. Users can publish SharePoint Server, SQL Server, Windows Server, and other ISO/VHDs to the image library. To simplify the creation of virtual machines, base images are created and published to the library. Authorized users can use these images to generate the desired virtual machine. For more information, go to Create a virtual machine running Windows in the Azure preview portal. Figure 1 shows the basic steps for creating a virtual machine using the Azure portal.
Figure 1: Overview of steps for creating a virtual machine
Users also can upload a sysprepped image on the Azure Management Portal. For more information, go to Create and upload a Windows Server VHD to Azure. Figure 2 shows the basic steps for uploading an image to create a VM.
On the Azure portal, users also can upload an image on which the SysPrep tool has already been run. For more information, go to Create and upload a Windows Server VHD to Azure. Figure 2 shows the basic steps for uploading an image to create a virtual machine.
Figure 2: Overview of steps for uploading an image
You can deploy SharePoint 2010 on Azure by following these steps:
To connect to the virtual machine, see How to sign in to a virtual machine running Windows Server.
Build the SQL Server virtual machine using any of the following options:
Create a SQL Server 2012 virtual machine by following steps 1 to 7 above, except in step 3, use the SQL Server 2012 image instead of the Windows Server 2008 R2 SP1 image. For more information, go to Provisioning a SQL Server virtual machine on Azure.
Use the SQL Server System Preparation (SysPrep) tool to install SQL Server on the virtual machine with the base operating system (as shown above in steps 1 to 7). For more information, go to Install SQL Server 2012 using SysPrep.
Use the command prompt to install SQL Server. For more information, go to Install SQL Server 2012 from the command prompt.
Use supported SQL Server media and your license key to install SQL Server on the virtual machine with the base operating system (as shown above in steps 1 to 7).
Build the SharePoint farm using the following steps:
Step 1. Configure the Azure subscription using script files.
Step 2. Provision SharePoint servers by creating another virtual machine with base operating system (as shown above in steps 1 to 6). To build a SharePoint server on this virtual machine, choose one of the following options:
Provision using the SharePoint GUI:
Provision using Windows PowerShell: You can use the Psconfig command-line tool as an alternative interface to perform several operations that control how SharePoint 2010 products are provisioned. For more information, go to Psconfig command-line reference.
Step 3. Configure SharePoint. After each SharePoint virtual machine is in the ready state, configure SharePoint Server on each server by using one of the following options:
Step 4. After the script is finished, connect to the virtual machine using the Virtual Machine Dashboard.
To verify the SharePoint configuration, sign in to the SharePoint Server, and then use Central Administration.
Be sure to configure security on the Azure portal endpoint and set an inbound port on the virtual machine's Windows Firewall. Then, confirm that you can start a remote Windows PowerShell session to one of the SharePoint application servers by opening a Windows PowerShell session with administrator credentials.
You also can create your own images and upload them to Azure as a VHD file. For information, see Create and upload a Windows Server VHD to Azure.
This section discusses some leading customer scenarios for SharePoint deployments using Azure virtual machines.
Organizations are looking for more agile ways to create SharePoint applications and set up SharePoint environments for onshore/offshore development and testing. Fundamentally, they want to shorten the time required to set up SharePoint application development projects, and decrease cost by increasing the use of their test environments. For example, an organization might want to perform on-demand load testing on SharePoint Server and execute user acceptance testing (UAT) with more concurrent users in different geographic locations. Similarly, integrating onshore/offshore teams is an increasingly important business need for many of today's organizations.
This scenario explains how organizations can use preconfigured SharePoint farms for development and test workloads. A SharePoint deployment topology looks and feels exactly as it would in an on-premises virtualized deployment. Existing IT skills translate 1:1 to an Azure virtual machines deployment, with the major benefit being an almost complete cost shift from capital expenditures to operational expenditures. No upfront physical server purchase is required. Organizations can eliminate the capital cost for server hardware and achieve flexibility by greatly reducing the provisioning time required to create, set up, or extend a SharePoint farm for a testing and development environment. IT can dynamically add and remove capacity to support the changing needs of testing and development. Plus, IT can focus more on delivering business value with SharePoint projects and less on managing infrastructure.
To fully utilize load-testing computers, organizations can configure SharePoint virtualized development and test computers on Azure with operating system support for Windows Sever 2008 R2. This enables development teams to create and test applications and easily migrate to on-premises or cloud production environments without code changes. The same frameworks and toolsets can be used on-premises and in the cloud, allowing distributed team access to the same environment. Users also can access on-premises data and applications by establishing a direct VPN connection.
Figure 3 shows a SharePoint development and testing environment on an Azure virtual machine. To build this deployment, start by using the same on-premises SharePoint development and testing environment used to develop applications. Then, upload and deploy the applications to the Azure virtual machine for testing and development. If your organization decides to move the application back on-premises, it can do so without having to modify the application.
Figure 3: SharePoint development and testing environment on Azure virtual machines
To implement a SharePoint development and testing environment on Azure, follow these steps:
Provision: First, provision a VPN connection between on-premises and Azure using Azure Virtual Network. (Because Active Directory is not used here, a VPN tunnel is needed.) For more information, go to Virtual Network overview. Then, use the Azure portal to provision a new virtual machine using a stock image from the image library.
Install: Install SharePoint Server, Visual Studio, and SQL Server on the virtual machines using a Remote Desktop connection.
Develop deployment packages and scripts for applications and databases: If you plan to use an available virtual machine from the image library, the desired on-premises applications and databases can be deployed on Azure virtual machines:
Deploy SharePoint applications and databases:
Test deployed applications and databases.
Manage virtual machines:
Organizations want to create an Internet presence that is hosted in the cloud and is easily scalable based on need and demand. They also want to create partner extranet websites for collaboration and implement an easy process for distributed authoring and approval of website content. Finally, to handle increasing loads, these organizations want to provide capacity on demand to their websites.
In this scenario, SharePoint Server is used as the basis for hosting a public-facing website. It enables organizations to rapidly deploy, customize, and host their business websites on a secure, scalable cloud infrastructure. With SharePoint public-facing websites on Azure, organizations can scale as traffic grows and pay only for what they use. Common tools, similar to those used on-premises, can be used for content authoring, workflow, and approval with SharePoint on Azure.
Further, using Azure Virtual Machines, organizations can easily configure staging and production environments running on virtual machines. SharePoint public-facing virtual machines created in Azure can be backed up to virtual storage. In addition, for disaster recovery purposes, the Continuous Geo-Replication feature allows organizations to automatically back up virtual machines located in one datacenter to another datacenter miles away.
Virtual machines in the Azure infrastructure are validated and supported for working with other Microsoft products, such as SQL Server and SharePoint Server. Azure and SharePoint Server are better together: Both are thoroughly integrated, supported, and tested together to provide an optimal experience. They both have a single point of support for the SharePoint application and the Azure infrastructure.
In this scenario, more front-end web servers for SharePoint Server must be added to support extra traffic. These servers require enhanced security and Active Directory Domain Services domain controllers to support user authentication and authorization. Figure 4 shows the layout for this scenario.
Figure 4: Public-facing SharePoint farm with customization
To implement a public-facing SharePoint farm on Azure, follow these steps:
Business intelligence (BI) is essential to gaining key insights and making rapid, sound decisions. As organizations transition from an on-premises approach, they do not want to make changes to the BI environment while deploying existing BI applications to the cloud. They want to host reports from SQL Server Analysis Services (SSAS) or SQL Server Reporting Services (SSRS) in a highly durable and available environment, while keeping full control of the BI application - all without spending much time and budget on maintenance.
This scenario describes how organizations can use Azure virtual machines to host mission-critical BI applications. Organizations can deploy SharePoint farms in Azure virtual machines and scale out the application server virtual machine's BI components, like SSRS or Excel Services. By scaling resource-intensive components in the cloud, they can better and more easily support specialized workloads. Note that SQL Server in Azure virtual machines performs well, as it is easy to scale SQL Server instances, ranging from small to extra-large installations. This provides elasticity, enabling organizations to dynamically provision (expand) or de-provision (shrink) BI instances based on immediate workload requirements.
Migrating existing BI applications to Azure provides better scaling. With the power of SQL Server Analysis Services (SSAS), SQL Server Reporting Service (SSRS), and SharePoint Server, organizations can create powerful BI and reporting applications and dashboards that scale up or down. These applications and dashboards also can be more securely integrated with on-premises data and applications. Azure ensures datacenter compliance with support for ISO 27001. For more information, go to the Azure trust center.
To scale out the deployment of BI components, a new application server with services such as PowerPivot, Power View, Excel Services, or PerformancePoint services must be installed. Or, SQL Server BI instances like SSAS or SSRS must be added to the existing farm to support additional query processing. The server can be added as a new Azure virtual machine with SharePoint 2010 Server or SQL Server installed. Then, the BI components can be installed, deployed, and configured on that server (Figure 5).
Figure 5: Scaled-out SharePoint farm for additional BI services
To scale out a BI environment on Azure, follow these steps:
Increasingly, organizations want to create fully customized SharePoint websites in the cloud. They need a highly durable and available environment that offers full control to maintain complex applications running in the cloud, but they do not want to spend a large amount of time and budget.
In this scenario, an organization can deploy its entire SharePoint farm in the cloud and dynamically scale all components to get additional capacity, or it can extend its on-premises deployment to the cloud to increase capacity and improve performance, when needed. The scenario focuses on organizations that want the full SharePoint experience for application development and enterprise content management. The more complex sites also can include enhanced reporting, Power View, PerformancePoint, PowerPivot, in-depth charts, and most other SharePoint site capabilities for end-to-end, full functionality.
Organizations can use Azure virtual machines to host customized applications and associated components on a cost-effective and highly secure cloud infrastructure. They also can use on-premises Microsoft System Center as a common management tool for on-premises and cloud applications.
To implement a completely customized SharePoint website on Azure, an organization must deploy an Active Directory domain in the cloud and provision new virtual machines into this domain. Then, a virtual machine running SQL Server 2012 must be created and configured as part of a SharePoint farm. Finally, the SharePoint farm must be created, load balanced, and connected to Active Directory and SQL Server (Figure 6).
Figure 6: Completely customized SharePoint-based website
The following steps show how to create a customized SharePoint farm environment from prebuilt images available in the image library. Note, however, that you also can upload SharePoint farm virtual machines to the image library, and authorized users can choose those virtual machines to build the required SharePoint farm on Azure.
Azure virtual machines provide a full continuum of SharePoint deployments. It is fully supported and tested to provide an optimal experience with other Microsoft applications. As such, organizations can easily set up and deploy SharePoint Server within Azure, either to provision infrastructure for a new SharePoint deployment or to expand an existing one. As business workloads grow, organizations can rapidly expand their SharePoint infrastructure. Likewise, if workload needs decline, organizations can contract resources on demand, paying only for what they use. Azure virtual machines deliver an exceptional infrastructure for a wide range of business requirements, as shown in the four SharePoint-based scenarios discussed in this article.
Successful deployment of SharePoint Server on Azure virtual machines requires solid planning, especially considering the range of critical farm architecture and deployment options. The insights and best practices outlined in this article can help to guide decisions for implementing an informed SharePoint deployment.