New Composite Azure Publisher and Azure Webrole avaible for public testing

In this blog post I am introducing the new Azure Publisher and WebRole for Composite C1 CMS.

In this post, you will see how to try out the new Composite Azure Publisher and Webrole. The Publisher have only been sligtly changed to get better performance when uploading sites and the new webrole should be compatible with the old azure publisher. (Need to test that).

Update (29/07/13 15:00)

All links used in videos and this post have been updated.  A few bugs was fixed in publisher and webrole. Also the DisplayName setting have been implementet, such instances that downsync are listed with a name for the webrole.

Videos

In the following two videos, I am using the publisher and webrole for demonstrating its purpose. 

In the video three links are given:

  1. http://storage.s-innovations.net/pub/Composite.WindowsAzure.ServiceConfiguration.Slim.cscfg
  2. http://storage.s-innovations.net/pub/Composite.WindowsAzure.Packages.Slim.XS.cspkg
  3. http://storage.s-innovations.net/pub/Composite.Azure.Publisher.zip

Together with those, I have packed two additional zips, also for extra small instances.

  1. http://storage.s-innovations.net/pub/Composite.WindowsAzure.Package.XS.zip
  2. http://storage.s-innovations.net/pub/Composite.WindowsAzure.Package.XS.Ssl.zip

SSL Support

The first one contains the two files from (1, 2) in the first numeration, and the last one has a prebuild package with SSL support. What you want to do for enabling SSL on your site is to change the thumbprint in the *.cscfg file for your certificate thumbprint and upload the certificate to the cloud service you are deploying to.

 <Certificate name="Composite.WindowsAzure.Certificates.Ssl" thumbprint="09EE7268BE2509E3262DCAE9DF10563DCE265BD3" thumbprintAlgorithm="sha1" /> 

and here is my WebsiteConfiguration.xml

<?xml version="1.0" encoding="utf-8"?>  <Configuration>    <Runtime writeback="true" />    <Bindings>      <Binding port="80"  />      <Binding port="443" host="scaleout.s-innovations.net" certificateHash="09EE7268BE2509E3262DCAE9DF10563DCE265BD3" />    </Bindings> </Configuration>

I configured a Traffic Manager on WindowsAzure and set a CNAME record for scaleout.s-innovations.net to c1traffic.trafficmanager.net :

Configuration

In the videos you can see how to use the webrole and publisher and I will just show the basic steps here. I am using two external tools for my work on Azure. The first one is Azure Management Studio (you can get a 30 days trial) for log viewing. Before those 30 days have passed, I will provide a tool for viewing the logs also in a simple way such you can see the C1 Webrole Logs for free. The second one is CloudBerry's offer for accessing my blob storage. (There is a free version if you google for it).

  1. Deploy a cloud service with the package downloaded above. (It will set up one extra small instance, and you can scale it up after if you want to)
    1. First, it sets up all the server stuff, installing a SMTP server, deletes all sites on IIS (because when deploying a cloud service you have to deploy a site also, we do not want this site). We have a setting: 'Composite.WindowsAzure.WebRole.Iis.DeleteDefaultSites' for disabling this if you need this later when the code for compiling the package your self is available.
    2. Then based on the setting 'Composite.WindowsAzure.WebRole.DeploymentName' it sets up IIS with the sites defined in the container or it creates the container with an XML file listing no sites. This file also have examples in comments for easy setup.
    3. Now the webrole is running. You will get a 'Composite.WindowsAzure.WebRole: Ready...' message in the log.
  2. Deploy a website. You have two options.
    1. Upload your site to blob storage you self in a folder called Website, to a new container you create. Create the configuration xml file 'WebsiteConfiguration.xml' in a folder 'Configuration' next to 'Website'.
    2. Install the new publisher (links above) and configure it by right clicking it in the content perspective after installing, with a container and a connection string. Then the new publisher will create the container if not existing, and create the files. (Might possible have written it now such it overwrites the configuration file every time you publish, i will change that within a few days).
  3. You now have two containers in the storage, one for the deployment and one for the website. Last step is to tell the deployment (the webrole) it should use the website. Telling it this, it will set up IIS for you on the virtual machine it is deployed on. Add an entry in the Websites.xml in the deployment configuration folder with a unique name and the container of the website. 

Watching the videos shows all this also. In addition, here are some screenshots  that I took while setting it up the first time before recording the video.



comments powered by Disqus