Given the key features mentioned — portability, high availability, and scalability in production — the best choice for the new design is:
D. Kubernetes
Kubernetes is an open-source platform designed for automating deployment, scaling, and operations of application containers across clusters of hosts. It provides:
Portability: Kubernetes can run on various environments, including on-premises, public cloud, and hybrid cloud.
High Availability: Kubernetes supports self-healing capabilities, automatic restarts, and load balancing.
Scalability: Kubernetes can scale applications automatically based on demand.
While Docker provides containerization, Kubernetes is specifically designed to manage containerized applications at scale and across multiple hosts, making it the best choice for the specified requirements.
So, the correct answer is D. Kubernetes.