Cloudflare 대기실

오늘 Cloudflare 대기실에 대해 발표하게 되어 기쁘게 생각합니다! 이는 COVID-19 백신 접종에 대한 압도적인 수요로 예약 신청 웹 사이트가 중단되는 것을 막는 것을 목표로 하는 Fair Shot 프로젝트라는 새 프로그램을 통해, 엄선된 고객에게 우선 제공될 것입니다. Business 요금제 및 Enterprise 요금제에도 가까운 시기에 제공하겠습니다.

잠시만요, 대기실이 멋지다고요?

대부분의 사람들은 대기실의 개념에 대해 잘 알고 있고, 그걸 멋지다고 생각하는 사람은 거의 없습니다. 대기실을 처음 경험하는 것은 병원인 경우가 많습니다. 그렇습니다. 예약을 하고 갔지만, 진료가 늦어지는 경우가 있습니다. 의사는 한 번에 한 명의 환자만 진료할 수 있으므로 환자를 순서대로 대기하게 하도록 대기실을 만드는 것입니다.

서버는 의사보다는 많은 수의 요청을 처리할 수 있지만, 서버 역시 압도될 수 있습니다. COVID 이전의 세상에서도 인기 콘서트 또는 이벤트의 티켓을 구매하려고 시도한 적이 있다면 아마도 온라인 대기실을 경험하셨을 것입니다. 이는 응용 프로그램에 대한 인바운드 요청을 제한하고 이러한 요청을 가상의 대기열에 배치합니다. 그러다가, 응용 프로그램의 사용자 수가 감소하면, 응용 프로그램이 처리할 수 있도록 설정된 임계값 내에서 새 사용자를 받아들입니다. 이는 너무 많은 요청으로 인해 응용 프로그램이 중단되지 않도록 서버를 보호하며, 사용자 관점에서의 공정성을 보장합니다. 시스템에 과부하가 걸렸을 때, 액세스하려는 사용자가 부당하게 삭제되어 다시 연결하지 않아도 되며, 대기열에 들어가게 됩니다.

왜 지금일까요?

가까운 장래에 라이브 콘서트에 갈 사람이 많지 않은데, 왜 지금 Cloudflare는 이 일을 할까요?

콘서트에는 가지 않겠지만, COVID-19의 간접 영향으로 대기실의 수요가 폭증했기 때문입니다. 무엇보다도, 사회적 거리 두기와 많은 기업과 정부의 사업장 폐쇄로 고객과 국민들이 온라인 채널로 전환함에 따라 기업과 정부의 인프라는 상당한 부담을 안게 됐습니다.

둘째, 팬데믹과 그로 인한 결과에 따라 전세계의 많은 사람들이 12개월 전에는 필요로 하지 않았던 자원에 의존하게 되었습니다. 구체적으로 건강이나 정부 관련 자원(예: 실업 보험 웹 사이트) 등이 여기에 해당합니다. 이러한 온라인 인프라는 COVID-19의 영향을 예측하지 못한 피크 부하를 처리하도록 설정되었습니다. 백신과 관련된 웹 사이트에서도 유사한 패턴이 보이고 있습니다.

과거에는 대기실이 필요한 조직이 많지 않았습니다. 대부분 온라인 비즈니스는 본질적으로 동시에 많은 사람이 몰리기보다는 사용자 부하가 매우 일관적입니다. 이러한 조직들은 자체적으로 대기실을 구축하고 이를 응용 프로그램(예: 티켓 구매) 내에 통합하였습니다. Cloudflare의 대기실을 이용하면 응용 프로그램 코드 변경이 필요하지 않으며 코드를 한 줄 작성하지 않고도 모든 웹 사이트에 몇 분 내로 대기실을 설치할 수 있습니다.

엔지니어링 아키텍트이거나 비즈니스 운영 분석가이거나 대기실 설치는 단순합니다. Cloudflare와 함께 하면, 응용 프로그램을 안정적으로 유지하며 예상치 못한 트래픽 급증으로부터 보호하는 일을 빠르고 쉽게 할 수 있습니다. 또한, Cloudflare는 자동 활성화와 동적인 유출이 중요하다고 생각합니다. 즉, 임계값이 초과되면 대기실이 자동으로 작동되어야 하며 사용자가 응용 프로그램에서 작업을 완료하면 사용자의 다양한 크기 버킷을 제거하고 대기 중인 사용자를 받아들여야 합니다. 자동으로 작동해야 하는 것입니다. 마지막으로, 사용자와 기업 모두 COVID-19의 영향을 똑같이 받고 있습니다. 특히 보건 및 정부 부문이 심각하지만, 이에 국한된 것은 아닙니다. Cloudflare는 이러한 응용 프로그램이 계속 사용 가능하고 기능을 유지함으로써 모든 사용자가 자신의 브라우저 내에서 오류가 아니라 필요한 대우를 받을 수 있게 하고 싶었습니다.

Cloudflare 대기실의 작동 방식Cloudflare 대기실은 에지 네트워크와 Worker 제품 위에 구축되었습니다. Cloudflare는 Workers 및 지속 가능 개체 서비스를 활용함으로써 고객 코딩의 필요성을 제거하고 바로 작동할 수 있는 원활한 제품을 만들 수 있었습니다. 게다가 Workers 제품의 규모와 성능을 최대한 활용하여 대기 시간 오버헤드를 크게 낮추고, 추정 시간을 최대한 정확하게 제공하며, 필요 이상 기다리지 않게 할 수 있었습니다. 하지만 분산된 네트워크에 중앙집중식 시스템을 구축하는 것은 쉬운 일이 아닙니다. 응용 프로그램에 대한 요청이 전세계에서 올 때, 해당 응용 프로그램에 대한 인바운드 및 아웃바운드 트래픽을 광범위하고 정확하게 볼 수 있어야 합니다.

대기실을 거치지 않고 Cloudflare를 통하는 요청
대기실을 거치지 않고 Cloudflare를 통하는 요청

이러한 요청은 빠르기는 하지만, 여전히 전세계를 이동합니다. 따라서 고유의 에지 케이스를 제시합니다. 북미와 유럽에서는 적절한 트래픽이 오고 있지만, 남미에서 갑자기 트래픽이 급증한 경우를 생각해 볼까요? 사용자를 응용 프로그램에서 계속 받을지 아니면 원본 서버가 압도되는 것을 막기 위해 대기실을 작동할지 결정하는 시점을 어떻게 알 수 있을까요?

Cloudflare는 지능적인 기술과 Workers를 활용해 응용 프로그램에 대한 전세계 수요와 거의 즉각적으로 동기화되어 대기실에 고객을 대기하게 해야 하는 시점에 대한 통찰력을 제공하는 시스템을 구축할 수 있었습니다. Cloudflare는 글로벌 Anycast 네트워크와 200개 이상의 데이터 센터를 활용함으로써, 가장 중요한 문제 지점을 제거하여 고객의 인프라를 보호하면서도 과부하 시기에 응용 프로그램을 이용하기 위해 잠시 대기해야 하는 최종 사용자에게도 탁월한 환경을 제공합니다.

대기실을 거쳐 Cloudflare를 통하는 요청
대기실을 거쳐 Cloudflare를 통하는 요청

대기실 설치 방법

대기실 설치는 믿을 수 없을 정도로 쉽고 빠릅니다. 가장 쉬운 경우에는, 사용자가 (1) 대기실의 이름, (2) 호스트 이름 (구성되고 구간에 의해 자동으로 채워짐), (3) 임의의 시간에 응용 프로그램을 이용할 수 있는 총 이용자 수, (4) 분당 응용 프로그램에 들어올 수 있는 신규 사용자 수, (5) 사용자의 평균 세션 이용 시간 등 5개의 필드만 기입하면 됩니다. 코딩이나 응용 프로그램 변경은 필요하지 않습니다.

고객의 브랜드를 추가하지 않는 고객에게는 기본 대기실 템플릿 옵션을 제공합니다. 따라서, 대기실 설치 및 가동이 더욱 쉬워집니다.

다 됐습니다! 저장을 누르면 대기실 준비가 완료됩니다.

시간과 기술적 역량이 있는 고객의 경우 동일한 절차를 따르지만, 완전한 맞춤화 기능을 제공하므로 고객의 전체적인 제품의 외관과 느낌에 맞도록 대기실에 브랜드를 추가할 수 있습니다.

마지막으로, 다양한 대기실을 관리하는 것도 놀랍게 쉽습니다. 대기실 관리 표에서, 고객이 대기 중인 대기실, 대기 고객이 없는 대기실, 비활성화된 대기실을 한 눈에 일목요연하게 알 수 있습니다.

Clouldflare는 고객이 회사의 사업과 고객에게만 집중할 수 있도록, 대기실의 강력한 기능을 고객에게 제공해 드릴 수 있어 기쁘게 생각합니다. Enterprise 요금제 고객에 대한 대기실의 주요한 업데이트 사항을 올리는 블로그 게시물도 지켜보시기 바랍니다.