수직 확장성과 수평 확장성은 반드시 하나만 선택해야 하는 방식이 아니며, 원하는 확장성과 성능 목표를 달성하기 위해 섞어서 사용할 수 있습니다. 분산 시스템 내 컴포넌트나 서비스 계층을 효과적으로 확장하려고 두 방식을 함께 사용할 때가 많습니다. 수직 확장성과 수평 확장성 중 어떤 방식을 선택할지는 시스템의 구체적인 요구 사항, 작업 부하 패턴, 비용, 여러 노드에 작업을 효과적으로 분산하고 조율할 수 있는지에 따라 달라집니다.
분산 시스템의 아키텍처를 설계할 때 아키텍처를 모듈화하고 느슨하게 결합된 구조로 만들면 확장성을 높일 수 있습니다. 쉽게 말해 시스템을 여러 독립적인 기능별 모듈로 나누고, 각 모듈 간 연결을 최소화하여 필요할 때 쉽게 추가하거나 제거할 수 있게 하는 구조입니다. 예를 들어 데이터베이스, 사용자 인증, 파일 저장 등을 각각 별도의 모듈로 관리하면 특정 기능에 문제가 생기거나 업그레이드가 필요할 때 전체 시스템을 건드릴 필요 없이 해당 모듈만 수정할 수 있습니다. 이렇게 하면 각 모듈이 꼭 필요한 정보만 주고받는 식으로 느슨하게 연결되므로 한 모듈에 변경이 생겨도 다른 모듈에 미치는 영향이 최소화됩니다. 이런 구조 덕분에 시스템은 작업 부하의 변화에 따라 자원을 유연하게 조정할 수 있어 안정적이면서도 확장 가능한 시스템을 만들 수 있습니다.