Friday, 20 November 2015

The "planning <--> implementation" balance

One of the great things about Agile is the ability to manage the expectations of stakeholders quite early in the development cycle. Likewise, from a business perspective: one of the great things about Agile is the ability to change requirements late in the development cycle.

Monday, 31 August 2015

Disaster (security or otherwise) in an agile (scrum) environment

When a disaster occurs in a system. Be that security, data or accidental the first thing that occurs in the psyche of the whole scrum team is:

Something, unusual has happened. Something different has happened. What do we do? What are the next steps.

The very definition of disaster in the Macquarie Dictionary alludes to this.

disaster
 Pronunciation of disaster /dəˈzastə/ (say duh'zahstuh)
noun 1.  any unfortunate event, especially a sudden or great misfortune.

Friday, 29 May 2015

Delete/Redeploy Azure Websites at specific times within a TeamCity and Octopus Deploy CI/CD pipeline

Problem

Many clients request that specific environments be only available certain times during a day.

This is often due to the high cost associated with keeping environments that are not in use.

The problem here can be divided into two.

1. How do we make the environment unavailable?
2. How do we make the environment available once more?

Microsoft will charge Azure services per compute time. Meaning that even if you stop your Azure Website it will still incur costs. This is the crux of the problem. It means that we have to deploy and delete the deployment of the Websites in order to minimise cost effectively.

Now if we have our project building, testing and deploying in a TeamCity and Octopus deploy pipeline. Ideally the Undeploy and Re-Deploy should be tunneled through the appropriate stage in the pipeline.

The reason why we should do this is to ensure that redeployment goes through the same processes as a normal deployment, and that environment states (such as version number, failed/passed) all have one source of truth - The CI/CD pipeline.

Monday, 4 May 2015

PowerShell from SourceTree as a custom action

Step 1:
Create a ps.bat file with one line:

start powershell

Save this file in an appropriate location. I saved mine to:
C:\CustomCommands


Friday, 17 April 2015

Create certificate for use with Azure PowerShell cmdlets

There are two ways to access your Azure subscription from PowerShell(PS). The first is to use Add-AzureAccount and subsequently be greeted with a login. The other way is to use Set-AzureSubscription and use certificates.

Wednesday, 11 March 2015

Azure SDK 2.4 to 2.5 upgrade. Error: "'Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment' exists in both 'Microsoft.WindowsAzure.ServiceRuntime.dll' and 'Microsoft.WindowsAzure.ServiceRuntime.dll"

If you're getting this error while calling the type 'RoleEnvironments' then there is probably something wrong with the Visual Studio migration of Azure 2.4 to 2.5.

To fix this issue simply remove then add references to the DLL Microsoft.WindowsAzure.ServiceRuntime.dll to the project that's calling 'RoleEnvironments'.