확장성 (Scalability)

확장성(scalability)은 시스템의 규모를 얼마나 유연하게 조절할 수 있는지를 나타낸다. 이는 시스템이 해야 하는 모든 일들에 대한 수행 능력을 증가시킨다. 예를 들어, 쿠버네티스 클러스터컨테이너화된 애플리케이션의 수를 늘리거나 줄임으로써 규모를 조절(scale)한다. 하지만 이러한 쿠버네티스에서의 확장성은 클러스터가 얼마나 많은 노드들로 구성되어 있는지, 각 노드가 얼마나 많은 컨테이너를 처리할 수 있는지, 컨트롤 플레인(control plane)이 얼마나 많은 연산(operations)이나 기록(records)을 지원하는지 등의 여러가지 요인들에 따라 달라진다.

확장성 있는 시스템에서는 부하 처리를 위한 역량(capacity)을 쉽게 향상시킬 수 있다. 규모 조절(scaling)의 방식은 두 가지로 구별할 수 있다. 하나는 수평적 확장으로, 늘어난 부하를 처리하기 위해 새로운 노드들을 더 추가하는 방식이다. 반면 수직적 확장은 기존의 노드들이 더 많은 트랜잭션을 처리할 수 있도록 컴퓨팅 파워를 증가(예를 들어, 각 노드에 CPU나 메모리를 추가)시킨다. 확장성 있는 시스템은 사용자의 요구에 맞춰 쉽게 변화할 수 있다.