Moving multitude of web-apps to Kubernetes
I am researching how best to move some apps hosted as a portfolio for a small digital agency, to managed Kubernetes on DO to reduce cost and management overhead.
They range a variety of technologies hosted in a multitude of ways, but each on their own corresponding VPS:
- 3 Instances running a large PHP app (servers for the API, Frontend + ControlPanel and MongoDB)
- 2 LAMP instances with WordPress
- 5 LEMP instance with WordPress
- 2 instances running a NodeJS app (servers for the app and MySQL)
- 1 instance running a large Django app with MySQL
A total of 13 servers, where some are interconnected, but the majority are completely isolated.
Kubernetes is new to me, but I am actively upskilling every day, and working on containerizing those apps (reading material on this matter would be greatly appreciated)
What I am wondering, is what would be an ideal architecture to host all of them and possibly others in the future.
- How to organize the clusters? Per project? Per technology? Shared?
- What about the pods?
- How to implement different environments for all, or some, of them (staging and prod)?
- Is it ideal to share a containerized MySQL across various apps? Or better of with a db service per project?
- Could autoscaling be problematic in a setup like this?
- Should CI/CD be considered from the very beginning since this is a fresh start?
Thank you in advance