클라우드를 간단하게 정의하자면...
클라우드란 인터넷을 통해 컴퓨팅 자원을 제공할 수 있도록 구성되어 있는 IT 환경을 의미합니다.
이러한 환경을 클라우드 서비스를 통해 인터넷으로 제공되어, 사용자가 자신의 컴퓨터나 모바일 기기에서 언제 어디서나 컴퓨팅 자원을 사용할 수 있도록 해줍니다.
즉, 인프라와 서버를 구성하는 데에 필요한 네트워크, 스토리지 등을 인터넷을 통해 클라우드 컴퓨팅 기술을 기반으로 다른 사용자와 나눠 쓰는 것이라고 볼 수 있습니다.
흔히 우리가 아는 AWS, Azure, Google Cloud 와 같은 네트워크 서비스 제공업체(cloud provider)가 이런 컴퓨팅 자원들을 관리해주고, 보안이나 관리 서비스 등을 제공하는 역할을 하고 있습니다.
클라우드를 사용하기 전에는 어떤 방식으로 인프라가 운영되고 있었을까요?
바로 클라우드와 반대되는 개념인 On-premise(온프레미스) 방식입니다.
온프레미스 방식은 컴퓨팅 자원을 회사 또는 사용자가 물리적으로 직접 설치하여 운영하는 방식입니다.
만약 내가 웹 서버를 하나 만들고싶다면 이를 위해 물리적인 서버, 네트워크, 스토리지 등등을 직접 구매하고 마련해야하죠.
직접 구축하고 관리해야하기 때문에 난이도도 높고, 초기 구축 비용도 많이 들어가기 때문에 주로 대규모 기업에서 전문적인 운영 인력을 갖추어 운용하는 경우가 많습니다.
클라우드 서비스는 어떤 단계부터 사용자에게 자원을 나누어주는가에 따라서
클라우드 서비스의 종류를 IaaS, PaaS, SaaS 로 나눌 수 있습니다.
사용자가 어디서부터 신경쓰고 관리해야하는가? 의 영역에 따라서 구분됩니다.
쉽게 풀어쓰면 내가 초기에 클라우드 서비스사로부터 자원을 할당받은 상태를 가정했을 때
서버, 스토리지, 네트워크 등은 이미 서비스사에서 마련해줘서 O/S, Middleware, Runtime 부터 깔고 관리해야하는지 -> IaaS
이미 O/S 등이 설치되어 플랫폼이 마련된 상태여서 애플리케이션의 개발, 실행, 관리 등만 신경쓰면 되는지 -> PaaS
이미 소프트웨어가 인터넷에 올라가있어서 사용자가 직접 소프트웨어를 다운받거나 하지 않고 인터넷을 통해 사용하는지 -> SaaS (office 365처럼 옛날에는 파워포인트나 엑셀 등을 개인 컴퓨터에 설치하고 사용했다면, 지금은 인터넷에 접속해서 파워포인트와 엑셀을 사용하는 것을 상상해봅시다)
그러면 클라우드를 쓰면 어떤 장점이 있을까요?
1. 비용이 절감됩니다.
클라우드 제공업체는 대부분 사용량에 따라 요금을 지불하는 정책을 사용하고 있기 때문에, 필요하지 않은 컴퓨팅 자원이나 스펙을 제외할 수 있습니다.
또한 제공업체는 이미 대규모로 컴퓨팅 자원을 운용하고 있기 때문에 직접 컴퓨팅 자원을 마련하는 비용보다 더 저렴하게 사용할 수 있습니다.
2. 필요에 의해 확장이 가능합니다.
서비스를 만들었는데 점점 사용자가 많아져 추가적으로 컴퓨팅 자원이 필요하다고 하면, 서비스 제공업체를 통해 손쉽게 확장할 수 있습니다.
3. 보안성이 높습니다.
클라우드 서비스 제공업체는 컴퓨팅 자원을 안전하게 보호하기 위한 전문적인 인력을 가지고 있기에 보안 사고나 최신 보안 패치 등을 사용자가 항상 신경쓰지 않아도 괜찮습니다.
4. 관리 면에서 효율적입니다.
컴퓨팅 자원과 인프라에 대해서는 클라우드 서비스 제공업체가 관리하기 때문에 사용자의 관리 포인트가 줄어들어 더 효율적입니다.
다만, 기업이나 사용자가 인프라를 완전히 통제할 수 있어야 하는 경우나 규제 준수 등이 필요한 경우에는
클라우드가 아닌 온프레미스를 선택하는 것이 더 적절할 수 있으니 케이스에 따라 적절하게 고려하여 선택하면 되겠습니다 :)
'클라우드' 카테고리의 다른 글
[쿠버네티스] 쿠버네티스에서 yaml config 파일 작성하는 방법과 pod 만들어보기 (1) | 2023.11.23 |
---|---|
[쿠버네티스] 쿠버네티스의 기본 구성요소 (1) | 2023.11.20 |
개발자를 위한 도커(Docker)의 기본 개념 (2) - 쿠버네티스편 (0) | 2022.09.25 |
개발자를 위한 도커(Docker)의 기본 개념 (1) - 도커편 (2) | 2022.09.25 |