스케일링 전략, 서버가 수많은 요청들을 견디는 방법
많은 사용자가 서비스를 이용하면 그만큼 서버에게 많은 요청이 가게 됩니다. 웹 서비스를 제공한다면 웹 서버가, API 서버를 운영한다면 API 서버와 데이터베이스에게도 요청이 가겠죠. 이때 요청이 많아졌다는 말을 '트래픽이 높아졌다'라고 이야기를 합니다. 백엔드 개발자들이 무서워하는 상황이죠.
트래픽이 높아질수록 서버는 바빠집니다. 서버는 하나의 프로그램에서 돌아가게 되는 것이며, 요청에 응답하기 위해 해당 컴퓨터의 CPU, 메모리를 사용하게 되겠죠?
이때 트래픽이 높아질수록 점점 자원이 남지 않을 거에요. 그러면 결국 응답을 바로바로 못해주고 밀리게 되는 병목 현상이 발생해요. 자원이 점점 부족해지고 요청들이 계속되면 서버 컴퓨터가 다운되는 문제까지 발생할 수도 있습니다😭
서버 컴퓨터들이 자주 겪게 되는 트래픽 문제를 해결하기 위해서 사용되는 두 가지 방법이 있습니다. 바로 스케일 업과 스케일 아웃입니다.
스케일 업은 서버 컴퓨터의 성능을 높이는 작업입니다.
컴퓨터의 CPU나 메모리의 성능을 더 높인다면 더 많은 요청들이 들어와도 거뜬히 처리할 수 있을 거예요.
스케일 아웃은 서버 컴퓨터의 대수를 높여서 트래픽을 분산시키는 작업입니다.
트래픽을 분산시켜 하나의 서버가 일하는 양을 줄여주는 거죠.
대부분의 IT 회사는 스케일 아웃 전략을 사용합니다. 스케일 아웃은 스케일 업 전략에 비해 저렴한 가격으로 많은 트래픽들을 처리할 수 있다는 장점이 있기 때문이죠!
지금은 아주 멋진 클라우드가 트래픽이 늘어나면 자동으로 스케일링을 하는 기능을 제공해줍니다. 이를 Auto Scaling(오토 스케일링)이라고 해요.
TIP1. 서버 입장에서 처리해야 할 일을 로드(Load)라고 이야기하기도 합니다. 스케일 아웃을 통해 로드를 분산시키는 과정을 로드밸런싱이라고 이야기합니다!
TIP2. 서버 스케일링 작업 외에도 캐시 서버를 사용해서 서버의 계산 작업을 줄여줄 수도 있습니다. 실제로 IT 서비스에서는 서버의 부하를 줄이기 위해 여러 가지의 테크닉들을 사용합니다.
IT 큐레이션
[Mint] “GPS는 차가 1차선인지 3차선인지 몰라… Here는 5㎝간격까지 본다”
자율 주행 기술과 함께 ‘정밀 디지털 지도’ 기술이 떠오르고 있습니다. 자율주행차를 위한 정밀 지도 시장 규모는 올해 13억 달러에서 2030년 204억 달러로 15배 이상 커질 것이라는 기대도 나오고 있죠.
우리가 사용하는 네이버 지도 같은 일반적인 항법지도와는 달리, 정밀 디지털 지도는 도로의 굴곡, 표지판, 차선 두께 등 도로의 모든 정보를 3D 화면으로 만든 것입니다.
자율 주행에는 1~5단계가 있는데 1~2단계는 사람의 운전을 돕는 정도이며 3단계부터는 차가 도로 정보를 미리 알고 교통 상황을 예측한다고 하는데요.
이때 3단계 이상의 고도화된 자율 주행 기술은 차의 눈이 되어주는 센서만으로는 한계가 있습니다. 악천후나 언덕이 시야를 가로막는 등의 우발 상황에서 기계는 사람처럼 대응할 수 없거든요. 또한 GPS의 오차범위도 10m 안팎으로 빠른 속도로 운전하는 자동차에게는 신뢰할 수치가 아닙니다.
오버빅 CEO에 따르면 Hero의 정밀 디지털 지도는 오차범위가 4~5cm 정도로 굉장히 정밀하며 더 높은 단계의 자율 주행 기술에 필수적인 기술이 될 것이라고 하네요!
p.s 테슬라는 항법지도(네이버 지도 같은 일반 내비게이션용 지도)와 센서만으로 자율 주행 기술을 구현했다고 합니다. 대단한 기술력이라고 생각이 드는 한편 정말 안전할까라는 의구심도 드네요😥
2008년 페이스북의 정체기 극복 썰을 담은 트윗
과거 Facebook의 VP(부사장) Dan Rose가 합류한 2006년에 Facebook의 유저는 7백만이었고 2008년 초에는 8000만 명까지 늘었으나 그 이후부터는 침체기를 겪기 시작했다고 합니다.
페이스북의 가치는 얼마나 많은 사용자들이 빠르게 가입하는지에 달려 있기에 User Acquisition(유저 획득)이 굉장히 중요합니다.
갑작스러운 침체기를 극복하기 위해 Growth Marketing과 Product Development 중 어디에 초점을 맞춰야 할지 많은 논쟁이 있었다고 합니다.
Facebook의 CEO 주커버그는 둘 다 하기로 결정했고 이 둘을 제외한 나머지 일들(매출 포함)은 우선순위를 낮췄습니다. 결국 유저를 획득하기 위해 회사의 모든 자원을 쏟기로 한 것이죠 (선택과 집중).
Growth Marketing은 수많은 small improvements과 viral loops에 집중했습니다. 결과적으로 사용자들을 서비스로 유입시키고 유입된 사용자가 주변의 친구들과 가족을 또 유입시켰다고 합니다 (네트워크 효과)
페이스북의 제품 팀은 새로운 기능과 로딩 타임을 줄이기(속도 개선) 위해 노력했다고 합니다. 그 결과 빠르게 자주 제품을 배포할 수 있었다고 하네요 (실시간 피드, 메신저, 타임라인, 게임 플랫폼 등)
이런 노력 끝에 2009년 중반부터 침체기에서 벗어나 해당 연도에는 1억 5천 명의 유저를 모았다고 합니다💪🏼
p.s 주커버그는 회사의 위기상황에서 1년동안 매일 넥타이를 메고 출근한다고 선언했답니다. 실제로 단 한 번도 거르지 않고 1년간 매일 넥타이를 멨다고 하네요. 저도 힘든 시기가 온다면 넥타이를..
의견을 남겨주세요