컴퓨팅 부하 패턴

완료됨

VM(또는 VM 세트), 웹 앱 등의 클라우드 리소스에 대한 트래픽이 일정하게 유지되고 변경되지 않은 경우에는 크기를 조정할 필요가 없습니다. 클라우드 관리자는 부하를 처리하는 데 필요한 인스턴스 수를 프로비저닝하고 이를 수행할 수 있습니다. 그러나 트래픽 패턴은 시간이 지남에 따라 변경될 수 있습니다. 때로는 예측 가능하고 때로는 그렇지 않습니다. 실제로 관리자는 관리하는 리소스에 대한 부하를 진단하고 크기 조정을 사용하여 시스템이 수요를 충족시킬 수 있도록 해야 합니다.

크기를 조정하는 방법을 설명하기 전에 VM 및 기타 클라우드 리소스 환경에서 발생하는 몇 가지 일반적인 부하 패턴을 분석하여 크기를 조정하는 이유를 살펴보겠습니다.

일관성 증가

크기 조정이 필요한 가장 일반적인 동인 중 하나는 지속적인 수요 증가입니다. 그림 1은 24개월 동안 회사 웹 사이트에 대한 트래픽을 보여 줍니다. 회사는 빠르게 성장하고 있고 해당 웹 사이트에 대한 트래픽은 이를 반영합니다. 하나의 웹 서버가 시간 단위당 5,000개의 요청을 처리 할 수 있다고 가정하면, 회사는 아마도 3~4개의 웹 서버로 시작하지만 2년 후 증가하는 수요에 부응하고 고객에게 계속 서비스를 제공하기 위해서는 대략 20년이 필요합니다.

그림 1: 지속적인 성장

그림 1: 지속적인 성장

변화가 꾸준하고 점진적이기 때문에 지속적인 성장은 보상하기 가장 쉬운 부하 패턴 중 하나입니다. 다음 서버(또는 서버 세트)가 언제 필요할지 예상할 수 있고 몇 개월이 아니라도 몇 주가 걸릴 수 있으므로 물리적 서버를 사용하여 확장할 수 있습니다. 그러나 클라우드 컴퓨팅을 사용하면 몇 분 만에 새로운 가상 서버를 온라인 상태로 만들 수 있습니다. 24개월의 추세는 꾸준하고 예측 가능한 성장을 보여 주지만 단기간 내에 부하가 크게 변동될 수 있습니다. 클라우드 컴퓨팅은 물리적 서버를 사용하여 크기를 조정하는 것보다 미세한 추세에 훨씬 더 잘 적응합니다.

지속적으로 변동하는 부하

클라우드 컴퓨팅이 제공하는 빠른 탄력성은 부하가 상대적으로 짧은 기간 동안 예측할 수 없는 방식으로 변동될 때 필수적입니다. 그림 2는 24시간 동안의 웹 사이트 부하를 보여 줍니다. 한 서버가 시간 단위당 5,000개의 요청을 처리할 수 있다고 가정할 경우, 필요한 서버 수는 하루 중 2~16개까지 다릅니다. 이 트래픽은 항상 16개의 가상 웹 서버를 온라인 상태로 유지하여 수용할 수 있지만 클라우드 서비스 공급자가 유휴 상태인 경우에도 VM에 대한 요금을 청구합니다. 초과 용량은 에너지를 낭비할 뿐만 아니라 비용을 약 두 배로 증가시킵니다.

그림 2: 지속적으로 변동하는 부하.

그림 2: 지속적으로 변동하는 부하입니다.

순환 부하

그림 3은 규칙적이고 다소 예측 가능한 패턴으로 증가 및 감소하는 부하를 보여 줍니다. 예를 들어 근무 시간 동안 수요가 증가하고 저녁 및 야간 시간 동안 감소합니다. 이 로드의 최고 사용량에 따라 서버의 시간 단위당 5,000개의 요청을 가정할 때 수요를 처리하려면 20개의 서버가 필요합니다. 물리적 서버를 하루 24시간 내외로 작동하는 것은 비합리적이지만 서버 용량이 수요와 거의 일치하도록 일정에 따라 가상 서버를 쉽게 프로비저닝 및 프로비저닝 해제할 수 있습니다. 유휴 상태이거나 하루에 12시간 동안 활용되는 물리적 서버는 원하지 않는 CapEx 및 불필요한 에너지 소비를 나타냅니다. 가상 서버도 비용이 들지만 필요하지 않을 때는 프로비저닝을 해제하고 필요에 따라 신속하게 다시 생성할 수 있습니다.

그림 3: 24시간마다 반복되는 순환 부하.

그림 3: 24시간마다 반복되는 순환 부하입니다.

갑작스러운 버스트

비용 및 유지 관리 관점에서 처리하기에 가장 어려운 패턴 중 하나는 예측할 수 없는 버스트를 발생시키는 것입니다 (그림 4). 최대 사용량을 예측할 수 있는 경우(예: 웹 사이트에서 주말 및 휴일에 더 높은 부하가 발생하는 피자 배달 서비스를 제공하는 경우) 추가 용량을 계획할 수 있습니다. 하지만 예측할 수 없는 경우 언제든지 처리할 준비를 해야 합니다.

그림 4: 갑작스러운 버스트.

그림 4: 갑작스러운 버스트입니다.

곡선 상단과 가장 높은 지점을 통과하는 수평선 사이의 영역으로 초과 비용(최대 부하를 처리하기 위해 프로비저닝되었지만 트래픽이 적은 시간에는 상대적으로 유휴 상태인 서버 비용)을 예상할 수 있습니다. 이 경우 그림 4의 부하에 대해 시간 단위당 100,000개의 요청에 대한 용량 제공 비용은 그림 3의 동등한 용량 제공 비용보다 훨씬 높습니다.

최대 수요 규모(예상 시기는 아님)를 예상할 수 있고 비용이 중요하지 않은 경우 최대 부하를 처리할 수 있는 충분한 서버를 프로비저닝하여 항상 적절한 용량을 제공할 수 있습니다. 클라우드 컴퓨팅을 사용하면 필요할 때 리소스를 온라인으로 가져와 오프라인 상태로 전환하여 비용이 발생하지 않도록 할 수 있습니다. 탄력성은 클라우드 리소스 크기 조정에서 적용됩니다. 크기 조정의 개념을 자세히 살펴보고 클라우드 컴퓨팅의 경제성에서 핵심 요소가 되는 이유를 살펴보겠습니다.

지식 점검

1.

한 서버가 시간 단위당 5,000개의 요청을 처리할 수 있고 웹 사이트는 5,000에서 25,000까지의 비교적 균등한 부하를 발생한다고 가정해 보겠습니다. 사이트는 가상 머신을 사용하여 클라우드에서 호스트되고 각 VM의 비용은 하루 $4입니다. 수요를 충족할 수 있는 크기와 최대 부하를 처리할 수 있는 일정한 용량을 제공하는 것의 대략적인 연간 비용 차이는 얼마나 되나요?