Projects
A collection of my most notable personal and professional projects. Each represents a unique challenge and learning experience in my journey as an infrastructure engineer and hobbyist developer.
I'd be happy to talk about any of these projects, just ask me!
Infrastructure Lifecycle Overhaul - Phase 2
Phase 2 finally lets me play with some cool technologies, all the nuts and bolts will be put into place to allow real production-grade infrastructure to be created with the new lifecycle using dedicated AWS accounts, Terraform, ECS, CodePipelines and federated IAM access for real security.
Technologies
Infrastructure Lifecycle Overhaul - Phase 1
Our self hosted infrastructure is so much better than it was 2 years ago when I inherited it all from the outgoing Senior DevOps engineer, but it's reached its limits and needs an overhaul to truly elevate it. Phase 1 involved a lot of thinking and planning to design how our new infrastructure will become an idea, enter production, maintenance and eventually it's deprecation.
Personal Website
This very website! It had been a thought for many months, and I had been ill for two weeks and fed up of sat in bed so one weekend I threw together this website. It's a little rough around the edges but it's a good excuse to play with some cool technology. What's not to love.
Technologies
Payara Documentation Rebuild
The Payara documentation site was poorly architected over 5 years ago by the previous IT team. The site did not scale and required users build the docs locally and directly SSH into production. This was overhauled with a custom Engineering Jenkins AMI to authenticate with an S3 bucket. A neat, scalable and serverless solution.
Technologies
Hotshot's Bar v2
The bar website had been left neglected for many months due to my increasing university workload, after my dissertation finished, a new and improved second interation was worked on with a shiny new interface and architected to work with all the new features that had been jankily bolted on in the first iteration..
Technologies
Payara Website Infrastructure
The Payara website was notoriously unreliable, at it's worst maintaining just 80% uptime. It was also extremely slow, averaging 4 seconds to load in the UK. The site was just bad, for my dissertation I worked with Marketing to reverse engineer the website and overhaul the infrastructure with AWS for reliability and performance.
Technologies
AWS Dev Process
Since I took over all AWS related activities at Payara, I stopped the developer free-for-all on AWS Dev/Prod. There was a growing demand for developers to access AWS though, so a dev policy where users request through the IT Jira service portal, ITOps clicks accept and a Lambda provisions their account in AWS Sandbox, emails their credentials and sends a reminder to cleanup resources.
Technologies
DiscordBot v2
The original DiscordBot had been left unmaintained for about 18 months and most of its featured had broken. Instead of fixing it I rebuilt it from the ground up using what I had learnt to make a more foundationally sound piece of code. The bot did many of the same features but it worked a lot better and still utilised Payara effectively.
Technologies
Payara Starter
Payara Starter was a creation of Payara's engineering team and came across my desk asking to be deployed into production. It was quickly containerised and used git-submodules to separate starter from the infrastructure as code.
Technologies
Status Dashboard
Payara's ITOps team had no good way of monitoring the availability of our self-hosted systems. Gatus was used as a simple, open-source system monitor hooked up to a teams notifier to alert us of downtime. This was a quick and dirty solution, yet proved so effective we left it in place for years!
Technologies
Service Team Jenkins
Payara's service team had a lot of manual process they wished to automate. Even during my time in the service team they had been wanting a Jenkins environment, and 18 months later I joined ITOps and was able to deliver this environment for them.
Technologies
Engineering Team Jenkins
Payara's Engineering team use Jenkins as the sole CI/CD solution. This is probably the most important piece of infrastructure Payara has but it was undocumented, slow and barely worked. I gathered requirements and rebuilt Engineering Jenkins to be faster and more reliable.
Technologies
Hotshot's Bar v1
My dad doesn't drink that often, yet has an entire bar in his home?! He loves taking everything to the max, and so one year I thought it would be possible to create a simple website to list all cocktails we can make from the ingredients, a fun, simple novel idea to elevate the silliness. It's now turned into the wetherspoons app and a second job for me!
Technologies
Nexus Overhaul
Payara's Service and Engineering teams were sharing a nexus environment, but they had very different needs and have been requesting separate environments for years. Now I am in the ITOps team, I was able to deliver this Engineering / Service nexus split.
Technologies
DiscordBot
A Java discord bot using Jakarta EE and Payara Micro, intended for personal use to continue programming while I rotated into the service team during my apprenticeship. The bot was used for simple tasks like translating French to English, useful for the friend who went to France on an infinite gap year!
Technologies
PhoneHome 2.0
Payara's product telemetry system, PhoneHome, relied on on-premesis hardware with no backup or configuration documentation. Moreover this system did not work and reported just 6% of the telemetry data it was supposed to receive. This project overhauled Phonehome to ensure all data was captured.
Technologies
Deprecate S3 From Release
During the Payara process, we publish Enterprise distributions to Nexus which is password locked, but we also publish enterprise binaries to a public S3 bucket for Compatibility Certification Requests. I identified this to be inefficient and a security vulnerability so re-engineered the process to solely use our Nexus environment.
Technologies
I also worked as an Apprentice Software Engineer and Apprentice Service Engineer at Payara. Work during that time is not listed here.