인사이트
클라우드 컴퓨팅이란?ㅣSaaS 정의, 장점, 서비스 유형
2022년 12월 15일
“10년이면 강산도 변한다”는 말이 있습니다만, 이제는 10년이면 사람과 기술, 세상이 급격하게 변하는 시대가 온 것 같습니다. 이렇게 빠른 흐름 속에서 사람, 기술, 생활 방식, 비즈니스 방식까지 달라지고 있는데요.
그중에서도 가장 많이 변했다고 체감하는 게 있다면 전화기-핸드폰을 들 수 있습니다. 외형부터 내부적인 기능까지 기존의 전화기와는 차이가 큰 스마트폰이 등장했고 우리 생활의 모습을 완전히 바꾸어 놓았죠. 스마트폰부터 전화기 사용을 익힌 세대들은 과거의 전화기가 마치 구석기시대의 기술처럼 느낄지도 모르겠습니다.
비슷한 예시가 하나 더 있습니다. 문서 작업을 할 때 자주 만나게 되는 저장 버튼입니다. 여러분은 이 저장 버튼이 무엇을 아이콘으로 만든 것인지 알고 계신가요? 바로 플로피 디스크, 디스켓입니다. 과거에는 문서나 파일을 플로피 디스크와 같은 물리적인 장치에 저장하는 경우가 흔했지만, 오늘 날에는 그렇지 않죠.
어떤 서비스를 개발하는 회사가 자사 서비스를 사람들이 사용할 수 있게 전달하는 것을 “배포”라고 합니다. 과거에는 이 서비스 배포가 앞서 보여드린 디스켓이나 CD 같은 물리적인 저장 장치에 프로그램을 저장해서 사용자에게 판매하는 형태로 이루어졌습니다.
문서 작업 프로그램을 사용하기 위해서, CD 패키지를 가져와서 내 컴퓨터에 설치해서 사용했었고, 용량이 큰 게임들은 CD1, CD2를 순서대로 넣고 install.exe를 실행시켜서 설치했습니다. 그래서 2000년대 초 PC방에 가보면 카운터에 CD가 담겨 있었던 수많은 패키지 박스가 쌓여있었죠.
하지만 클라우드 컴퓨팅의 발전으로, 서비스 배포의 형태가 바뀌었습니다. 이제 PC는 클라우드에 존재하는 메인 서버 컴퓨터에 접근하는 단말의 역할을 하게 되었죠. 설치가 필요한 과정이 있더라도 더 이상 CD 같은 물리적 저장장치를 이용하지 않고 다운로드 받아서 사용합니다. 최근에는 설치조차 필요 없이 바로 서비스를 이용하는 형식이 많아졌습니다. 이러한 클라우드 컴퓨팅 유형을 Software as a service(SaaS)라고 부릅니다.
이전에 문서작업을 위해 프로그램을 설치했던 것을 구글 Docs나 마이크로소프트 365 등을 통해 접속 후 바로 서비스를 사용할 수 있게 된 것이죠. 최근에 많이 이용하시는 구독형 서비스들의 대부분이 이 SaaS에 속한다고 볼 수 있습니다. 이처럼 이미 많은 기업은 많은 사람에게 서비스를 편리하게 제공하기 위해 클라우드 컴퓨팅 기술을 활용하고 있습니다.
그럼 사용자의 입장에서 우리 생활 속에 이미 클라우드 컴퓨팅이 활용된 서비스들이 많이 있다는 것을 알았으니, 개발자나 엔지니어, 기업과 비즈니스의 관점에서 이 클라우드 컴퓨팅이 무엇이고 왜 써야 하는지, 어떤 효과가 있는지 살펴보겠습니다.
아래 사진은 대표적인 클라우드 서비스 제공자(CSP)인 아마존의 AWS와 구글의 GCP에서 클라우드 컴퓨팅을 정의한 내용입니다. 공통적인 부분을 찾아보면, 컴퓨팅 능력을 필요로하는 사람이 직접 컴퓨팅 리소스를 소유하는 것이 아니라 필요에 따라 임대해서 사용하고, 사용한만큼 비용을 내는 것이라고 볼 수 있습니다.
구체적인 이해를 위해서, 반대되는 개념과 비교해보는 것은 좋은 수단이 될 수 있습니다. 클라우드 인프라를 대여하고 사용한 만큼 비용을 지불하는 방식에 반대되는 개념은 온프레미스(On-premise) 방식입니다.
온프레미스는 서비스 제공을 위한 인프라를 직접 구축하는 것을 말합니다. 인프라들을 구축할 데이터센터를 만들기 위해 부지를 확보하고, 그 안에 물리적인 컴퓨팅 유닛들을 구매해서 설치해야 합니다. 흔히 말하는 서버실을 굉장히 큰 단위로 구축하는 것을 상상해보시면 됩니다. 직접 물리적 설비나 소프트웨어를 설치해야하기 때문에 초기 생성에 있어서 매우 많은 시간과 비용이 필요합니다.
반면 클라우드는 인프라를 구축하는데 온프레미스에 비해 아주 짧은 시간만을 필요로합니다. 간단한 서버 구축은 몇초 만에도 가능할 수 있고, 숙련된 엔지니어들과 IaC(Infrastructure as Code) 기술이 합쳐지면 대규모의 인프라도 굉장히 빠른 시간 내에 구축과 재현이 가능합니다. 또한 시설의 유지 관리에 대해서 신경 쓰지 않을 수 있습니다. 서버를 유지하기 위한 전력이나, 냉방 등의 환경관리를 클라우드 제공자에게 맡겼기 때문이죠. 그렇기 때문에 핵심이 되는 비즈니스 영역에만 몰두할 수 있다는 장점이 있습니다.
클라우드는 서비스 고가용성(High Availability), 재해복구(DR, Disaster Recovery) 등으로 인한 천재지변, 화재 등에도 빠르게 대비가 가능하며 이와 관련된 내용은 해당 포스팅에서 더 자세하게 다루고 있습니다.
클라우드 컴퓨팅의 단점 역시 분명히 존재합니다. 우선 전체 시스템이 작동하는 인프라 실행 환경에 대한 제어권을 대부분 위임한 것이기 때문에, 시설 문제 발생 시 어떤 부분이 문제였는지 파악하기 어렵거나 책임소재가 불분명해질 수 있습니다.
그리고 하나의 CSP에 너무 의존적이면, 다른 클라우드 서비스로 시스템을 이전하는 데 어려움을 겪을 수 있습니다. 만약 특정 클라우드에 대한 의존도가 큰 상황에서 업체가 사용요금을 증가시킨다면 제한된 이식성은 문제가 될 수도 있습니다.
또한 데이터의 소유와 보안에 관련해서도 아직 여러 의견이 대립하고 있습니다. 특히 많이 사용되고 있는 대형 클라우드 서비스 제공자들은 한국의 입장에서는 해외 기업이기 때문에, 사업적으로 중요한 데이터나, 고객의 개인 데이터의 보안 취약성 문제가 제기되기도 합니다. 예를 들어서 미국의 버지니아주에 있는 데이터 센터에다가 클라우드 컴퓨팅으로 인프라를 구축하고 고객의 개인정보를 저장했다고 합시다. 그럼 이때 고객정보는 저장된 장소인 버지니아주의 법률을 적용받게 됩니다. 그래서 은행이나 정부 기관 등 민감한 정보를 다루는 곳은 여전히 온프레미스 방식을 사용하는 곳도 있습니다. 또한 앞서 소개한 클라우드의 장점들을 함께 이용하기 위해 하이브리드 형태의 클라우드 컴퓨팅 서비스 유형을 사용하기도 합니다.
클라우드 컴퓨팅 서비스 유형에 대해 간단하게 정의하면 다음과 같습니다.
CSP를 통한 실행 요구사항에 따라 필요한 컴퓨팅 리소스를 주문해서 사용
기업 또는 조직 자체가 빌드, 소유, 관리하는 데이터 센터에서 비공개로 호스팅
퍼블릭 클라우드와 프라이빗 클라우드의 결합으로 퍼블릭 클라우드의 장점을 유지하면서 프라이빗 클라우드 수준의 보안 기능을 유지
앞서 설명했던 SaaS 외에도 클라우드 컴퓨팅에는 제공범위와 관리 수준에 따라 여러 유형이 존재합니다. 인프라 범위에서 서비스를 제공하는 IaaS, 플랫폼 범위에서 서비스를 제공하는 PaaS, 소프트웨어 범위에서 서비스를 제공하는 SaaS가 있습니다.
IaaS는 Infrastructure as a Service의 약자로 기존에 사용하던 방식인 온프레미스와 가장 유사한 방식입니다. 그렇기 때문에 사용되는 리소스들에 대해서 가장 많은 제어권을 가지고 있습니다. 필요에 따라 세팅할 수 있는 자율성이 높지만, O/S나 Runtime 관리 등 인프라 유지보수에 관한 책임도 가장 높습니다.
PaaS는 Platform as a Service의 약자로 기업이 인프라에 관련된 관리 리소스를 줄이고 필요에 따라, 제공되는 하드웨어나 소프트웨어 상품을 사용할 수 있도록 하는 컴퓨팅 유형입니다. PaaS를 이용하는 기업들은 인프라 관리에 소모될 수 있는 비용과 시간을 자신들의 핵심 기술 개발에 집중 시킬 수 있습니다.
SaaS는 Software as a Service의 약자로 인프라 관리뿐만 아니라, 소프트웨어 자체의 관리까지 신경 쓸 필요 없이 바로 사용할 수 있는 수준으로 서비스를 제공합니다. 그래서 SaaS 솔루션은 대부분 최종 사용자 애플리케이션인 경우가 많습니다.
결론적으로 클라우드 컴퓨팅 유형에 따라서 관리의 용이성과 필요에 따른 자율성 차이가 있지만, 3가지 유형 모두 기존의 온프레미스 방식에 비하면 인프라 유지 관리에 소모되는 인력과 비용을 줄일 수 있다는 것이 특징입니다. 이러한 특징을 더 자세히 살펴보면서 클라우드 컴퓨팅이 가져다주는 효과에 대해서 알아보겠습니다.
모든 기업은 비즈니스에 사용되는 비용이 절감되기를 원하고, 클라우드 컴퓨팅은 사용한 만큼만 비용을 지불하는 형태로 해당 목적을 달성하는 데 도움을 주고 있습니다. 클라우드 컴퓨팅이 제공하는 비용 절감 효과의 키워드는 민첩성과 탄력성입니다.
직접 물리적 인프라를 구축할 때는 얼마만큼의 성능을 가진 인프라를 구축해야 하는지 예측해야 합니다. 많은 사용자를 감당하기 위해서는 고성능의 장비를 사용하거나 다수의 인프라 설비를 구매해와서 설치를 진행해야 하죠. 온프레미스 데이터 센터의 크기 역시 예측이 필요한 영역입니다. 필요 이상의 부지와 건물을 확보하면 초기 비용과 유지 비용이 크게 낭비되기 때문입니다. 그러나 내가 제공하는 서비스를 얼마나 많은 사용자가 사용하게 될지 예측하는 것은 쉽지 않은 일입니다. 또한 재해로 인해 문제가 생겼을 때 즉각적으로 다시 정상적인 서비스를 제공하기 위한 인프라를 구축하는 것도 쉽지 않습니다. 이 모든 문제는 비용의 문제로도 이어집니다. 식당 운영으로 예시를 들어보겠습니다.
처음에 식당을 열면서 일반적으로 50~80명의 고객이 찾아올 것으로 예상하고, 조금 더 여유 있게 100명의 사람이 찾아와도 감당할 수 있도록 식사 공간과 주방 설비를 마련했습니다. 영업을 시작했더니 예측대로 50~80명의 고객이 방문해왔고 식사를 제공하는 데 문제가 없었습니다. 식당도 고객도 행복했습니다.
고객들이 서비스를 잘 이용할 수 있는 환경이 지속되자 방문하는 고객들이 급증했습니다. 사용자가 많아지는 것은 좋은 일이었지만, 그 모든 고객을 감당할 수 있는 공간과 설비(인프라)가 부족했습니다. 결국 정상적인 서비스를 제공하지 못하는 문제가 발생했고, 고객들의 불만은 점점 커졌습니다.
식당에서는 큰 결심을 합니다. 더 많은 고객을 감당하면서도 서비스 제공에 문제가 없도록 공간과 설비를 3배 확장하기로 한 것입니다. 100명밖에 수용할 수 없어서 돌려보내고 있는 고객들을 모두 감당할 수 있으면 매출 역시 지금의 몇 배로 성장할 수 있다고 판단했기 때문입니다. 그래서 다시 큰 식당을 만들 수 있는 공간을 확보하고, 수많은 주방 설비들을 구매하고 설치하면서 몇 개월의 시간이 지났습니다.
그러나 이미 환경은 크게 변화했습니다. 급격하게 고객이 늘었던 것은 단기적인 현상이었고, 다시 처음의 예측처럼 50~80명의 고객이 방문하고 있었습니다. 3배로 확장했던 공간과 설비의 유지 비용은 부담되는 지출로 이어졌고, 다시 설비를 축소하는 것에도 큰 비용과 시간이 소모될 것으로 예측되었습니다. 결국 식당을 닫을 수밖에 없게 됩니다.
앞서 설명해 드린 식당 예시는 마치 온프레미스 환경에서 인프라를 구축하는 것과 같습니다. 환경변화에 민첩하게 반응하기 힘들었고, 탄력적으로 인프라 규모를 늘리거나 줄이는 것이 힘들었습니다. 클라우드 환경에서 인프라를 구축했다면, 아주 짧은 시간 내에 필요한 만큼 인프라를 확장하고, 줄이면서 서비스의 안정성을 제공하면서 비용도 효율적으로 관리할 수 있었을 것입니다. 식당에 사람이 많이 찾아올 때는 즉시 공간을 확보하고 설비를 증가시켰다가, 찾아오는 사람이 줄어들 때는 공간과 설비를 줄이면서 비용 절감의 효과를 내는 것과 같습니다.
이러한 민첩성과 탄력성, 그에 따른 비용 절감 효과는 거의 모든 산업군의 기업들이 필요로 합니다. 클라우드 컴퓨팅 사례도 다양한데요. 데이터 백업과 재해복구와 같은 민첩한 대응을 해야 하는 행동부터, 전 세계에 흩어져 있는 직원들이 하나의 오피스에서 일하는 것처럼 연결해줄 수 있는 가상 데스크톱의 활용, 애플리케이션을 개발, 유지, 관리하면서 전세계 사용자들에게 빠르게 서비스를 제공하는 것까지, 수많은 클라우드 컴퓨팅 사례를 주변에서 보실 수 있습니다.
글 이정훈 Educational Software Engineer (DevOps)
편집 조주연 Content Manager
💻️ 클라우드 엔지니어 커리어의 시작,
DevOps 부트캠프가 더 궁금하다면?
목록 보기
추천글