Building a complete Kubernetes backed infrastructure

The following is part of a series of posts called "Building a complete Kubernetes backed infrastructure".

This series of posts describes my approach to standing up a scalable infrastructure for hosting both internal and external software in a company setting.

This series focuses on AWS specifically as I have found EKS to be the most complicated Kubernetes provider to set up, but the principles and workflow should be easily applied to any other provider or on-prem situation.

I’ve been working on various business and personal projects now for 10 or so years and, as most software engineers could likely relate, you end up having many different projects in many different places.

I decided to take some time to consolidate everything into a single Kubernetes cluster running on AWS. While doing this I’ve also taken the time to set everything up in a way which would suit a business looking to get into an infrastructure ready for high growth, or looking to introduce and leverage newer and faster approaches to their existing infrastructure and providing a target for migration.

I’ve included a number of factors into these posts that I’ve used in other projects which may or may not suit you’re particular context, but I’ve found helpful. Some of these features are:

  • VPN access with simple user management, allowing Kubernetes to be used both for hosting external facing applications while also allowing a company intranet style of access.
  • Github actions for full automation from commit to deployment.
  • Certificate management removing any need to worry about the creation and updating of SSL certificates.
  • The use of a monorepo to increase code visibility and collaboration.

I hope that this series of posts helps you in some way!

Posted in: