클라우드 네이티브 애플리케이션이 빠른 속도로 구축되고 있습니다. 아직 애플리케이션 포트폴리오의 주류를 차지할 정도는 아니지만, 그 수는 계속 늘어나고 있습니다. 컨테이너에 대한 관심은 클라우드 네이티브(마이크로서비스 기반) 아키텍처와 밀접한 관련이 있습니다. 통신과 확장성을 위해 인프라에 본질적으로 의존하기 때문입니다.
일반적으로 마이크로서비스는 수평 복제를 통해 확장합니다. 즉, 특정 서비스의 인스턴스가 더 필요하면 해당 서비스를 복제한 후, 로드 밸런서가 요청에 응답할 인스턴스를 선택하는 가용 풀에 추가하기만 하면 됩니다. 아주 간단합니다. 이러한 마이크로서비스가 기능 요소를 충실히 나타낼수록 이 모델은 더욱 효과적으로 작동합니다.
여기서 말하는 로드 밸런서는 대개 컨테이너 오케스트레이터의 구성 요소이며, 기본적으로 업계 표준인 TCP 기반 라운드 로빈 알고리즘을 사용합니다. 즉, 요청이 들어오면 로드 밸런서가 응답할 '다음 순번'의 리소스를 선택합니다.
이 방식은 흔히 은행이나 차량등록사업소(DMV)의 대기 줄에 비유됩니다. 하지만 이는 완전히 정확한 비유는 아닙니다. 진정한 라운드 로빈 방식에서는 "다음으로 사용 가능한" 리소스가 아니라, 해당 리소스가 사용 중이더라도 "순서상 다음" 리소스로 요청이 전달됩니다. 아이러니하게도 차량등록사업소나 동네 은행의 배분 방식이 진정한 라운드 로빈 알고리즘보다 더 효율적입니다.
그러니까요, 그렇죠?
애플리케이션도 마찬가지입니다. 동일한 요청 집합을 처리한다는 이유로 기능 수준에서조차 같은 서비스를 복제할 수 있습니다. 하지만 데이터 때문에 이러한 요청의 실행 비용이 항상 같지는 않습니다. 그렇습니다. 바로 데이터입니다. 동일한 기능 요청, 즉 API 호출이라도 제출하거나 요청하는 데이터에 따라 실행 시간이 달라질 수 있습니다. 결국 고객 레코드 하나를 조회하고 직렬화하는 데 걸리는 시간은 고객 레코드 열 개나 백 개를 조회하고 직렬화하는 데 걸리는 시간보다 짧습니다.
바로 이 지점에서 라운드 로빈 방식의 한계가 드러나며, 성능에 영향을 줄 수 있는 변동성이 발생합니다. 운영 원칙 2번은 클라우드 네이티브 및 마이크로서비스 기반 아키텍처에도 여전히 적용됩니다. 즉, 부하가 증가하면 성능은 저하됩니다.
라운드 로빈은 벌꿀오소리와 같습니다. 응답으로 상당한 양의 데이터 세트를 반환하는 요청 때문에 리소스에 과부하가 걸리든 말든 신경 쓰지 않습니다. 준비가 되었든 아니든 라운드 로빈은 "다음은 당신 차례"라고 합니다. 그 결과, 점점 더 많은 부하가 걸리는 리소스의 대기열에 요청이 들어간 사용자는 일관되지 않은 성능을 경험할 수 있습니다.
성능이 걱정된다면—당연히 그래야 합니다—최소 연결이나 최단 응답 시간 같은 다른 표준 알고리즘을 사용하는 편이 훨씬 낫습니다. 기본적으로 최적의 선택이 아닐 수 있는 리소스에 요청을 무작정 떠넘기기보다는, 알고리즘이 부하 및/또는 속도를 고려하도록 해야 합니다.
로드 밸런싱의 미래
일부는 TCP에서 HTTP로, 다시 HTTP+로 스택의 상위 계층으로 올라가면 이 문제가 저절로 해결될 것이라고 생각할 수 있습니다. 하지만 전혀 그렇지 않습니다. 분산 방식, 즉 부하 분산 알고리즘은 어느 계층을 기반으로 하든 여전히 중요합니다. 라운드 로빈은 아키텍처가 아니라 리소스를 고려하며, 사용 가능한 풀을 기준으로 결정을 내립니다. 그 풀이 단일 API 호출을 확장하기 위한 것이든 전체 모놀리스를 확장하기 위한 것이든 알고리즘에는 아무런 차이가 없습니다.
따라서 쿼리를 실행하기 전에 그 결과로 생성될 데이터가 "평균보다 많은지" 로드 밸런서가 알아낼 수 있을 만큼 똑똑하다면 좋을 것입니다. F5 WAF 같은 웹 애플리케이션 방화벽은 결과가 비정상적인 경우를 감지할 수 있지만, 이는 응답 단계에서 이루어지며 주로 애플리케이션 보안을 강화하는 데 사용됩니다. 우리에게 필요한 것은 로드 밸런서가 "초대형" 정상 응답을 예측할 수 있을 만큼 똑똑해지는 것입니다.
로드 밸런서가 그런 판단 능력을 갖추고 있다면, 의사 결정 시 이러한 요소를 고려하여 사용 가능한 리소스에 요청을 더 균등하게 분산할 수 있을 것입니다. 우리가 진정으로 원하는 것은 의사 결정의 기반이 되는 경직된 알고리즘을 지정하도록 강요받지 않는 것입니다. 로드 밸런서가 응답 시간, 예상 실행 시간, 반환되는 데이터의 크기, 각 리소스의 현재 부하와 같은 비즈니스 임계값 및 기술적 특성을 바탕으로 결정을 내릴 수 있다면 더 좋을 것입니다.
궁극적으로 이러한 지능은 가시성을 높이고 머신 러닝을 활용해야만 구현할 수 있습니다. 로드 밸런서가 경험을 통해 어떤 쿼리가 다른 쿼리보다 더 오래 걸리는지 파악할 수 있다면, 그 지식을 바탕으로 요청을 더욱 효율적으로 분산하여 일관되고 예측 가능한 응답 시간을 달성할 수 있습니다.
로드 밸런싱은 사라지지 않을 것입니다. 네트워크부터 애플리케이션에 이르기까지 모든 것을 확장하는 데 있어 로드 밸런싱은 최선의 기술적 해법입니다. 하지만 나머지 인프라와 함께 발전하여 더욱 동적이고 자율적이며 지능적으로 변화해야 합니다.
작성자 소개

Lori MacVittie는 F5 CTO 오피스의 수석 엔지니어이자 최고 에반젤리스트로, 애플리케이션 딜리버리, 자동화 전략 및 인프라 분야에서 깊이 있는 전문성을 보유하고 있습니다. AI 에이전트를 위한 가드레일을 정의하고, 취약한 멀티클라우드 아키텍처를 분석하며, 확장 가능한 시스템의 한계를 탐구하는 등 복잡한 문제를 명확하게 풀어내는 것으로 잘 알려져 있습니다. 애플리케이션 개발, IT 아키텍처, 네트워크 및 시스템 운영 전반에 걸쳐 30년 이상의 업계 경험을 쌓았습니다. F5에 합류하기 전에는 수상 경력이 있는 기술 편집자로 활동했습니다. MacVittie는 컴퓨터 과학 석사 학위를 보유하고 있으며, 보안, 클라우드 및 엔터프라이즈 아키텍처 분야를 아우르는 다수의 저서를 집필한 작가입니다. 또한 보드게임과 비디오 게임을 열정적으로 즐기며, 치즈에 대해서는 거리낌 없이 확고한 견해를 갖고 있습니다.
Lori Mac Vittie의 다른 블로그 게시물관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.