Platform Engineering: Building Cloud-Agnostic Solutions with Kubernetes