퍼블릭 클라우드의 목표는 개발자들에게 사용하기 쉬운 셀프 서비스 인프라를 제공하는 것이다. 하지만 대개 클라우드 API는 개발자가 호출하는 개념이 아닌 IT가 기대하는 인프라 미러링을 지향한다. 또한 대부분의 경우 클라우드는 클라우드 제공자에 특화된 구현 세부사항 또는 서비스와 함께 제공된다. 이러한 API를 직접적으로 호출하는 것은 다양한 환경에서 애플리케이션 실행 또는 클라우드와 물리 환경 간 배포를 어렵게 만든다.

쿠버네티스 같은 애플리케이션 지향 컨테이너 API로의 전환은 두 가지 구체적인 장점이 있다. 앞서 설명했던 바와 같이 개발자를 특정 머신으로부터 분리한다. 클러스터를 확장하기 위해 머신을 간단히 추가할 수 있기 때문에 머신 지향 IT 역할을 좀 더 쉽게 만들며, 개발자는 특정 클라우드 인프라 API 관점에서 구현된 높은 수준의 API를 사용하기 때문에 클라우드 환경에서 높은 수준의 이식성을 제공한다.

개발자가 컨테이너 이미지로 애플리케이션을 빌드하고, 이를 이식 가능한 쿠버네티스 API를 통해 배포할 경우 여러 환경 간에 애플리케이션을 전송하거나 심지어 하이브리드 환경에서 실행하는 것은 단순히 선언형 컨피그를 새로운 클러스터로 보내는 것이다.

쿠버네티스는 특정 클라우드에서 사용자를 추상화하는 다양한 플러그인을 제공한다. 예를 들면, 쿠버네티스 서비스 서비스는 모든 주요 퍼블릭 클라우드 뿐만 아니라 여러 프라이빗 클라우드 및 물리 인프라에서 로드 밸런서를 생성하는 방법을 알고 있다. 마찬가지로, 쿠버네티스 PersistentVolume 및 PersistenVolumeClaim의 경우 애플리케이션을 특정 스토리지 구현체로 추상화 할 수 있다.

물론 이와 같은 이식성을 달성하기 위해 클라우드 제공자가 제공하는 클라우드 관리형 서비스의 사용을 피해야 한다. 이는 사용자가 카산드라, MySql, MongDB와 같은 오픈 소스 스토리지 솔루션을 직접 배포하고 관리해야 함을 의미한다.

종합하자면, 쿠버네티스의 애플리케이션 지향 추상화 기반으로 애플리케이션을 구축할 경우 다양한 환경에서 애플리케이션을 빌드, 배포 및 관리할 수 있다.