Monday, 31 August 2026

Migrating isnow.online to AWS

This weekend, isnow.online and its subsites were migrated from Cloudflare to a fully AWS-hosted setup.

The main goal wasn't simply to move hosting providers. This was also an opportunity to get more hands-on experience with AWS, Terraform, Infrastructure as Code (IaC), CI/CD and DevOps practices while putting some better foundations in place for future projects.

Building it with Terraform

As part of the migration, I created reusable Terraform modules covering the two main hosting patterns currently needed:

  • Static site hosting — static sites and SPAs are stored in S3, with CloudFront providing the public-facing frontend.
  • Lambda-based sites — applications such as Lyricle and Birdle, which need a small amount of backend functionality, use AWS Lambda with public Function URLs.

Building these was a useful Terraform learning exercise, particularly around module creation and reuse. I also settled on a project topology and approach to managing multiple environments that works well for how I want to operate these projects.

Some AWS standards

I've also started defining AWS policies and standards for the wider isnow project, primarily around resource naming and tagging.

They're fairly simple at the moment, but having these conventions defined early should make the AWS environment much easier to manage as more applications and infrastructure are added.

Staging first, then production

Before touching the live site, the new infrastructure was deployed into a staging environment so the complete setup could be tested.

Once I was happy with that, migrating production took barely an hour. Having the infrastructure already defined and tested through Terraform made the production deployment considerably simpler.

I've also updated the local development server so it uses the same backend code that is eventually uploaded to the Lambda functions. This should keep local development and AWS deployments consistent and reduce the chance of deployment-specific failures.

Next up: CI/CD

All of the projects are now in GitHub, and with the Terraform configuration there too, the next goal is to turn the current setup into a proper CI/CD stack.

There are plenty more infrastructure updates and new applications I'd like to build, but this is primarily a casual project and a way for me to gain more practical experience with AWS, Terraform, CI/CD and DevOps.

So, there's no particular timeline for what comes next.

For now, go check out the newly AWS-powered isnow.online:

https://isnow.online

No comments:

Post a Comment