Compartilhar via


클라우드와 On-premise 전체 비용 비교에 대한 단상

안녕하세요. 김대우 입니다.

최근 적은 글 중에 Azure의 비용에 대해서 적은 글이 있었지요. Azure 사용 가격 예측 계산기 - Full Pricing Calcurator

처음 이 계산 방식을 사용해 보신 현업 분들의 말씀은 한결 같이 On-premise(인하우스-in house 서비스 제공, 이하 On-preminse)에 비해 아직은 가격이 너무 비싸 클라우드는 시기상조인 것 같다라는 피드백이었습니다. 특히, 실무에 강하고 엔지니어적인, 기술 관점이 강할수록 비슷한 논의가 오고갔지요. 사실 저도 별반 다르지 않았습니다. ^_^;;;

하지만, 제가 만나뵈었던 많은 기술 총괄 담당자 분들이나 솔루션 개발사에서 새로운 상품기획 관련 업무를 하시는 분들은 언제나 다른 계산방식에 대한 말씀들을 주셨어요.

"전체적으로 계산이 필요하겠지만, On-premise와 비교할때 적절한 비용으로 보이고, 국내외 클라우드 서비스 제공자는 어디나 모두 대부분의 비용 정산 방식이 비슷하다."

다시 말씀 드리지만, On-premise와 클라우드는 보완재이지 대체재가 아닙니다. 상호보완적인 관계이며, 궁극적인 IT 서비스 환경은 분명 양쪽이 모두 필요에 의해 서로 상호작용하고 서비스를 보완하는 형태인 하이브리드 형태로 유지될 것입니다.

자, 그럼 저와 함께 클라우드와 달리, On-premise의 경우는 어떤 숨은 비용들이 존재하는지 알아 보도록 하시지요.

cloud_vs_on-premise.png

1. Cloud vs On-premise 비용 비교 - 평면적 비교. 클라우드와 On-premise의 컴퓨팅, 스토리지, 트랜젝션 비용

서버 호스팅이나 코로케이션, 인하우스에서 서비스를 하시면서 컴퓨팅 파워와 메모리, 스토리지, 네트워크 사용에 대한 비용은 1차적이고 눈에 보이는 1:1로 비교 가능한 비용입니다. 하지만, 이런 단순 하드웨어 비용 외에 많은 비용이 존재합니다. 특히, On-premise에 많이 존재하지요.

2. On-premise의 숨은 비용들 / 내부 인력 비용

숨은 비용 중에 가장 큰 비용은 바로 인력 비용입니다. 인력 비용은 서비스를 유지하는 SM이나 IT 담당자의 비용을 포함합니다. 인력에 대한 유지비용으로 네트워크 비용, 심지어는 개인이 사용하는 사무실 공간의 비용도 포함됩니다. 월급으로 받는 비용의 30%에서 많으면 80% 정도가 이러한 연봉외 유지를 위한 인력 비용에 추가 된다고 일반적으로 판단합니다. 클라우드로 바뀐다고 해서 기업의 IT 인력이 사라지지는 않을겁니다. 클라우드 역시 분명 유지관리 인력은 필요하니까요. 하지만, 분명 기업이 필요한 인력 규모는 줄어들것입니다. 세탁기와 세탁소 논쟁은 이 글에서 논외로 합니다.

3. 소프트웨어 라이센스, 소프트웨어 유지보수 비용과 기술지원 비용

클라우드 서비스에서 IaaS는 예외겠지만, PaaS의 경우는 일반적으로, 기본 라이센스가 포함되어 있습니다. (호스팅, IaaS와 PaaS, SaaS 비교는 다음 포스트로 풀어 보지요.) 본론으로 들어가, On-premise의 경우는 어떨까요? On-premise에서 LAMP를 이용한다면 라이센스 비용에 대해서는 일부 자유로우실 겁니다. (CentOS 등과 달리 RHEL은 논외로 합니다.) 대략적으로, OS나 DBMS에 대란 라이센스 비용에 보안 기능을 위한 소프트웨어 비용만 우선 생각하셔도 좋겠습니다.(방화벽, L4 스위치, UPS나 기타 하드웨어는 아래에서 논의합니다.) 또한, 기업 전산 업무의 특성상, 소프트웨어에 대한 비용과 기술지원 비용, 필요할 경우 소프트웨어 전문 지원 엔지니어나 외부 인력 비용은 보이지 않는 숨은 비용이기도 합니다. 아, PaaS는 이 OS나 기본적인 보안 및 SQL Azure로 볼 경우. DBMS에 대한 라이센스 비용 자체가 없습니다. SaaS는 아시는 것처럼 구독 모델로 본다면 라이센스 비용이 존재할 수 없지요.

4. 서버 장비 외의 서비스 운영 비용

On-premise의 특성상 서버 하드웨어와 인력 비용외에, 소중한 LOB 데이터에 대한 보호는 당연한 업무의 일부입니다. 특히, 백업이나 이중화와 같은 비용을 생각하셔도 좋겠습니다.

예를들어, 무정지 시스템을 위해 기본적인 보안을 위한, 방화벽은 물론, UPS나 테입 백업 장치, 최근 화두인 선제적 재난대비를 위한 물리적인 외부 백업 이용, 서버 유지를 위한 네트워크 비용도 하나의 요소가 될겁니다. 클러스터링과 같은 이중화 & IT 서비스 무정지 시스템을 내부에서 구현 중이라면 클러스터링을 위한 비용은 물론, 서비스 자동화 시스템 비용과 관리 목적으로 사용되는 모니터링 비용도 발생하겠지요.24x7 서비스 유지를 위해 장애 발생시의 기술지원 비용의 경우는 일반 기술지원 비용과는 다른 테이블로 비용이 정산됩니다. 사용자가 늘어나 Scale-up이나 Scale-out을 고려한 서비스 구축을 원할 경우에는 거의 IT인프라 리디자인에 가까운 비용이 부과되고 - 심지어는, 사내에 위치한 데이터 센터나 전산실의서버 공간 역시 공간 관점에서 보면 인력 비용과 마찬가지의 서버공간-상면  비용과 서버랙(Server Rack) 비용이 부과됩니다.

클라우드는 이런 기본적인 서버 유지를 위한 비용이 포함되어 있으며, 스케일 업이나 스케일 아웃시의 무정지 제공(멀티 인스턴스 사용시)도 가능하고, 특히 PaaS에서는 스케일 아웃을 구현 하더라도 따로 L4나 부하 분산 등에 대한 비용이 부과되지 않습니다.

N대의 서버가 있고, 서버당 M개의 어플리케이션이 운영되고 있다면, 어플리케이션이나 서버 운영에 대해 소요되는 리소스에 대한 비용를 적절히 분할해 실질적인 비용으로 계산할 수도 있을 것입니다.

클라우드로 만들기만 하면 스케일 아웃이나 동적인 컴퓨팅 처리가 가능한건 물론 아닙니다. 물론 이를 고려한 개발이 먼저 이루어져야 하며 그 개발에 소요되는 비용 역시 존재할 것입니다. IaaS와 PaaS의 이런 동적 스케일 기능에 대해서도 다음에 포스트로 풀어보면 좋겠네요.

Cloud와 On-premise는 이렇게 비용 측면에서 1:1 비교 자체가 어렵지만, 위에 기술된 사항만으로도 충분히, On-premise 인프라 서비스에 어떤 비용이 포함되며, 클라우드와 On-premise 환경에서 어떤 비교가 기본적으로 이루어져야 할지 대략적으로 이해가 이루어지면 좋겠습니다.

솔루션을 개발해 고객사에 배포하는 솔루션 개발사(ISV)에 대해 부가적으로 발생하는 비용 부분과 고민들도 가능하다면 다음에 또 풀어 보도록 하겠습니다.

PS.

클라우드에 대해 알아갈 수록, 클라우드를 직접 사용해 보고, 솔루션 개발사(ISV) 분들과 이야기 할수록, 클라우드는 일반 기업고객보다는 솔루션 개발사(ISV)에 더 많은 혜택을 제공하는 새로운 비즈니스 모델이라는 생각이 듭니다.

클라우드는 IT의 서비스화 기술 아니었냐구요? - 점점 알아가고, 대화하면서 느껴지는 제 생각은 "클라우드는 철저한 비즈니스 모델" 이라는 점입니다. 이것도 나중에 기회되면 풀어 보겠습니다.

감사합니다.

추가정보 :

SQL서버의 DB를 손쉽게 클라우드, SQL Azure로 전송하는 방법, SQL Azure Compatibility Assessment
클라우드 컴퓨팅 Azure를 개발자가 무료로 테스트 하는 방법
Azure 사용 가격 예측 계산기 - Full Pricing Calcurator
클라우드 컴퓨팅과 SLA(Service Level Agreements) - Azure가 제공하는 SLA
Azure 모니터링과 사용량 계측(Metering) 도구 총집합
Azure Connect - Azure를 회사망의 일부처럼 사용하는 하이브리드 클라우드(hybrid cloud) 구축
클라우드의 네트워크 응답속도(Latency) 한계 극복, SQL Azure Federation
클라우드와 CDN 비즈니스. 그리고, Azure
클라우드와 On-premise 전체 비용 비교에 대한 단상
IaaS, PaaS, SaaS - 누구나 클라우드를 말한다.

Azure - 클라우드 컴퓨팅 - 시리즈 강좌 리스트
[Azure강좌] 1. 클라우드와 원도우 애저 소개
[Azure강좌] 2. SDK 설치와 Azure 무료 신청
[Azure강좌] 3. ASP.NET(Web Role) Hello World
[Azure강좌] 4. 프로젝트 패키지 Azure 배포
[Azure강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure강좌] 7. SQL Azure 소개와 서버 구성
[Azure강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure강좌] 10. SQL Azure 방화벽 설정
[Azure강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure강좌] 14. Blob 서비스와 Container
[Azure강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure강좌] 17. Windows Azure CDN 설정
[Azure강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션

Azure - 클라우드 컴퓨팅 - 동영상 참고 자료

[Azure 동영상 강좌] 1. 클라우드와 원도우 애저 소개 (애저 포털 둘러보기) 
[Azure 동영상 강좌] 2. SDK 설치와 Azure 무료 신청
[Azure 동영상 강좌] 3. ASP.NET(Web Role) Hello World
[Azure 동영상 강좌] 4. 프로젝트 패키지 Azure 배포
[Azure 동영상 강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure 동영상 강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure 동영상 강좌] 7. SQL Azure 소개와 서버 구성
[Azure 동영상 강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure 동영상 강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure 동영상 강좌] 10. SQL Azure 방화벽 설정
[Azure 동영상 강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure 동영상 강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure 동영상 강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure 동영상 강좌] 14. Blob 서비스와 Container
[Azure 동영상 강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure 동영상 강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure 동영상 강좌] 17. Windows Azure CDN 설정
[Azure 동영상 강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure 동영상 강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure 동영상 강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션