A multi part study over Digital Ocean Droplets to AWS EKS Kubernetes

I began working with a client recently who's ask was to help sure up their infrastructure for their web application. So I'll give a brief background to their current infrastructure, woes, and happy moments. Then follow that up with the plan set forth and currently underway.

I'll make this a multi-part blog post as summarizing everything done in one post will just result in an extremely lengthy novel that no one will want to read.

So let's begin with where they were.

Their infrastructure was mostly housed in Digital Ocean using multiple droplets. They had dev, qa, and production environments all running in separate droplets.

Alongside some corresponding postgres databases, also housed under Digital Ocean.

Let's take a moment to focus in on the dev environment, while also housing their dev instance, it also housed a few self hosted services.

  • Drone
  • Gitea
  • Portainer
  • Application
  • A cert manager cron job
  • and nginx configuration for routing to each of these applications

The ultimate ask was "we want zero down time deploys and a better, more reliable, and transparent infrastructure."

Easy enough.

So let's bring up the hot word item you may have heard before.

Kubernetes!

Yeah another go of that old horse huh.

So the plan was as follows:

  • Migrate lower environments to AWS Kubernetes (using EKS) backed by Helm to make templating easy
  • Set up Drone pipelines to deploy to EKS
  • Test and verify, cut over each environment on the DNS as they were good to go
  • Migrate production over to AWS
  • Migrate over to Gtihub and shut down Gitea
  • Migrate over to Github Actions and shut down Drone
  • Shut down all Digital Ocean droplets
  • Migrate postgres over to AWS
  • Shut down postgres Digital Ocean and turn Digital Ocean off for good
  • Set up Terraform to back all the resources in code

I am happy to report that I am just about wrapped up with this project and will be moving on to the next series of work soon.

In the following post I will outline the steps necessary for the applications in Digital Ocean droplets to get migrated over into Kubernetes in AWS.

Robo HousePostsContactAbout

© 2022 Kevin Wynn, Robo House, LLC