Sunday, January 22, 2023
Into Containers
Originally posted on the strackt devlog in January 2023, during the early build. Brought over so the whole journey lives in one place.
Up till now, I worked with a development environment based on my local infrastructure. Whenever I was away, a VPN connecting brought the required resources from home to wherever I needed them.
But with growing dependencies, there is also a growing set of ever changing resources; and those would be very handy to have with me. It makes testing quicker, it's makes starting from scratch quicker, it makes development quicker. Plus it allows me start testing things in more realistic environments.
So starts the journey of containerizing Strackt. As always the basics are simple, but getting it to a production-grade level with enough rigor to not get in the way is where things get trickier.
Strackt is running with quite some dependancies:
Ansible, SSH
MySQL, Redis, Nginx, PHP, PHP-FPM
Queue Workers, Schedulers, CLI tooling
Hasicorp Vault, Sensu, Prometheus
What got done
Docker containers for the basics
Kubernetes clusters (local and cloud)
One offs for testing
Up next
Making container building work
Planning CI/CD piplelines
Integrate containers into the build cycle
Disconnect all external resource dependencies