클라우드는 정말로 비싼걸까?

Posted by : at  
이번달 AWS 사용료는 얼마 나왔나..

사실 주제를 ‘클라우드 비용 대 온프레미스 비용’ 으로 하려했습니다만 그러한 시도 자체가 잘못되었음을 깨달았습니다. 온프레미스 환경을 구성하는 방법은 수도 없이 많으며, 가격 또한 중고로 사느냐, 어디서 사느냐에 따라 다르기 때문에 그 비용을 비교하는 것은 무의미했습니다.

그럼에도, 많은 사람들이 클라우드 비용에 대해 추상적인 개념으로만 이해하고 있습니다. 또는, 클라우드를 사용하면 저렴해진다는 이야기는 얼핏 들었지만, 그 이유에 대해서는 정확하게 인지하지 못하고 있습니다.

단순히 서버 비용을 기준으로 1대1 비교를 한다면, 클라우드 비용은 온프레미스 비용보다 저렴할 수 없습니다. 그도 그럴 것이, 클라우드의 경우 대규모 인프라를 관리하는만큼 다양한 장비와 인력들이 필요하며, 이를 충당하기 위해 서비스 이용료는 비쌀 수 밖에 없습니다.

하지만 서비스 운영비용은 서버 비용뿐만 아니라, 서비스 확장성, 운영 모니터링, 각종 보안과 같은 다양한 팩터들에 의해 결정됩니다. 현재 게시글에서는 클라우드를 선택함으로써 위와 같은 팩터들에서 얻을 수 있는 다양한 비용적인 이점들에 대해 설명드리겠습니다.

온프레미스는 클라우드의 반대 개념으로, 클라우드가 아닌 자체적으로 보유한 전산실에 서버나 물리 장비들을 직접 설치해 운영하는 방식을 의미합니다.

클라우드가 비용 효율을?

클라우드를 도입한 것만으로도 비용이 절약될까?

사실 AWS나 GCP 같은 대규모 기업에서도 클라우드의 장점으로 비용 효율이라는 단어를 직접적으로 언급하고 있지는 않습니다. 워낙에 두 환경의 운영 비용 형태가 다르다보니, 비교하는 것 자체가 이상하다는 말이 있을 정도이죠. 하지만, 그들도 간접적으로 비용에 대한 이야기를 건네고 있습니다. 클라우드가 비용적으로도 효율적일 수 있다고요.

아래는 AWS 공식 문서에서 소개하고 있는 클라우드의 장점들입니다.

  • 자본 비용을 가변 비용으로 대체
  • 규모의 경제로 얻게 되는 이점
  • 용량 추정 불필요
  • 속도 및 민첩성 향상
  • 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
  • 몇 분 만에 전 세계에 배포

핵심만 따 오다 보니, 많이 생략되어 이해하기 어려운 문장들도 있네요.. 자세한 내용은 실제 공식문서에서 직접 확인해보시기 바랍니다.

위 내용에서 주목해야 할 점은 “자본 비용을 가변 비용으로 대체” 입니다. 클라우드를 도입하게 될 경우 자본의 형태가 바뀌게 됩니다. 이 변화를 유심히 살펴보아야 합니다. 기존에는 서버를 소유하기 위해 직접 서버와 네트워크 장비를 구매하고 이를 유지하는 방식으로 자본을 가졌다면, 이제는 서버를 직접 구매하지 않고 AWS에서 구매한 서버가 몇 대 인지를 통해 자본을 가늠합니다.

다른 장점들의 설명에서도 반복적으로 언급되는 내용이 있는데, 유동적인, 확장성 과 같은 문구들입니다. 이는 자본의 유통과정이 얼마나 간편하고 빨라졌는지를 나타냅니다. 실제로 서버를 운영하다보면 필요에 의해 서버를 추가 구입 또는 판매하게 되는 경우가 있는데, 클라우드를 사용하는 경우 이에 대한 과정이 매우 간단해집니다.

그래서 비용이 효율적일 수 있다는게 무슨 뜻입니까?

그래서, 위 사항들이 도대체 비용 효율이랑 무슨 관계가 있냐구요? 이러한 장점들이 요즘 변화하고 있는 IT 트렌드에 있어 엄청난 비용 효율을 가져다주기 때문입니다.

지금 이 순간에도 많은 서비스와 스타트업들이 생겨나고 없어지기를 반복하고 있습니다. 그리고 대규모 기업과 서비스에서도 서버를 작은 단위로 쪼개 부하와 위험을 분산시키고 있습니다. 이러한 트렌드에 있어 서버를 빠르게 생성하고 다시 회수할 수 있다는 점은 엄청난 장점으로 작용합니다.

만약 제가 사업을 시작했다 2개월만에 망했다고 가정해보겠습니다. 클라우드에서는 서비스를 종료하기 위해 만들어둔 서버를 끄기만 하면 자원이 낭비되지 않습니다. 오직, 사용한 2개월만큼의 비용만 발생될 것입니다. 그에 반해 온프레미스는 서버를 구매하는 초기 비용부터, 다시 판매를 하며 발생하는 손해를 감수해야 합니다.

이는 서비스를 시작하거나 서버를 증설하는 과정에서, 시작도 하기 전에 리스크를 겁먹게 만들고 프로젝트를 진행함에 있어 버틀랙을 경험하게 만들어줍니다.

물론 사업이 2개월만에 망하지 않고 5년간 서비스를 지속하고 있다면? 그 경우 서버를 직접 구매한 편이 훨씬 싸게 먹힐 것입니다. 단, 이것은 단순히 서버에 대한 운영 비용만 생각했을 때의 결론입니다. 당연히, 클라우드, AWS는 AWSome한 다양한 장점들을 포함하고 있습니다.

자원 낭비의 최소화로 인한 비용 효율

사용자 트래픽에 따른 각 환경의 서버 구성

위 그래프는 변화하는 사용자 트래픽에 대비하기 위해 각 환경에서 구성한 서버 자원의 차이를 나타내는 그래프입니다. 기존에는 온프레미스(자체구축) 환경의 그래프처럼 트래픽의 추이를 분석하여 미리 서버를 보강하고는 했습니다. 클라우드 환경도 마찬가지이지만, 클라우드 환경의 경우 조금 더 작은 단위로 서버를 조절하고, 조금 더 빠르게 트래픽의 변화에 대응할 수 있습니다.

여기서 위에서 설명한 클라우드의 장점이 가져다주는 비용 효율이 나타납니다. 온프레미스와 클라우드 모두 동일한 사양의 서버 5대를 구매했다고 가정해봅시다. 이 상황이 3년, 5년이 유지되었을 때, 당연히 온프레미스의 유지비용이 훨씬 적게들 것입니다. 하지만 현실은 위의 그래프처럼 트래픽이 종종 변하며, 이에 따라 필요한 서버의 개수, 사양도 달라집니다.

해당 상황에서 온프레미스 환경이라면 어떻게 해야할까요? 새로운 서버를 구매해야할텐데, 트래픽 조금 늘었다고 매번 새로운 서버를 구성할 수도 없으니 미리 일정 사양의 서버를 구매할 것입니다. 새로 구매한 서버를 세팅하는데 걸리는 시간도 있을 것이구요.

반면에 클라우드 환경이라면? 우리는 서버를 증설하고 줄이는 과정을 스케일링 이라 부릅니다. 클라우드는 스케일링이 정말 자유롭습니다. 트래픽이 조금 늘어나면 서버를 스케일 아웃할 수 있으며, 장기적으로 트래픽이 많아진다? 그러면 서버의 사양을 더 좋은 사양으로 교체하는데 10분이 채 걸리지 않습니다. 이는, 서버를 미리 많이 구매해둘 필요가 없음을 뜻하죠. 필요하면 그 때 바로 늘리면 되니까요.

온프레미스가 넉넉하게 서버 5대의 비용을 지불할 시간에, 클라우드는 트래픽에 맞춰서 서버 3대의 비용을 조금 비싸게 지불할 뿐입니다.

관리형 서비스로 운영 비용 감소

클라우드에서 제공하는 관리 서비스

클라우드 시스템은 대부분 물리환경에 대한 관리를 기본적으로 제공해줍니다. 서버들의 온습도 조절부터 시작해 여러 보안 시설들도 잘 구현되어 있죠. 이를 개인 전산망에서 수행하려한다면 관련 장비들이나 시설을 구축해야할 뿐만 아니라, 이를 관리할 서버 엔지니어도 필요하게 됩니다.

클라우드에서는 이를 ‘관리형’ 이라는 이름으로 함축하여 모두 제공하고 있습니다. AWS 서버를 이용하면서 서버의 물리적 상태를 점검할 필요가 없다는 것이죠. 물론, 그런 문제들에 대해서도 여러 Failover 방안들이 마련되어 있습니다.

이는 서비스를 막 시작한 스타트업이나, 아직 전산망이 구축되어 있지 않은 기업들에게 큰 메리트가 됩니다. 오로지 서버 내부의 보안과 서비스 개발에만 신경쓸 수 있도록 여러 관리 포인트를 줄일 수 있기 때문이죠.

그럼, 온프레미스는?

당연히, 서버를 직접 구매하는 비용은 장기적으로 보았을 때 클라우드를 사용하는 것보다 비용 효율적입니다. 실제로 그냥 서버를 구매하는 비용 대비, 클라우드에서 제시하는 시간당 비용은 꽤나 공격적으로 느껴지기도 합니다.

회사의 규모가 커져, 항상 유지되는 서버의 개수가 많다면? 클라우드의 경우 가격 정책이 시간당 사용 요금이기 때문에, 서버가 돌아가는 동안 계속해서 비용이 발생합니다. 하지만, 온프레미스로 서버를 구매한다면 서버를 초기 구입하는 비용만 발생하고 이후에는 유지보수에 드는 비용만 감수하면 됩니다.

기업이 사용하는 서버와 환경의 규모가 커지면 커질수록, 또 그 환경을 개발, 관리할 수 있는 충분한 내부 인력이 된다면? 더 이상 클라우드의 비싼 관리형 요금을 낼 필요 없이, 자신의 시스템에 Fit 한 효율적인 자원관리와 비용 절약을 가져갈 수 있을 것입니다. 클라우드 사업체에 중간 관리 비용을 부담하지 않고 자신의 기업에서 모든 것을 해결하는 것입니다.

그럼 내가 관리만 잘하면 서버 직접 사는게 이득이네!

하지만.. 그런 규모가 되지 않는다면 온프레미스의 도입은 다시 생각해보는 것이 좋습니다. AWS, GCP, Azure, … 클라우드 사업체들은 대규모 기업들입니다. 사내 훌륭한 전산망들이 존재하며, 엄중한 보안 장치들이 구비되어 있습니다. 이런 규모의 환경을 조금 비싼 가격에 사용하는 것은 절대로 비용 낭비가 아닙니다.

AWS가 어떤 다양한 기술들로 데이터센터를 보호하고, 관리하고 있는지 궁금하다면 다음 공식 문서를 참고해보시기 바랍니다.

종종, 서비스의 보안이나 서버 관리에 대해 중요치 않게 생각하다가 해커의 공격을 당하고, 관리 실수로 서비스에 큰 장애를 겪는 경우를 보고는 합니다. 클라우드를 사용하면서도 그런 장애 상황들을 겪을 수 있기 때문에, 온프레미스를 운영하는 경우는 보안에 더욱 유의할 필요가 있습니다.

아래 온프레미스로 서비스를 운영할 경우 고려해야 할 항목들에 대해 알아보겠습니다. 직접 데이터센터를 운영할 경우와 비교해 클라우드가 얼마나 복잡하고 귀찮은 일들을 대신해주고 있는지 살펴보시기 바랍니다.

온프레미스, 두 가지 옵션

"IT는 혼자 운영하기엔 위험하단다! 이들 중 하나를 이용하렴"

온프레미스로 서비스를 운영한다고 한다면, 관리자에게 크게 두 가지 선택지가 존재합니다.

  1. 자체적으로 서버실을 구성하여 온프레미스 환경을 구성한다.
  2. IDC 센터를 이용하여, 나의 온프레미스 환경 관리를 IDC 센터에 맡긴다.

많은 기업들이 클라우드를 접하기 전, 위 두 가지 선택지 중 하나를 선택해 서비스를 운영했을 것입니다. 학교나 공공기관 같이 서버실을 운영하기에 충분한 공간이 존재한다면, 자체적인 서버실을 구성하여 내부에서 서비스를 운영하는 것도 가능합니다.

그러나, 스타트업이나 IT 기업들이 사무실을 대여하여 서비스를 운영하고 있다면? 직원들 사용할 사무실도 대여해서 이용해야 하는데, 서버실까지 구성할 공간이 부족할뿐만 아니라 이사라도 가게되는 날엔 서비스에 큰 차질이 발생할 것입니다. 이 경우 안정적인 IDC 센터에 온프레미스 환경을 맡기는 것이 조금 더 효율적일 수 있습니다.
(물론, 비용은 추가로 발생합니다.)

또한, 서버를 중고로 구매하여 서버 구매 비용을 절약할 수도 있습니다. 원하는 장비들을 선택하여 나의 환경을 커스터마이징할 수 있기 때문에, 별다른 제약 없이 서비스에 적합한 장비들을 사용할 수 있습니다.

서버를 운영하기 위한 자원

서버를 운영하려면 어떤 자원들이 필요한가요?

이어서, 서비스를 운영하기 위해 필요한 서버 자원들에 대해 알아보겠습니다. 서비스의 규모나 목적에 따라 필요로 하는 장비들은 크게 상이할 수 있지만, 일반적으로 필요로 하는 장비들만 추려보았습니다.

물론 이 외에 다양한 자원들이 있으며, 아래 자원들도 반드시 필요한 것은 아닙니다.


1. 서버
서버는 서비스를 운영함에 있어 반드시 필요한 장비입니다. 안정적인 서비스를 운영하기 위해, 자신의 서비스에 맞는 사양의 서버를 구입하고 이를 관리합니다.

  • 서버: 서버의 경우 직접 조립해서 사용도 가능하지만, 벤더사의 완제품으로 구비하는 것이 일반적입니다. 서버랙 규격이나 필요한 스펙에 맞춰 다양한 서버 장비를 구비할 수 있습니다.
  • 백업 저장소(스토리지): 서버 내에 HDD나 SSD를 통해 저장소를 모두 구성하는 것이 일반적이며, 추가 스토리지나 백업용 스토리지가 필요한 경우 NAS를 구성하거나, 물리 스토리지를 추가 구매하여 구성할 수 있습니다.

2. 서버실(서버 환경)
서버나 네트워크 장비들은 주변 환경에 민감하기도 하기 때문에, 외부의 방해요소들로부터 분리되는 것이 관리에 용이합니다. 서버실을 구성할 경우 서버랙, 온습도 조절, 케이블 트레이와 같은 물리적인 장비들부터, UPS나 소화기 같이 장애에 대비하기 위한 장비들도 필요합니다.

  • 서버랙: 서버랙을 별도로 구성하면 서버나 기타 장비들에 대한 수납과 관리가 용이해집니다. 장비가 많을 수록 더 크고 많은 서버랙이 필요합니다.
  • 항온항습기 또는 에어컨: 서버 및 네트워크 기기에 일정한 온습도를 유지해줘야합니다. 간단히 에어컨을 두거나 온습도 모두 조절하기 위해 항온항습기를 구비하는 것이 필요합니다.
  • UPS: 서버는 잠깐만 꺼져도 서비스에 큰 문제가 되며, 정전같은 문제로 갑자기 서버가 꺼질 경우 장비 장애의 원인이 되기도 합니다. UPS는 전원 공급 문제로부터 서버의 전원을 보호하고 전압을 조정해줄 수 있습니다.
  • 케이블 트레이: 각종 장비들을 연결할 케이블을 정리할 트레이를 구성합니다. 상부 트레이 또는 필요에 의해 서버실의 안전하고 깔끔한 배선 관리를 위해 액세스 플로어를 구성할 수도 있습니다.
  • 각종 소방물품: 화재나 각종 물리적 문제 상황에서 빠른 대처를 위해 소방 시설 및 물품을 구비해두어야 합니다.

3. 네트워크 장비
서버들간의 통신을 구성하고, 외부 인터넷에서 우리 서버에 접근할 수 있도록 네트워크 장비를 세팅해주어야 합니다.

  • 라우터: 외부 인터넷과 통신하기 위해 트래픽을 제어하고, NAT, VPN, 방화벽 같은 다른 역할들도 수행할 수 있습니다.
  • 스위치: 장비의 개수가 많을 경우, 라우터 장비가 가지고 있는 케이블 단자의 개수로 커버가 되지 않을 수 있습니다. 라우터 하단에 별도의 스위치를 두어 장비들간의 통신을 원활히 해줍니다.
  • KVM 스위치: 여러 대의 서버가 구성될 경우, 하나의 콘솔(키보드,모니터, 마우스)에서 여러 서버에 접근할 수 있게 구성할 수 있는데, 이 때 사용되는 장비입니다.

4. 보안
보안은 기업이나 개인의 자산을 보호해주는 가장 중요한 요소입니다. 물리적인 장비들에 대한 보안뿐만 아니라, DDos나 해킹과 같은 네트워크 피해를 방지하는 보안도 필요합니다.

  • 물리 보안: 서버실 접근을 통제하는 출입 통제 장치나 CCTV를 설치하여, 서버와 장비들에 물리적 피해를 가하지 않도록 보안을 강화합니다.
  • 네트워크 보안: 웹 서버에 대해 지능적인 트래픽 공격을 막아주는 WAF나 사설망 간의 통신을 제어하는 VPN 장비를 두어 네트워크적인 보안을 강화합니다.
비상! 이게 다 뭐야!

상당히 많은 장비들을 간략히 나열해보았습니다. 실제 서비스를 운영함에 있어 위 장비들이 모두 필요시 되지는 않습니다. 위 정보들로 하여금 안내드리고자 하는 점은, 서버를 온프레미스에서 관리하기 위해서는 상당히 많은 고려사항이 존재하며, 이에 대한 비용을 일시에 지불하기란 어려운 결정이 될 수 있다는 점입니다.

또한, 위 장비들을 모두 사용하지 않는 규모에서는, 클라우드에서는 위와 같은 장비들의 상당부분을 기본 제공하고 있음을 알아두셨으면 합니다. 정확히는 클라우드 서비스 사용료에는 서버 환경에 대한 관리 비용이 모두 포함된다고 보는 것이 더 정확할 것 같습니다.

클라우드를 더 저렴하게 사용하는 방법

그래도 여전히 비싼 것 같은데..

그렇다면, 다양한 운영적, 관리적 이점 때문에 클라우드의 높은 서버 비용을 그냥 감내하고 이용해야할까요? 퍼블릭 클라우드 업체들은, 사용자들의 높은 운영 비용을 줄이기 위한 다양한 가격 옵션들을 제공하고 있습니다. 그 중에서도 대표적인 두 가지 비용 절약 방안에 대해 설명드리겠습니다.

예약 요금제

클라우드 환경에서는 서비스에 필요한 서버의 개수를 유동적으로 늘리고 줄이며 운영합니다. 그러다보면, 일정 부분만큼 항상 사용되는 리소스가 존재할 수 있습니다.

예를 들어, 트래픽이 피크 칠 땐 서버가 10대까지 운용되지만 사용량이 적을 땐 4대만 유지되는 웹 서비스를 운영 중이라면, 항상 4대의 서버 리소스는 존재해야 할 것입니다. 또한, 사용량이 매우 적은 서비스라도 항시 1대의 서버는 유지시켜야 할 것입니다. 이런 경우, 클라우드 제공 업체에게 이 점을 커밋하여, “항상 n대의 서버를 유지할테니, 해당 서버 비용을 조금 깎아줘.” 와 같은 딜을 할 수 있습니다.

이러한 가격 정책은 보통 1년, 3년과 같은 장기적인 플랜을 통해 가격 이점을 제공하는 구조로 되어있으며, AWS에서는 이러한 기능을 RI, SP 라는 옵션으로 제공하고 있고, GCP에서는 CUD, Azure는 Reservations 라는 이름으로 제공하고 있습니다.

사용량 티어링

“많이 쓸수록 저렴하게” 라는 개념으로 제공되는 가격 옵션입니다. 모든 서비스에 해당하는 내용은 아니지만, 클라우드 제공 업체들은 몇몇 서비스에 대해 많이 사용할수록 가격표를 저렴하게 제공하고 있습니다.

아래 예시로, AWS 의 Amazon S3 라는 데이터 저장 비용을 살펴보겠습니다.

처음 50TB 까지는 일반적인 가격을 책정하지만, 50TB 이상 사용할 경우, 50TB의 초과분에 대해서는 더 저렴한 가격표를 제공하고 있습니다. 더 나아가서는 500TB가 넘어갈 경우 더 저렴한 가격표를 제공합니다.

이는 데이터 저장뿐만 아니라, 데이터 전송량, 서비스 사용 시간 등 다양한 분야에서 티어링을 제공하고 있습니다.

둘을 섞은 하이브리드 구성

퓨전!

물론, 온프레미스와 클라우드 환경을 섞은 하이브리드 구성도 가능합니다. 보통은 클라우드를 이용하기 전, 기존에 사용하고 있던 온프레미스 환경을 그대로 유지하며 신규 서비스를 클라우드에 도입하거나, 기존 시스템의 일부분을 부분적으로 클라우드로 이관할 때 하이브리드 환경으로 운영하게 됩니다.

두 환경은 각각 온전히 유지하되, 두 환경을 연결할 수 있도록 전용망을 연결하거나, VPN과 같은 통신 보안 기술을 이용해 각 환경을 Private 하게 연결시켜주어야 합니다. 두 환경간 통신 속도나 안정성이 중요하다면 전용망을 설치하기도 하지만, 보통은 VPN만 이용하여도 각 환경 간의 안전한 통신 환경을 구성할 수 있습니다.

반드시 둘 중 하나의 환경을 선택할 필요는 없습니다. 기존에 온프레미스 환경을 운영하다가 클라우드 환경으로 이전하려는 경우, 기존 환경을 완전히 클라우드로 이전 할 필요 없이, 기존 환경을 유지한 상태로 추가 확장만 클라우드를 이용하는 방법도 있습니다.

결론

클라우드라는 개념이 처음 언급된지는 오랜 시간이 지났지만, 이를 상용화한 대형 서비스들이 탄생한지는 그리 오랜 시간이 지나지 않았습니다. 클라우드를 서비스하는 대형 업체들은 규모의 경제를 내세우며 다양한 이점들을 제공하고 있지만, 그럼에도 서버 비용이 조금 비싼건 사실입니다.

“클라우드는 비싸다” 라는 말은 서버 구매 비용만 놓고 보자면 맞는 말이지만, 서비스 운영 비용은 다양한 팩터들에 의해 결정됩니다. 클라우드는 다양한 운영 비용의 축소를 만들 수 있으며, 활용 능력에 따라 다양한 정책을 사용하여 매우 저렴하고 비용 효율적으로 서비스를 운영할 수 있습니다

그런 의미에서 클라우드를 도입할 때는 전문성 있는 지식이 필요하며, 비용 최적화를 위한 다양한 옵션들을 꼼꼼히 살펴보아야 합니다.

모든 선택지들에는 상대적인 이점들이 존재하기 때문에, 모든 상황에 적합한 최고의 환경이란 존재하지 않습니다. 클라우드라고 하는 환경에 대해 단순한 선입견이 아닌, 실질적인 비용에 대한 다양한 견해를 가지고 올바른 선택을 하셨으면 좋겠습니다. 그리고 그런 선택에 있어 제 글이 도움이 되었으면 좋겠습니다.

게시글에 대한 피드백은 언제나 환영입니다. 제가 생각치 못한 부분이나 더 좋은 아이디어가 있다면, 댓글로 남겨주시기 바랍니다. 감사합니다.

출처



About Dohun Lee
Dohun Lee

안녕하세요, DevOps Engineer 역할을 수행중인 이도훈입니다.

Email crebr.ldh@gmail.com
Website https://creboring.net