Posted by Edd Mann on Apr 28, 2022

Containerising the DataDog Agent for HTTP health-checks using DigitalOcean App Platform and Terraform

We have been a big fan of DataDog and the level of telemetry/monitoring it provides us for many years now. One such aspect of monitoring that we employ throughout the services we maintain are HTTP health checks, which are intentionally run on a separate cloud provider to our primary which is AWS. DataDog has supplied the ability to handle running these checks via their agent for many years, providing us with a sufficient blackbox means of ensuring a service is functioning as expected. This past week we explored the viability of containerising this responsibility into a service which could be run on a Serverless platform such as the DigitalOcean App Platform.

Posted by Justin Hogg on Apr 11, 2022

Technical & non-Technical SEO at BrightonSEO

I was fortunate to be able to make it down to Brighton to spend a day listening to some great technical and non-technical talks on SEO at BrightonSEO 2022. I was particularly impressed on how many people attended the event and the quality of the talks.

It was interesting to see and hear key speakers so passionate about what they do so it was great that some opinions went against the general feeling that content with intent is king. It was good to hear how obtaining backlinks is a difficult job for everyone and how Digital PR, contacting journalists, is a huge part of successful back linking.

Posted by Edd Mann on Mar 25, 2022

Can you name that AWS service?

I have always been amazed by the sheer amount of services AWS offers. Although I spend a lot of time working within AWS, I am always surprised to find yet another service that I did not know existed. Better still, is with each new service comes an associated new service icon. This is why I thought it would be interesting (and somewhat educational) to build a small trivia game which quizzes you on AWS service icons.

Posted by Tom Cant on Mar 01, 2022

Handling redirects with CloudFront Functions

Over the years we’ve seen countless methods for handling redirects in web applications. From the Apache rewrite rule to AWS ALBs, Lambda@Edge, and even with S3 object metadata. In this post I’m going to share yet another method that we’ve recently started using at MyBuilder: CloudFront Functions.

Posted by Jim Maclean on Feb 10, 2022

Get started with web performance

It makes logical sense that ‘faster’ pages are ‘better’ pages. They get things done faster, score better for SEO, use less energy and people like them. This is how I took a page important for SEO at mybuilder.com and cut its metrics in half.

Posted by Edd Mann on Feb 08, 2022

Separating out the Lambda Bref runtime from your projects Composer dependencies

Having had great success using AWS Lambda within our insurance product (MyBuilder Plus), late last year we made the decision to move all our web request traffic over to the platform! However, we noticed when attempting to migrate over one application in particular, that we could not use the latest release of Bref (the PHP runtime) due to a conflict between required Symfony Process component versions.

Posted by Edd Mann on Feb 03, 2022

Using GitHub Actions to send Gone Live release notes via Email and Slack

Ensuring that both the tech team and company as a whole are aware of changes that have just been released is very important. This keeps everyone in the loop with the work that the tech team are carrying out, and how the system is changing over time. Last year we transitioned away from Jenkins to GitHub Actions to manage our CI pipelines, and in the process was able to revise how we notified interested parties about releases.

Posted by Dan Beaven on Jul 29, 2019

Starting as a React Developer at MyBuilder

I have been developing websites and JavaScript apps for over five years now and using ReactJS for over four but never inside of an organisation. I have rarely, if ever, had to read other people’s code and my experience collaborating on a codebase is limited to the few projects I have done with friends. I was curious before joining MyBuilder about this transition, what it would be like to get to grips with a large codebase and how the process of writing code would differ.

Posted by Neal Brooks on Jun 27, 2019

Compiling wkhtmltopdf for use inside an AWS Lambda function with Bref is easier than you'd think

Here at MyBuilder we recently had the chance to work on a green-field project, which of course meant we were able to play with all the shiny new toys we’ve been dying to try out for a while.

We needed to extract a standalone PDF generation service from some work we’d already done in another project. It was a perfect candidate for running inside AWS Lambda, and thus also finally giving Bref a try in production.

Posted by Barney Laurance on Jun 07, 2019

Psalm for PHP: Hard to pronounce, easier to type

I remember a colleague in a previous job repeating the mantra “program to interfaces, not implementations”.

This sounded like good advice, but it felt a little abstract to me, since in PHP variables do not have types. The values of the variables have types, but the type of an object in memory is never an interface — it’s always a class.