본문 바로가기
Cloud

On-Premise와 Cloud Computing에 대한 이해와 견해

by Haengsin 2021. 11. 26.

On-Premise

소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 말한다.  

 

종종 회사 소유 서버, 네트워킹 시스템 및 시스템 구성 요소를 포함하여 조직의 데이터 센터와 관련하여 이 용어를 사용한다. 전산실의 백본, 라우터, 스위치 등 네트워크 장비부터 서버들을 직접 구매하여 설치하고 관리하는 전통적인 방식이다.

 

전산실을 직접 운영하지 않더라도 데이터센터를 이용할 수도 있다. 데이터 센터를 직접 구축하거나 데이터센터의 공간을 빌려주는 상면(Co-location) 서비스 등의 공간에 서버와 같은 컴퓨팅 자원을 직접 조달-설치-사용하는 환경을 의미한다. 이 경우 물리적인 컴퓨팅 자원(예. 서버)을 직접 구매하거나 리스를 통해 조달하여 설치 구성을 하는 것 뿐만 아니라 네트워크 연결 등의 환경에 대한 비용 및 아키텍처도 함께 고려해야 한다.

 

Cloud Computing Service

클라우드 컴퓨팅 (Cloud Computing) 또는 클라우드 서비스 (Cloud Service) 란, 인터넷에 연결된 가상화 된 공간에서 네트워크 또는 컴퓨팅 자원을 즉시 필요한 만큼 사용할 수 있는 서비스 형태의 IT Infrastructure를 의미한다. 

 

이제는 점점 H/W를 데이터센터에 넣고 운영/관리하는 일이 점점 줄어들 것이다. 최근에 많은 관심을 받고 있으며 상용화되기 시작한 AI, Big Data 기술의 경우, 구현과 서비스에는 슈퍼컴퓨터 급의 고사양 하드웨어가 장비가 필요하다. 이러한 장비의 도입과 구매는 기업 입장에서 많은 초기 투자 및 운영 비용과 그리고 환경 구축 및 기술에 대한 인력이 필요하다. 그러나, 클라우드는 초기 투자 비용이 없으며, 사용한 만큼만 지불하면 된다. 또한 기업이 슈퍼컴퓨터를 가지고 있지 않아도 AI, Big Data 서비스를 구축할 수 있는 환경을 제공한다. 인프라 운영을 위한 환경(데이터 센터, 항온/항습기, 전기 시설 및 설비 등)이 필요없다. 대부분의 인프라 운영 및 관리를 인터넷을 통해 원격으로 수행할 수 있다는 것은 매우 큰 이점이다.

 

클라우드의 핵심 능력은 신속함확장성이다.

 

Cloud Computing Service 이용 방식

클라우드 컴퓨팅 서비스는 이용 방식에 따라 크게 세 가지로 분류할 수 있다. 첫 째 IaaS(Infrastructure as a Service), 둘 째 PaaS(Platform as a Service), 셋 째 SaaS(Software as a Service) 이다.

(1) IaaS - Infrastructure as a Service

물리적 서버(CPU, Memory 및 OS), 네트워크, 스토리지를 가상화하여 다수의 고객을 대상으로 유연하게 제공하는 인프라 서비스

(2) PaaS - Platform as a Service

Web 기반의 서비스 또는 애플리케이션 등의 개발 및 실행을 위한 표준 플랫폼 환경을 서비스 형태로 제공하는 서비스

(3) SaaS - Software as a Service

구글의 Gmail 이나 MS Office 365 등과 같이 응용프로그램(Application)을 인터넷 및 웹 브라우저를 통해 제공하는 서비스.

 

클라우드 컴퓨팅 서비스는 중첩되어 제공되므로 클라우드 컴퓨팅 스택(Cloud Computing Stack)이라고도 한다. 각각의 클라우드 컴퓨팅 서비스의 정의와 차이점을 이해하면 클라우드 서비스의 구성과 이해아 많은 도움이 된다.

 

 

Cloud vs On-Premis

 

 

 

개인적인 생각

분명, On-Premise는 모든 네트워크와 서버 인프라에 대한 제어가 가능하다는 장점이 있지만, 규모가 커질 수록 인프라는 점점 더 복잡해지며 그만큼 관리에 대한 부담도 커진다고 생각한다. 뿐만 아니라, 서버의 경우 SPEC을 산정하여 구매를 하게되는데 서버가 입고되기까지의 시간이 걸릴 뿐더러 서버가 입고되고 RACK 에 서버를 마운트하고 네트워크 세팅, OS 설치 후 서버 세팅하는 것도 여간 귀찮은 일이 아니며.. 시간도 많이 소요된다.

 

또한, 기업 마다 크게 다르진 않겠지만 세부적인 인프라 구조가 다르고 의존적인 3-party 장비들이 있기 때문에 한 기업의 인프라를 파악하기에 시간이 소요된다.

 

비용은 매매와 월세의 개념인데 On-Premise는 매매이고 Cloud는 월세이다. 서버의 경우를 예를 들면 서버를 구매할 때의 비용만 소요되며 부품을 교체하거나 추가하여 사용하지만, Cloud의 경우 월마다의 사용 요금을 내고 안쓰면 삭제하면 된다. On-Premise의 서버의 경우, 심지어 보통 3년 정도의 시간이 지나면 서버가 노후되기 마련이다. 새 서버를 구매하여 마이그레이션하는 것도 일이며 노후된 서버를 처분하는 것도 귀찮은 일이다.

 

반면에, AWS Cloud의 경우, AWS에서 제공하는 인프라 환경과 서비스를 사용하기 때문에 통일성있고 파악하기에도 용이하다. 또한, 몇 번의 Click 혹은 명령어로 인프라부터 서버까지 생성이 가능하며, 물리적으로 구현하는데 오랜 시간이 걸리거나 기술적으로 쉽지 않은 서비스들도 Cloud 내에서 손쉽게 사용할 수 있도록 구현되어 있는 것이 매력적이다. 또한, Auto Scaling 의 경우 서버를 추가하고 Load Balancer에 연결해주는 과정을 부하량에 따라 자동으로 늘려주고 줄여주는 물리적으로 실제로 많은 시간이 걸리는 일을 단 몇 초만에 해준다는 것은 정말 놀라운 기술이라고 생각한다. 

 

최근에 엄청나게 많은 사람들이 백신 예약 접종을 위해 질병관리청의 '코로나19 백신예방접종 사전예약 시스템'에  접속하였고, 사이트가 터지는 일이 발생하였던 것이 떠오른다. 분명 운영 측에서는 어느정도의 인원이 몰릴 것을 예측하였을 것이고 그에 대비해서 준비를 하고 있었을 것이지만, 서버들이 버티지 못했던 것 같다. 네이버 클라우드에서 지원을 하여 정상적으로 서비스가 돌아왔던 것으로 기억한다. 생각해보면 앞으로도 계속해서 사용할 규모의 시스템이 아니고 일정 기간 사용할 시스템인데 모든 트래픽을 감당할 정도의 투자를 했다할지라도 사용 기간이 끝나면 붕 뜰 것인데 클라우드를 사용하면 사용한 비용만 내고 사용할 기간이 끝나면 날려버리면 되고 심지어 Auto Scaling까지 해준다.

 

AWS 의 Auto Scaling의 경우, 초기에는 단순 인스턴스에 대한 Auto Scaling 이라고 이해하고 있었기 때문에, 요즘 같이 서비스들을 Container 로 올리는 경우에 대한 의문이 있었지만 의문을 가졌던 것이 우스울 정도로 Amazon ECS(Elastic Container Service)와 EKS(Elastic Kubernetes Service)로 구현되어 있었다. Kubernetes의 경우, On-Premise와 Cloud 환경에 관계없이 구현이 가능하지만 서비스 형태로 나와있고 AWS 내에서 서비스 형태로 나와있기 때문에 손쉽게 구현이 가능했다. 

 

그러나, 장점만 있는 것도 아니다. 관리를 잘못할 경우, 인스턴스 혹은 데이터가 날라갈 위험이 있으므로 이상이 있을 경우 바로 알림을 받고 자동으로 대응할 수 있는 세부 모니터링 환경도 잘 구축해야 한다. 또한, 비용적인 측면에서도 인프라나 서비스들을 잘못 사용있을 경우 그리고 사용하지 않는 서비스들을 재대로 정리하지 않는다면 정말 필요한 비용보다 더 많은 비용이 부과될 수 있다. 

 

아직 Cloud에 대한 지식과 경험이 부족하여 견해가 부족할 수 있다. 나중에 더 많은 지식과 경험이 쌓인다면 한 번더 정리를 해볼 생각이다.

'Cloud' 카테고리의 다른 글

Private Cloud, Public Cloud, Hybrid Cloud  (0) 2021.11.30