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.
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.
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.
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.
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.
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’.
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.
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?
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.
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!