For the last few years I’ve been a part of several brand new and phase one projects. No matter the size of the team or business this project has begun with, mistakes are going to be made. Here I’m going to outline some of the most impactful decisions and their consequences I’ve come across. Follow all these steps closely to run a truly terrible project.
“Oh cool I got it working, let’s use it how it is.” — Dev who just finished configuring webpack for the first time.
Generally at the start of a new project, there is some time put aside to figure out your stack and approach. Whether this is a totally new set of systems or a single new layer, you will find some form of spiking is done. An example would be an API server with a new library you haven’t used before. The first step would be getting it running with a nice ‘Hello world’ response, then maybe you’ll rope in some middleware to deal with authentication. At this point you decide, ok, cool lets commit that to master and we’re good to go, right? …
tldr: inside an s3 bucket with site hosting add a redirect.html file, a CloudFront distribution that loads the file and a route53 record set that adds an ‘Alias’ for the CloudFront distribution. Solution and code below.
Recently I re-launched a new design of my personal site, this also involved moving the domain from joshuatoth.com to jjt.dev. Having registered joshuatoth.com on AWS and jjt.dev on google domains.
Before the launch I had my jjt.dev redirecting to google domains via the ‘redirect’ domain control. Super simple
But when I had to do the forwarding in the other direction AWS was not as easy. There are a couple of recommended forwarding methods that AWS has noted down, however these didn’t work for my use case. …
In August last year I had the opportunity to work on a greenfield project within the financial sector. The pitch to me was: An AWS native, Node.js, serverless, event-driven system to back up an IOT device capable of real time messaging and events. I was very intrigued.
The architecture of the project was more or less your expected serverless stack:
On the Build/Ci side of…