Monday, 21 January 2013

StealFocus Forecast - ability to delete cloud services not on a white list.

Following on from previous posts about the StealFocus Forecast application, the application can now delete deployments of Azure hosted services that are not on a white list.

Continuing the theme of the previous posts, the Forecast application is about controlling your costs for cloud services.

So far the application can create or delete hosted services on a schedule (deleting services when they are not used saves you money), delete storage entities on a schedule (deleting unused storage saves you money) and horizontally scale hosted services in or out on a schedule (scaling in hosted services during periods of low demand also saves you money).

Now the application will find any hosted service deployments that are not on a white list and will delete them. This also presents you with a cost saving as you will not be on the receiving end of unplanned growth of the number of hosted services you are running.

You can configure the white list as follows:


        <whiteList 
          pollingIntervalInMinutes="60"
          includeDeploymentDeleteServices="true"
          includeDeploymentCreateServices="true" 
          includeHorizontalScaleServices="true">
          <service name="myAzureServiceName1" />
          <service name="myAzureServiceName2" />
        </whiteList>


The attributes ("includeHorizontalScaleServices" etc) indicate whether those other configured services should be automatically included in the white list (the configuration is truncated for brevity and is missing those additional configuration elements).

The application will look for hosted services attached to the configured subscription(s). The subscription configuration is also excluded for brevity.

An example of a full configuration file is included with the application download.

For more information look at the home page on GitHub.

Monday, 14 January 2013

StealFocus Forecast - ability to horizontally scale cloud services on a schedule

Following on from my previous post about the StealFocus Forecast application, the application can now horizontally scale a configured number of Azure applications on a schedule.

Just to recap, "Forecast" is an application that can be installed as a Windows service and will perform various operations on your Windows Azure applications according to the configuration. For example it can create or delete hosted services on a schedule. The principal driver for this is to save money, being able to remove hosted services when they are not being used and spin them up later (e.g. test environments) can be a big money saver.

A similar principal applies to horizontally scaling your application on a schedule. You can configure the Forecast application to scale out your application(s) during a certain time period (when there is anticipated high demand) and then scale back in later (during quiet periods). Minimising the number of running instances also presents the opportunity for cost savings.

To horizontally scale a Windows Azure application on a schedule, it is configured as follows:


  <scheduledHorizontalScale
    id="myArbitraryId"
    subscriptionConfigurationId="myArbitraryAzureSubscriptionName"
    serviceName="myAzureServiceName"
    deploymentSlot="Production"
    treatWarningsAsError="true"
    mode="Auto"
    pollingIntervalInMinutes="30">
    <horizontalScales>
      <horizontalScale roleName="myAzureServiceRoleName1" instanceCount="2" />
      <horizontalScale roleName="myAzureServiceRoleName2" instanceCount="4" />
    </horizontalScales>
    <schedules>
      <schedule scheduleDefinitionName="BusinessHours" />
    </schedules>
  </scheduledHorizontalScale>


You can have multiple entries (one for each service) and multiple schedules for each individual service.

A future feature will scale the application on demand, according the performance metrics.

For more information look at the home page on GitHub.

About Me