Categories
Technical

Sending Slack alerts to approve CodePipeline deployments

At Resolver, we aim to automate as much of the boring technical jobs as possible, and that includes the whole continuous integration (CI) and deployment pipeline. We trigger these from GitHub, so a mere push or merge can kick-off our automated test suite or deploy to our staging environment for more automated and manual testing. […]

Categories
Technical

Running database migrations on deployment for Fargate containers

One of the tenets of modern framework-based web development is the management of your database state in code. Rather like infrastructure-as-code, it means there is an immutable history of the state of the application database at any point in time, which can be re-applied or rolled back as necessary. In addition, the desired state of […]

Categories
Technical

Finally forcing computers to think like humans

On 17th June 2020 I attended my first AWS summit. New to the industry, it was one of the first tech conferences I’d been to (other than the Women in Development conference earlier this year, back in that beautiful time when people were allowed to meet in groups…) and was certainly the first virtual online […]

Categories
Technical

Implementing HTTP Basic Auth for Fargate using Lambda@Edge and CloudFront

Ask any developer the quickest and hackiest way of locking unauthorised users out of your website and they will probably mention HTTP Basic Auth. As an extremely simple method of authentication that is built-in to the HTTP protocol standard and supported by every web browser, it’s the universal, go-to method of setting up a username […]

Categories
Technical

If you only learn 5 Docker Compose commands, it should be these

In my previous blog post, I gave a brief introduction to containerisation, and the differences between Docker and Docker Compose. Here I’m going to share the Docker Compose commands that I use on a daily basis and have found the most essential. In my opinion, if you only learn 5 Docker Compose commands, they should […]

Categories
Technical

A beginner’s guide to Docker and containerisation

I joined Resolver in February 2020 and was put into the Accord team, working on a brand new project (they had literally typed the words ‘rails new’ the week before I joined). This meant I would be involved from the ground up, that I would see the app grow and develop from the very start, […]

Categories
Technical

Granting time-limited access to assets in S3 using CloudFront

There was a time when asset storage was one of the problems facing web app developers – maybe you stored assets on the web server (easy if you only have one, more difficult if you need to sync them up between multiple servers), or maybe you had a shared disk mounted using NFS. In any […]

Categories
Technical

How to redirect an apex domain to www using CloudFront and S3

A common issue for developers and operations staff when it comes to domain names is whether to choose the apex domain (e.g. example.com) or the www subdomain (e.g. www.example.com) as their primary domain, and then how to redirect one to the other. Choosing to use www over the apex At Resolver, we use AWS for […]