For this post, we are glad to host Thomas Roettinger, Program Manager in the Microsoft Private Cloud Solutions Team.
Update (Jan. 12, 2016): an updated package has been posted on WebPI today. The package updates the AD Service template to fix an issue with DNS zone; the SQL Server template to provide more flexibility with parameters; and adds security-related updates to the Deployment Guide for SQL Server.
In this blog post, we announce the availability of Windows Azure Pack Websites and Database as a Service on CPS. Both services allow users to activate PaaS (Platform as a Service) components on their CPS infrastructure. While CPS Update 2 is not a requirement to run both services, it is highly recommended.
You can download the CPS PaaS package in the same way as all other workload samples via the Web Platform Installer content feed. While earlier samples have used VM Roles to deliver a tenant self-service deployment experience, PaaS services are deployed via Virtual Machine Manager Service Templates by the CPS fabric administrator.
As with other available workload examples, you can deploy those service templates in a non-CPS System by adjusting the service templates to your Windows Azure Pack (WAP) deployment.
Windows Azure Pack Websites
Windows Azure Pack Websites enable on-premises, high-density, multi-tenant web hosting services consistent with Azure Websites. It is a scalable, shared, and secured web hosting platform that support both template web applications and a broad range programming languages like ASP.NET, PHP and Node.js. It uses both SQL Server and MySQL database servers while integrating with popular source control systems. A customizable web application gallery of popular open source web application is available for online or offline hosting.
Websites for Windows Azure Pack extends CPS from being a IaaS platform to also offer PaaS Services.
Database as a Service: Microsoft SQL Server and MySQL Server
Both Microsoft SQL Server and MySQL Server can now be integrated into CPS to provide Database as a Service. Windows Azure Pack allows tenants to consume Database as a Service either through a direct connection string available in the tenant website or through Windows Azure Pack Websites.
While CPS ships with the WAP resource providers for SQL Server and MySQL already installed, the database servers need to be provisioned by the CPS fabric administrator. Microsoft SQL Server is deployed as a guest cluster and is published via the CPS hardware load balancer.
In the figure below, you can see the VMM service template for MySQL and how it integrates with the CPS hardware load balancer for publishing.
The download package contains the following service templates:
– Active Directory
– SQL Server Guest Cluster
– File Server Guest Cluster
– Windows Azure Pack Websites
CPS PaaS Services requires a dedicated Active Directory and a dedicated non-shared SQL Guest Cluster Instance, which is used for the WAP Websites’ own Installation Database. CPS has multiple different networks each for a different purpose, and the network used for the PaaS deployment is called “Services”.
When deploying CPS PaaS Services in a traditional enterprise (non-multitenant) environment the so called “customer network” will be used instead of the “Service” network. This will allow to leverage an existing Active Directory for authentication to web services or databases.
Below you see a high level architecture overview for the deployment on the Service Network:
- The dotted line for Web Sites represents the Web Sites Controller tier. This tier connects via the load balancer to the Infrastructure network.
- The "R" in the diagram indicate that the F5 load balancer does the routing (i.e. is the default gateway) for the Services and Load Balancer networks.
The CPS PaaS Services deployment provides full high availability for each component and therefor consists of a minimum of 22 Virtual Machines. The description of each role and minimum hardware requirements can be found in the deployment document that is part of the download package.
The usual reminder applies here too: these are examples for you (the service provider/enterprise private cloud admin) to customize to best suit your customers’ needs. To modify them will require an understanding of how WAP works, how the multiple scripting engines process scripts, and how to edit the automation artifacts. An understanding of PowerShell is also going to be a prerequisite. See the Building Clouds blog and the rest of the resources at the end of this post.
Cloud Platform System
- Overview of the Microsoft Cloud Platform System
- Operating the Microsoft Cloud Platform System
- Architectural Deep Dive into the Microsoft Cloud Platform System
- Deep Dive into the Microsoft Cloud Platform System Networking
- Automating Workload Provisioning: SQL, Exchange, SharePoint and RDS on CPS.
Windows Azure Pack and Websites
- WAP Virtual Academy – you will find a whole day of WAP training here.
- Hands on Lab: Introduction to Virtual Machine Roles
- VM Role Authoring Tool
- SMA training
an updated package with the name CPS_PaaS_1.1.zip has been posted to WebPI; it provides:
Update to AD Service Template to fix an issue with DNS Zone
Update to SQL Service Template to add more flexibility for Parameters
Security Update to the Deployment Guide for SQL Deployment
Multiple minor Update to the deployment Guide