컨테이너 확장의 기술: 분산

F5 에코시스템 | 2018년 1월 04일

컨테이너를 확장하는 일은 단순히 서비스 앞에 프록시를 배치하고 끝내는 것 이상입니다. 확장에는 단순한 분산 외에도 더 많은 요소가 필요하며, 빠르게 변화하는 컨테이너 환경에서 확장성을 보장하려면 재시도, 서킷 브레이커, 서비스 디스커버리, 분산, 모니터링이라는 다섯 가지 고유한 기능이 필요합니다.

컨테이너 확장 기술을 다루는 이번 글에서는 분산에 대해 자세히 살펴보겠습니다.

분산

무엇이든 확장하는 비결은 언제나 어느 정도는 유한한 리소스 집합에 요청을 어떻게 분산하느냐에 달려 있었습니다. 겉보기에는 컴퓨팅 자원을 무한히 제공하는 듯한 클라우드조차 이 원칙을 바꾸지는 못합니다. 요청이 수신되는 순간, 해당 요청을 받아 처리할 수 있는 리소스의 목록은 유한합니다. 예외는 없습니다.

따라서 요청을 어디로 보낼지 결정하는 것이 매우 중요해집니다. 잘못된 리소스로 보내면 성능이 저하될 수 있지만, 적절한 리소스로 보내면 소비자나 직원이 그 결과에 만족할 것입니다.

규모 확장이 막 시작되던 시기에는 이러한 결정이 오로지 알고리즘에 따라 이루어졌습니다. 라운드 로빈, 최소 연결, 최단 응답 시간 같은 방식이 사용되었습니다. 이러한 전통적인 메커니즘은 오늘날에도 여전히 존재하지만, 서서히 그리고 확실하게 의사 결정의 유일한 기준이 아닌 여러 요소 중 하나로 자리 잡았습니다.

그 이유는 이제 연결 기반 의사 결정 프로세스(일명 ‘전통적인 로드 밸런싱’)에만 의존하지 않기 때문입니다. 로드 밸런싱이 주로 TCP 연결을 관리하는 일이었을 때는 연결을 기준으로 한 분산 방식이 합리적이었습니다. 하지만 이제 확장성은 알고리즘만큼이나 아키텍처에 좌우되며, 요청 분산은 문자 그대로 계층 4 프로토콜보다 상위 계층에 있는 요소를 비롯해 그 범위를 넘어서는 수많은 변수를 고려하는 복잡한 계산이 될 수 있습니다.

분산을 더욱 복잡하게 만드는 것은 오늘날의 아키텍처 자체가 점점 더 분산되고 있다는 현실입니다. 클라우드뿐만 아니라 컨테이너 전반에도 분산됩니다. 동일한 앱(또는 API)의 여러 버전이 동시에 서비스될 수도 있습니다. 요청 분산을 담당하는 시스템은 이를 인지하고 각 버전을 구분하여 올바른 엔드포인트로 전달되도록 해야 합니다.

오늘날에는 연결 용량뿐만 아니라 계층 7(HTTP) 매개변수를 기준으로 의사결정이 이루어지는 경우가 점점 더 많아지고 있습니다. 호스트 이름, API 메서드(즉, URI), API 키, 버전 번호가 포함된 사용자 지정 HTTP 헤더, 위치, 디바이스, 사용자 등이 그 기준입니다. 요청이 이루어진 맥락을 바탕으로 요청을 평가하고, 마이크로초 단위로 결정을 내립니다.

배포-계층-컨테이너

오늘날의 트래픽 분산에는 계층화된 아키텍처 접근 방식이 필요합니다. 애플리케이션 아키텍처의 내부로 깊이 들어갈수록 제어의 세분성은 낮아집니다. 프록시가 동일한 마이크로서비스의 복제본 X개 사이에서 부하 분산을 결정하는 단계에 이르면, 기존의 알고리즘 기반 계산식만 사용할 수도 있습니다. 반면 환경의 가장 바깥쪽에서는 인그레스 컨트롤러가 HTTP 계층 변수를 기반으로 때로는 복잡한 결정을 내립니다.

외부에서는 분산이 아키텍처에 의해 좌우됩니다. 내부에서는 알고리즘에 의해 좌우됩니다.

둘 다 컨테이너 확장에 필수적인 요소이며, 어쩌면 가장 중요한 요소일 수도 있습니다.

둘 다 요청을 분산할 수 있는 리소스의 상태(정상 여부)에 관한 정확한 실시간 정보에 의존합니다. 모니터링에 대해서는 이 시리즈의 다음 몇 편에서 다루겠습니다.

공유

작성자 소개

Lori Mac Vittie
Lori Mac Vittie수석 엔지니어 겸 최고 에반젤리스트 | F5

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.

Lori Mac Vittie의 다른 블로그 게시물

관련 블로그 게시물

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5 에코시스템 | 2023. 07. 13.

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A

F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.

TLS 검사에서 피터 파커 원칙 다루기
F5 에코시스템 | 2019. 12. 09.

TLS 검사에서 피터 파커 원칙 다루기

“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.

Venafi와 F5를 통한 머신 아이덴티티 보호
F5 에코시스템 | 2018. 12. 11.

Venafi와 F5를 통한 머신 아이덴티티 보호

‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
F5 에코시스템 | 2018. 07. 23.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다

물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...

내 클라우드에서 나가!
F5 에코시스템 | 2016. 10. 12.

내 클라우드에서 나가!

F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.

Shift(웹 앱) 보안 레터
F5 에코시스템 | 2015. 07. 06.

Shift(웹 앱) 보안 레터

웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.