However, Azure Pack gives us a lot more than “just” the
VM Cloud Resource Provider, that is the holy grail of Infrastructure as a
Service offering in your private cloud.
I have attempted to cover the broader aspect of Azure
Pack on this blog, like walking through the different portals, APIs and much
more, especially related to the backend VM Cloud services.
Recently, I wrote about “Deploying Service Bus for
Windows Azure Pack” - http://kristiannese.blogspot.no/2014/09/deploying-service-bus-for-windows-azure.html
that shows the consistency related to PaaS between Microsoft Azure in the
public cloud, and Azure Pack in the private cloud.
This blog post – which is focusing on the Web Site Cloud
does also falls under the PaaS umbrella in Azure Pack.
Without going into the repeating story around “one
consistent platform” and all of that, I assume you know this already, but as an
introduction to Web Site Clouds in WAP, we can say the following:
The Web Site Clouds enables an on-premises, high-density,
multi-tenant web hosting service for service providers and enterprise IT. The
web sites provides an experience similar to Microsoft Azure Web Sites. It is
scalable, shared, and secure web hosting platform that supports both template
web applications and a broad range of programming languages like ASP.NET, PHP
and Node.js.
In addition to a web site service, it includes a
self-service management portal (tenant portal), uses both SQL and MySQL
database servers, integrates with popular source control systems, and offers a
customizable web application gallery of popular open source web applications.
Web Site Cloud
The Web Site Cloud consists of at least 6 server roles.
·
Controller – Provisions and manage the other web
site roles. This is the first role you install and run the Web Site Cloud setup
on
·
Management Server – This server exposes a REST
endpoint that handles management traffic to the WAP Web Site Management API,
and you connect the service management portal to this endpoint
·
Front End – Accepts web requests from clients,
routes requests to web workers, and return web worker worker responses to
clients. Front End servers are responsible for load balancing and SSL
termination
·
Web Worker – These are web servers that process
client web requests. Web workers are either shared or reserved to provide
differentiated levels of service to customers. Reserved workers are categorized
into small, medium and large sizes.
·
File Server – Provides file services for hosting
web site content. The file server houses all of the application files for every
web site that runds on the web site cloud.
·
Publisher – Provides content publishing to the
web site farm for FTP clients, Visual Studio and WebMatrix through the Web
Deploy and FTP protocols
And as everything else, a SQL server is required for the
runtime database.
The roles are separated from, and in addition to, the
servers that form the (express or distributed) installation of the service
management API (Portals and APIs).
Before you start to install the Web Site Cloud, you must
deploy and prepare some VM’s.
Obviously everyone is using VMM today, so here’s a short
script that will go ahead and create 6 VMs to be used for the Web Site Cloud in
your private cloud infrastructure:
$VMNames =@(1..5)
$Template = Get-SCVMTemplate -VMMServer
vmm01 -ID
"1ee6ba94-b5fc-49f1-8364-a3d1b2da3f40"
| where {$_.Name -eq "GEN2
Template"}
Foreach ($VM
in $VMNames)
{
$VM = "webroleblog"+$VM
New-SCVirtualMachine -Name $vm -VMTemplate $template
-VMHost "hv03"
-Path "c:\clusterstorage\csv01"
-HighlyAvailable $true
-RunAsynchronously
}
Once this is done, you can start by logging into the
controller VM where you will install the Web Site Cloud to deploy and configure
the other core roles for this resource provider.
Note: Although
it is not a requirement I have found officially, I have experienced some issues
if .NET 3.5 is not enabled within the OS’s before we start on this process.
Through the Web Site Cloud installer, we will download, install and enable many
web server features on each guest through an agent. This one seems to fail
randomly if .NET 3.5 is left out)
On the controller, download and install Web Platform
Installer version 5.0
Once this is done, start Web Platform installer and
search for Web Site.
Add “Windows Azure Pack: Websites V2 Update 3” and
install it on your server.
Post the installation, you will be prompted by the
well-known configuration page of Azure Pack that let you connect to the SQL
server, create the database, file server settings and a lot more.
The following screen shots will give you an understanding
of what needs to be configured.
After the setup, we logon to our admin portal to add and
configure the rest of the Web Site Cloud resource provider.
Click on Web Site Cloud and connect to your newly created
environment.
Select a display name, connect to the management server (https://nameofmanagementVM), and type the
credentials you specified during the setup that has access to the REST
endpoint.
After the web site cloud is added, you can drill into the
configuration and click on ‘Roles’.
This is where you will add the additional and required
web site roles you need in order to deliver web sites to your customers.
We have already the following in place:
-
Controller
-
Management
-
File server
What we need to add now, is:
-
Publisher
-
Front End
-
Worker
You simply type the DNS or the IP address of the specific
server(s) you want to add, and then Azure Pack will deploy and configure these
roles for you, through the controller.
Note: The Web
Site Cloud has a default domain that you specify during the setup. In our
example, we are using paas.systemcenter365.com
- which mean that every website that
gets deployed, will have a suffix of website.paas.systemcenter365.com
In order for this to work, you must also create some host
records for the following roles:
·
Web Deploy DNS: publish.paas.systemcenter365.com
·
FTP Deploy DNS: ftp.paas.systemcenter365.com
·
Front End: *.paas.systemcenter365.com
Also note that you are able to perform lifecycle
management of your web site roles directly from the management portal:
Once the web site cloud is configured with the default
settings, you can go ahead and add the web site cloud to an existing Hosting
Plan.
You can configure the Web Site offering by clicking on
the service within the plan, and edit the existing values. We will leave this
alone for now, and head over to the tenant portal to see the interaction.
Now we have the Web Sites available in the tenant portal,
since this tenant is subscribing to a hosting plan that contains this offering.
If we click on new, we can choose between quick create,
custom create and from gallery.
Once the web site is deployed (regardless of the options
listed), we can perform several operations post the deployment from the tenant
portal.
From a developer perspective, it is very interesting to
see that you can download the publish profile, so that you can leverage TFS to
deploy your applications. This is a solid value add-on, in addition to the
already exposed tenant public API (for more info, see: http://kristiannese.blogspot.no/2014/06/azure-pack-working-with-tenant-public.html
)
What I like the most about the web site cloud is the
grade of integration with the other PaaS offerings in Azure Pack, just as you
would find in Microsoft Azure.
Depending on the solution and application you create, you
can link with SQL, MySQL and Service Bus which is basically everything you need
in order to fulfill the PaaS solution you are working on.
Hopefully this gave you an overview of the Web Site Cloud
in WAP.
1 comment:
Excellent blog, you provide very useful information about cloud web hosting.
Post a Comment