Configure and provision services

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Now that you have installed Windows Azure Pack for Windows Server, use the following information to configure and provision services for your tenants.

  • Provision Virtual Machine clouds

  • Provision Service Bus

  • Provision application databases for end users

    Note that for Windows Azure Pack, we have added support for SQL AlwaysOn Availability Groups. See Configure SQL AlwaysOn Availability Groups for details.

Provision Virtual Machine clouds

Use the following steps to provision Virtual Machine clouds.

To provision virtual machine clouds, you need the URL of the Service Provider Foundation endpoint. The endpoint is constructed as https://<server name>:8090, where the server name is the fully qualified domain name (FQDN) of the server that has Service Provider Foundation installed. The colon and the 8090 port specification are required.

To provision Virtual Machine clouds

  1. In the management portal for administrators, click Virtual Machine Clouds, and then click the link under Register System Center Service Provider Foundation.

  2. Enter the endpoint URL.

    Specify the user name and password and click the checkmark. Provide the same user name and password that were used to install Service Provider Foundation. You can determine the user name by checking the Identity for the VMM, Admin, and Provider Application Pools in Internet Information Services (IIS) Manager on the server that has Service Provider Foundation installed.

    Note

    If the Service Provider Foundation endpoint registration does not work, verify that you can connect to the Service Provider Foundation URL from a browser.

  3. After you register Service Provider Foundation, you must register a System Center Provider to provision virtual machines against. Click New, VM Clouds, and then Connect To. Enter the FQDN of the Virtual Machine Manager server, optionally enter the remote desktop gateway FQDN, and then click Register.

  4. You can click the Clouds tab to view the Virtual Machine Clouds that are registered in VMM.

  5. Click any of the Virtual Machine clouds to view the VM Clouds dashboard.

  6. Go back to Virtual Machine Clouds list by clicking the back arrow.

  7. You can also click Providers to see the list of existing Virtual Machine Cloud providers.

Provision Service Bus

For information on how to configure and provision Service Bus, see the Getting Started with the Service Bus for Windows Server topic on MSDN.

Provision application databases for end users

You can add one or more SQL or MySQL Server hosting servers for end users to deploy and use. Use the following information to provision servers.

You can also choose to use SQL AlwaysOn Availability Groups with Windows Azure Pack. See Configure SQL AlwaysOn Availability Groups for information.

Note

If you want your application databases to be publically accessible, ensure that you use a publically-accessible IP address or FQDN when you register the SQL Server hosting server.

To provision application databases

  1. Create and configure a new MySQL database. At the bottom of the screen click NEW, click MYSQL SERVERS, and then click Connect To.

  2. Specify the server name, the administrator user name (root), password, and the size of the hosting server. You can use Default for MySQL server group. Then click Connect.

    A message will be displayed at the bottom of the screen indicating whether or not the operation succeeded. Click the checkmark to dismiss the message.

  3. Click the newly created MYSQL Server to confirm the configuration.

  4. Create and configure a new SQL Database. At the bottom of the screen click NEW, click SQL SERVERS, and then click Connect To.

  5. Specify the server name, the administrator user name (sa), the administrator password, and the size of the hosting server. You can use Default for SQL server group. Then click Connect.

    A message will be displayed at the bottom of the screen indicating whether or not the operation succeeded. Click the OK checkmark to dismiss the message.

  6. Click the newly created SQL Server to confirm the configuration.

Configure SQL AlwaysOn Availability Groups

During the Preview release, Windows Azure Pack for Windows Server offers partial support for SQL AlwaysOn Availability Groups as a part of the SQL Server service. The SQL AlwaysOn Availability Groups feature is available in Microsoft SQL Server 2012 Enterprise Edition and is an high-availability and disaster recovery solution that provides an enterprise-level alternative to database mirroring. This feature reduces the dependency of the tenant database on the fallibility of a single SQL instance.

For more information about SQL AlwaysOn Availability Groups, go to https://msdn.microsoft.com/en-us/library/hh510230.aspx.

Contained database creation is the core change that enables this feature. A contained database is a database that is isolated from other databases and from the instance of SQL Server that hosts the database. Detailed about contained databases can be found at https://msdn.microsoft.com/en-us/library/ff929071.aspx. Contained database creation allows administrators to add the databases to availability groups and initiate replication. Contained users are created against instance level users. In case of failover, all contained databases and contained users are replicated. The user continues to have access to the databases on the secondary without creating new logins on the secondary instance.

Prerequisites

Ensure the following before using SQL AlwaysOn Availability Groups:

  • The list of prerequisites for setting up SQL AlwaysOn Availability Groups can be found here.

  • To enable SQL AlwaysOn Availability Groups, run the following script on every SQL instance before creating SQL database through the Windows Azure Pack:

    sp_configure ‘contained database authentication’, 1
    RECONFIGURE
    GO
    
  • After the availability group listener has been used with Windows Azure Pack, avoid changing the above containment setting of the associated instance.

Actions in the management portal for administrators

Do the following:

  • Create an availability group in SQL with the corresponding availability group listener. See https://msdn.microsoft.com/en-us/library/ff878399.aspx for details.

    Note

    Configure the AlwaysOn Group Listener to use the default port 1433.

  • In the management portal for administrators, add the availability group listener as a hosting server with the sysadmin credentials to the Primary.

    When you add the availability group listener to a SQL group, ensure that the SQL group consists of either hosting servers or availability group listeners. Do not mix the two in a single group.

Actions in SQL Server

The Preview release of Windows Azure Pack offers partial support for AlwaysOn Availability Groups. The administrator will need to perform the following actions:

  • Once tenant databases are being created, the administrator will need to run a periodic script or a script every time a tenant database is created to set up the replication of the databases with the secondary servers in the availability group.

    Add database to availability group. See https://msdn.microsoft.com/en-us/library/hh213078.aspx for details.

    Start data movement on an AlwaysOn secondary database. See https://msdn.microsoft.com/en-us/library/hh272568.aspx for details.

  • Clean up secondary servers post-deletion of tenant databases. (Will be auto-deleted from the Primary.)

  • After failover takes place to a secondary server, the administrator will need to trigger repair connection for the listener on the management portal for administrators before the tenants can successfully create new databases or resize, alter, or delete existing databases.

    Workaround: Detect the failover by querying the AlwaysOn_health XEvent session at each replica and search for the availability_replica_state_change XEvent. This XEvent is triggered every time the state of an availability group replica changes. Periodically poll the XEvent session (for example, in an agent job) and check if the role of the local replica (availability_replica_id) has changed to primary (previous_state <> ‘PRIMARY_NORMAL’ and current_state =’PRIMARY_NORMAL’).

  • The SQL Server management pack can be extended by users by adding a SQL Server Policy to track occurrences of failover. Once added, the management pack will automatically pick it up and use it as a health model.

Actions automated by the SQL resource provider

The following actions are automated by the resource provider:

  • Create Database, Change Passwords, View Info will function using the availability group listener name added to the management portal for administrators

  • Based on the availability group listener, the management portal for tenants will display the connection string with the availability group listener name.

  • During database creation, the databases are created on the primary against the availability group listener.

  • The SQL service extension checks for the ‘contained database authentication’ configuration and creates the contained database, if set. See https://msdn.microsoft.com/en-us/library/ms176061 for details.

  • A contained user is created on the contained database.

  • The administrator will need to set up replication on the tenant-created databases. Refer to Actions on SQL Server.

  • Delete database – the database, if disassociated from the availability group, is then dropped from the primary.

  • Change password – the password for the contained user will be changed to the new password.

References

The following topics provide additional information about using the SQL AlwaysOn Availability Groups feature: