로그인 / 등록 Account

클라우드 컴퓨팅

클라우드 서비스(Cloud Service)란 - 개념, 종류, 비교 및 추천

클라우드 서비스란 타사 제공업체가 호스팅하여 인터넷을 통해 사용자에게 제공하는 인프라, 플랫폼 또는 소프트웨어를 말합니다. 클라우드 서비스는 프론트엔드 클라이언트(예: 사용자의 서버, 태블릿, 데스크톱, 노트북 등 사용자의 모든 하드웨어)의 사용자 데이터 흐름을 원활하게 해줍니다. 사용자가 클라우드 서비스에 액세스하려면 컴퓨터, 운영체제 및 인터넷에 연결된 네트워크만 있으면 됩니다.

추가로 소프트웨어를 다운로드하지 않고도 인터넷을 통해 사용자가 액세스하는 모든 인프라, 플랫폼, 소프트웨어 또는 기술은 클라우드 서비스라고 볼 수 있으며 다음의 서비스형(as-a-Service) 솔루션이 포함됩니다.

서비스로서의 인프라(Infrastructure-as-a-Service, IaaS)

IaaS는 사용자에게 컴퓨팅, 네트워킹 및 스토리지 리소스를 제공합니다.

서비스로서의 플랫폼(Platform-as-a-Service, PaaS)

PaaS는 애플리케이션을 실행할 수 있는 플랫폼과 플랫폼 실행에 필요한 IT 인프라를 제공합니다.

서비스로서의 소프트웨어(Software-as-a-Service, SaaS)

SaaS는 완벽히 작동하는 애플리케이션과 해당 애플리케이션을 실행하는 플랫폼, 플랫폼의 기반 인프라를 제공합니다.

서비스로서의 기능(Function-as-a-Service, FaaS)

FaaS는 이벤트 기반 실행 모델로서, 개발자가 인프라를 유지관리하지 않고도 애플리케이션 및 기능을 구축, 실행 및 관리할 수 있도록 지원합니다.

사용자에 따라 클라우드는 클라우드 서비스로 생각될 수도 있습니다. 클라우드는 네트워크 전체에서 확장 가능한 리소스를 추상화, 풀링 및 공유하는 IT 환경입니다. 클라우드는 클라우드 환경 내에서 워크로드를 실행하는 동작인 클라우드 컴퓨팅을 지원합니다. 클라우드는 일종의 PaaS인 셈인데, 사용자가 아닌 사람이 웹 기반 플랫폼이 제공되는 기반 인프라를 공급하기 때문입니다.

프라이빗 클라우드

대략적으로 정의하자면 최종 사용자 전용 클라우드 환경으로, 대개는 사용자의 방화벽 내에 있으며 가끔 온프레미스에 있기도 합니다.

퍼블릭 클라우드

최종 사용자가 소유하지 않은 리소스에서 생성되어 다른 테넌트에 재배포될 수 있는 클라우드 환경입니다.

하이브리드 클라우드

어느 정도의 워크로드 이식성, 오케스트레이션 및 관리 기능을 갖춘 멀티플 클라우드 환경입니다.

멀티클라우드

네트워크 연결에 상관없이 2개 이상의 클라우드(퍼블릭 또는 프라이빗)를 포함한 IT 시스템입니다.

클라우드 서비스 작동 방식

다른 모든 IT 솔루션과 마찬가지로 클라우드 서비스는 하드웨어 및 소프트웨어를 기반으로 합니다. 그러나 전통적인 하드웨어 및 소프트웨어 솔루션과는 달리, 컴퓨터, 네트워크 연결, 클라우드 서비스에 액세스하기 위한 운영 체제 등만 있으면 클라우드 서비스를 사용할 수 있습니다.

클라우드 인프라

사용자에게 클라우드 인프라를 제공하는 경우, 클라우드 서비스 제공업체는 하드웨어 구성 요소에서 다음과 같이 컴퓨팅 기능을 분리합니다.

  • 중앙 처리 장치(Central Processing Unit, CPU)에서 처리 기능 분리
  • RAM(Random Access Memory) 칩에서 활성 메모리 분리
  • 그래픽 처리 장치(Graphics Processing Unit, GPU)에서 그래픽 처리 분리
  • 디스크 드라이브 또는 플래시 드라이브에서 데이터 스토리지 가용성 분리

이 같은 추상화는 보통 가상화를 통해 실현됩니다. 일단 분리되면 스토리지, 컴퓨팅 및 네트워킹 구성 요소가 인터넷을 통해 사용자에게 인프라 또는 IaaS로 제공됩니다. 이런 종류의 클라우드 서비스는 사물 인터넷(IoT)의 일부로서 빅데이터를 저장하는 클라우드 스토리지의 부상으로 이어졌습니다. RackSpace는 IaaS 제공업체의 좋은 예입니다.

클라우드 플랫폼

클라우드 서비스 제공업체는 또한 하드웨어 리소스를 사용해 클라우드 플랫폼을 구축할 수 있는데, 이런 플랫폼은 사용자가 코드를 개발하거나 애플리케이션을 실행할 수 있는 온라인 환경입니다. 클라우드 플랫폼을 구축하려면 클라우드 인프라를 제공할 때와 같이, 단순히 하드웨어 구성 요소에서 컴퓨터의 기능을 추상화하는 것 이상의 작업이 필요합니다. 클라우드 플랫폼을 제공하려면 컨테이너, 오케스트레이션, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라우팅, 보안, 관리자동화와 같은 기술을 통합하는 추가적인 개발 방식이 필요합니다. 사용자 환경(User Experience, UX) 설계 또한 탐색 가능한 온라인 환경을 구축하기 위해 고려해야 할 중요한 사항입니다.

클라우드 플랫폼은 일종의 PaaS이므로 PaaS를 지원하는 인프라 구성 요소가 고도의 확장성을 갖추고 공유 가능한 경우라면, 클라우드라고 생각될 수 있습니다. PaaS 클라우드의 가장 좋은 예로는 퍼블릭 클라우드와 관리형 프라이빗 클라우드가 있습니다.

퍼블릭 클라우드 제공업체

퍼블릭 클라우드 제공업체들은 자체 보유 하드웨어에서 인프라, 플랫폼 또는 애플리케이션을 추상화하고 이를 데이터 레이크로 풀링하여 인터넷 전반에 분산된 다양한 테넌트와 이를 공유합니다. 가장 대중적인 퍼블릭 클라우드로는 Alibaba Cloud, Microsoft Azure, Google Cloud, Amazon Web Services(AWS)IBM Cloud를 들 수 있습니다.

관리형 프라이빗 클라우드

관리형 클라우드 제공업체라고도 하는 프라이빗 클라우드 공급업체는 고객 이외의 기업이 배포, 설정, 관리하는 프라이빗 클라우드를 고객에게 제공합니다. IT팀의 인력이나 기술이 부족한 경우 보다 나은 프라이빗 클라우드 서비스와 인프라를 사용자에게 제공할 수 있게 지원하는 클라우드 제공 옵션입니다.

클라우드 소프트웨어

마지막으로 널리 사용되는 서비스 제공업체 제공 클라우드 서비스로는 클라우드 소프트웨어, 즉 SaaS로 알려진 정식 버전의 애플리케이션이 있습니다. 이를 위해서는 상당한 개발 투자가 이루어져야 하는데, 클라우드 제공업체는 말 그대로 온라인 애플리케이션을 고객에게 제공하기 때문입니다.

온라인 애플리케이션, 모바일 애플리케이션 및 SaaS 제품 개발에 가장 널리 사용되는 프로그래밍 언어 중 하나는 바로 HTML5(Hyper Text Markup Language 5)입니다. 이 프로그래밍 언어는 브라우저 기반의 인터랙티브 애플리케이션을 개발하기 위한 3가지 프로그래밍 언어를 통합합니다.

  • HTML: 웹 페이지에 콘텐츠를 추가합니다.
  • CSS(Cascading Style Sheet): 웹 페이지 콘텐츠에 프레젠테이션 요소를 추가합니다.
  • JavaScript: 웹 페이지 콘텐츠에 인터랙티브 요소를 추가합니다.

왜 Red Hat일까요?

Red Hat은 서비스형(as-a-Service) 서브스크립션(클라우드 서비스 제공업체에서 거의 제공하지 않는 혜택)의 일부로 소스 코드 액세스 권한을 제공할 뿐만 아니라, 제공 가능한 거의 모든 클라우드 솔루션의 기반이 되는 오픈소스 제품군을 보유하고 있기 때문입니다.