Containers solve a narrow problem extremely well: making the environment part of the artefact. That removes a whole class of failure where staging and production quietly differ by a library version nobody documented.
Where teams get into trouble is orchestration. Kubernetes is excellent and it is also a full-time system to operate. Plenty of products are better served by ECS, Fargate, or a managed platform, and we will say so rather than selling you a cluster you then have to staff.
When Kubernetes is the right answer, we set it up properly: sane resource limits, health checks that reflect reality, autoscaling tested under load, and manifests your team can read without a specialist on hand.
