더북(TheBook)

아키텍처 원칙은 접근 방식에 대한 우선순위를 지정하여 여러 설계 옵션 중에서 빠르게 의사 결정을 하도록 할 수 있습니다. 예로 수직 확장(vertical scaling)보다 수평 확장(horizontal scaling)을 우선해야 한다는 원칙을 정하는 것을 들 수 있습니다. 보통 소프트웨어 공학은 단순히 사실과 분석만으로 구성되었다고 생각하기 쉽습니다. 즉, 어떤 의사 결정이 시스템 요구 사항을 충족하는지 여부에만 초점을 둡니다. 하지만 실제로는 요구 사항을 충족할 수 있는 다양한 접근 방식이 있으므로 설계는 이 대안 중에서 한 가지를 선택하는 판단 과정을 포함합니다.

Note ≣ | 수직 확장 vs 수평 확장

수직 확장은 서버 성능을 향상시키려고 더 강력한 하드웨어를 추가하는 방식을 의미합니다. 예를 들어 데이터베이스 서버에 메모리와 CPU를 더 많이 추가하여 처리 능력을 증가시키는 것을 들 수 있습니다. 반면에 수평 확장은 서버 수를 늘려 부하를 분산시키는 접근 방식입니다. 예로 웹 서버를 여러 개 추가하고 로드 밸런서로 트래픽을 분산시키는 것을 들 수 있습니다. 두 가지 접근 방식 모두 시스템 성능을 높여야 한다는 요구 사항을 충족할 수 있지만, 실제로 구체적으로 설계하거나 구현하는 데는 차이가 큽니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.