Invitation Digital Tech Blog

Building Scalable & Responsive Architecture

Adding an Instance HostName as a tag in AWS

We use the AWS EC2Config service on our instances. This allows us to run a variety of tasks on startup or reboot, one of which is to display system information on the desktop background, giving an easily visible reference about the instance. We use papertrail as our logging tool, which logs against the HostName of the instance (which also displays on the desktop background). However in the AWS Console it doesn’t record the HostName, meaning extra steps are required to convert the HostName to the Instance ID which can then be found in the AWS Console.

Here is a .ebextension that will set the HostName as a tag against the instance and allow you to search in the AWS console for the HostName.

Written By
James Page

Google PolyLine in .NET

Google’s PolyLine algorithm is designed as a lossy compression algoithm for latitude and longitude waypoint information into a compact and efficient string for transfering in their MapsAPI responses. We have built a GoogleMapsAPI client that uses a simple request/response pattern for retrieving data with minimal fuss, it’s now in production on the the vouchercloud website. As part of this we implemented a C# version of the PolyLine decoding logic. Below is an explanation of the algorithm.

Written By
Tim Barton

AWS time-based Autoscaling

Earlier this year, AWS introduced the ability to both scale up and down your Elastic Beanstalk EC2 instances by user defined times. Previously you could scale on user defined triggers such as CPU utilization, but with this time-based functionality you are now able to proactively scale up and plan in advance of expected traffic, as well as scale down when traffic is low or instances are not required. Here is how we have implemented this to scale down our Development environments out of office hours, saving running costs when instances are not in use. However it could be easily modified to scale up to meet traffic demands at expected peak periods on a Live environment.

Written By
James Page

Making savings in AWS with EC2 scheduling

AWS offers the power to create a flexible platform for running a range of environments in the cloud, but if you’re not careful you can soon find costs mounting up. We use a number of techniques to ensure that we are only paying for what we need and in this post I am going to discuss one such method, EC2 scheduling.

Written By
James Page

An introduction to unit testing with AutoFixture

Maintaining a high level of unit test coverage shouldn’t feel like a struggle. However, when refactoring code, the process of updating unit tests can feel like an arduous task.

AutoFixture is a unit testing framework that has received a lot of praise in recent months. Its aim is to make the setup of our unit tests a whole lot easier.

Written By
James Harper

How to use BAs effectively in Scrum

I have been a Business Analyst (BA) working in agile environments with Scrum for nearly 4 years now, with varying degrees of acceptance and success.

It is a common misconception that BAs are not required in a Scrum team, as the Scrum manifesto does not specifically give them a role. However, we BAs, when used correctly, can and will add value to the process and ensure that the right features are being developed and delivered ‘right first time’.

Written By
Fiona Cliffe

How to extract Private Key and Certificate from a PFX or PKCS12 (p12) file using openssl

The other day I needed to recover the private key and certificate from a pfx/pkcs12 container and found the following openssl commands really handy. As I often need to do things like this I decided to write a quick post about it for easy access and to assist others looking for the same.

This post obviously assumes you know what openssl is and you have it installed. If not you can find more information on openssl and download it from here.

Written By
Noman Mohammad Tee

Just another .Net circuit breaker

There are many examples of the circuit breaker pattern in .Net floating about on the web, but they all use a timer to reset the circuit. What about maintaining the state outside of the circuit so we can use a different circuit across many requests?

Written By
Tim Barton

Encryption in .NET with Amazon's Key Management Service

We care about keeping details of our customer’s purchases secure, that’s why we employ various cryptographic techniques to keep sensitive information from prying eyes. For this we follow industry best practices when encrypting and decrypting data.

Written By
Owain Williams

Adding existing Security Groups to a new Elastic Load Balancer in AWS

When creating a new Elastic Beanstalk, we sometimes require existing Security Groups to be applied to the Elastic Load Balancer associated with the Elastic Beanstalk. However as it currently stands, there is no easy way in AWS to do this. Sure, once the Elastic Load Balancer has been created, I can go into the AWS console, find the correct Elastic Load Balancer and add the existing Security Groups to this. But this is a manual process and can be forgotten about, potentially leaving the Application unsecure or inaccessible.

Time to break out the PowerShell and get this automated!

Written By
James Page

Older ›