Azure traffic manager: the curious case of the degraded cluster

I spent the week before Christmas performing a “lift and shift” migration from single server tin to Windows Azure, the target architecture involved fronting two Infrastructure as s Service (IaaS) Virtual Machines with Azure Traffic Manager; persistent storage provided by Azure Blob Storage and SQL Azure. The deployment was mostly successful first time, the only [...]
Read more

UX Brighton 2013

Last weekend Brighton briefly flashed white hot on the UX global heat map: Friday saw UX Brighton, Danny Hope’s now regular fixture on the conference map, and Saturday it was UX Camp Brighton. I went to the former, spoke at the latter and on Sunday I lay down in a quiet room with a towel [...]
Read more

UX at Amido

It’s been a few months since I joined Amido and it’s high time I introduced myself and said a few words about why I’ve come on board. I’ve been in UX for more than 10 years, the last 5 of which have been as a freelancer. During this time I had the good fortune to [...]
Read more

Content delivery networks (CDNS) part 2/n – caching

CACHING – UNDERSTANDING THE BASICS A cache is repository of stored data to serve subsequent HTTP requests, for a cacheable resource to expedite content retrieval. Understanding that caching content saves money is crucial; “time equals money”. Caching provides an efficient and effective mechanism for distributing resources (content) across the World Wide Web. Data within a [...]
Read more

Content delivery networks (CDNs) part 1

Content Delivery Networks (CDNs) are virtual networks built as a software layer on top of the internet. The delivery network works transparently; client software is not required, and it can adapt with the future requirements of the internet as it evolves. Popular websites are increasingly vulnerable to overwhelming load on site infrastructure. For example, the [...]
Read more

Using fakes in tests

Recently I encountered a problem that will eventually occur for any tester: that of testing a method which relies on something out of the tester’s control, in my case random number generation. If I relied on random numbers, then calling the method would give results that are outside my control. How did I get round [...]
Read more

Windows server 2012 R2 and the Cloud

It has been argued that Windows Server 2012 is the operating system for the cloud, at first glance this statement seems ironic as the vast majority of users will never interact with an operating system in a public cloud. If however you can look past this point of confusion you start to see where Windows [...]
Read more

Publishing in Windows Azure: object reference not set to an instance of an object

I recently tried to publish a web role to Windows Azure using Visual Studio 2012. Soon after telling Visual Studio to publish, I got the following error in Visual Studio’s ‘Windows Azure Activity Log’ window: In my case, my solution’s Cloud project made a reference to a X.509 certificate’s thumbprint within its configuration files, this [...]
Read more

Separation of concerns with PowerShell

Modern software is complex; often so complex that it is simply too much for one person to hold onto the big picture while digging in to the minute detail of a specific bug or feature. The “Separation of Concerns” paradigm has emerged as a practical and effective way of managing this complexity; a concise description [...]
Read more

Powershell CMDLET development settings

PowerShell snapins are a great way of exposing useful tools to your team, we can provide hooks into our existing code allowing us to leverage the investment in the code base through a simple cmdlet. There is a bit of a gotcha with PowerShell development however; if you need to be able to execute .NET [...]
Read more

Running open source solutions on windows azure

Yesterday I had the pleasure of presenting at the Building Open Source on Microsoft’s Cloud event, which is part of six steps to Windows Azure. This event is particularly important to Amido, because we believe passionately in not reinventing anything to focus on the unique problem at hand, and open source is a major part [...]
Read more

Windows azure storage capacity metrics with powershell

Windows Azure Storage Account provide highly competitive rates for storing vast amounts of data. As inexpensive as it is once we are storing data for tens of thousands of users these costs can start to mount up. Fortunately for us the Windows Azure Storage Team have given us some insight into these the usage of [...]
Read more

Compiling PHP extensions like mongo and memcache on heroku

Heroku doesn’t ship many extensions with the default PHP buildpack, most noticeably (for me anyway) the MongoDB and ZLib extensions. When deploying a new application to Heroku you may receive an error – delving into the logs by running might show something similar to: While you can install these via PECL, with Heroku apps it [...]
Read more

Azure service bus: how to delay a message being sent to the queue

From time to time you come across a situation where you need to do a little code fakery, I recently had a similar situation where I needed to raise a BrokeredMessage but delay it by a couple of minutes. THE PROBLEM I needed to publish a BrokeredMessage to the azure service bus once a process [...]
Read more

Azure table storage: insert or replace (upsert)

Recently I came across a situation where I needed to update a table storage entity but I could not be sure whether this entity still existed or had been deleted, This was due to the highly asynchronous nature of the piece I was working on coupled with the asynchronous nature of Azure Table Storage itself. [...]
Read more

Starting the azure table storage emulator in test

I recently had a requirement to code a test harness for a generic azure table storage repository, this can be found at Amido.Azure.Storage.TableStorage library, ideally these tests would act as a semi integration test against azure table storage so I could test the various different methods and result information such as azure table storage continuation [...]
Read more

Azure table storage paging with continuation tokens

In order to create a paging control when utilising Azure Table Storage, a slightly different approach is required as the usual paging methods such as skip are not available. Out of the box, Azure Table Storage supports continuation tokens which are essentially small xml files acting as keys to the specific sets of data matching [...]
Read more

Simplifying accessing data from table storage in windows azure

Windows Azure Table storage is one of the options you have for storing data within Windows Azure. Table storage is a very different beast to a traditional relational approach for storing data, such as SQL Server or within Windows Azure using SQL Azure. Table storage is effectively a NoSQL data store, allowing you to store [...]
Read more

Querying the wadlogstable in windows azure

Activating Logging When writing any application, particularly an application built for Azure, it is vital to have a good logging strategy in place. How many times have you heard someone in the office say “hey the system has just gone down, but we don’t know why?” It is important to log anything that can help [...]
Read more

The art of less

There’s always a golden moment in the lifetime of building a piece of software; it is right at the beginning when you are staring at a blank canvas – an empty solution. This moment is special because everything is still possible and the objectives are so clear. The lack of code is comprehensible. There are [...]
Read more