[CS 지식] 클라우드 컴퓨터

신현식·2022년 11월 11일
0

CS 지식

목록 보기
9/17

클라우드 컴퓨팅


클라우드 컴퓨팅이란, 컴퓨터를 활용하는 작업(자료 처리, 저장, 전송, 감상 등)에 필요한 다양한 요소들을 인터넷 상의 서비스를 통해 다양한 종류의 컴퓨터 단말 장치(휴대폰, TV, 노트북, PC 등이 모두 해당)로 제공하는 것을 말한다. 컴퓨터를 활용하자면, 컴퓨터를 구성하는 요소 자체가 필요하다. 소프트웨어(응용 프로그램), 데이터 파일, 운영체제, CPU, 메모리, 디스크 스토리지, 네트워크 등을 의미한다.
이러한 모든 요소들을 자기 컴퓨터에 설치하지 않고 인터넷 상의 어딘가에 두어, 전화기나 TV, 컴퓨터나 스마트폰으로 접근해서 활용하면, 필요한 모든 것들을 사서 꾸미지 않아도 원하는 컴퓨터 작업을 언제 어디서든 할 수 있을 것인데 이것이 바로 클라우드 컴퓨팅이다.

예를 들면, 내 컴퓨터의 하드 디스크가 모자라니까 인터넷에 연결된 어떤 컴퓨터의 디스크를 빌려서 거기에 자료를 저장한다거나, 내 컴퓨터에 설치되지 않은 통계 프로그램을 필요할 때만 인터넷을 통해 받아와 통계처리를 한다거나, 심지어는 컴퓨터 없이 TV로 통계프로그램이 설치된 컴퓨터에 접속해 원하는 통계 작업을 하는 것(서비스) 등이 예시이다.

📌서비스 제공 형태

  • 클라우드 컴퓨팅은 서비스 제공 형태에 따라 퍼블릭 클라우드, 프라이빗 클라우드, 하이브리드 클라우드로 구분이 된다.

    💡 퍼블릭 클라우드(Public Cloud, 공공 클라우드, 개방형 클라우드)

    • 특정 기업이나 사용자를 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델이다. 클라우드 서비스 제공자(CSP)가 하드웨어, 소프트웨어를 관리한다. 데이터나 기능, 서버 같은 자원은 각 서비스에서 사용자 별로 권한 관리가 되거나 격리되어, 서비스 사용자 간에는 전혀 간섭이 없다는 장점이 있다.
      간혹, 공공기관이 도입하는 공공 클라우드와 퍼블릭 클라우드의 공공 클라우드를 혼동하는 케이스가 있는데 공공기관이 도입하는 공공 클라우드는 Government Cloud, 공용 인터넷망에 연결된 공공 클라우드는 Public Cloud이다.

    💡 프라이빗 클라우드(Private Cloud, 사설 클라우드, 폐쇄 클라우드)

    • 제한된 네트워크 상에서 특정 기업이나 특정 사용자만을 대상으로 하는 클라우드로 서비스의 자원과 데이터는 기업 내부에 저장된다. 또한 기업이 자원의 제어권을 갖고 있다. 따라서 보안성이 매우 뛰어나며, 개별 고객의 상황에 맞게 클라우드 기능을 커스터마이징 할 수 있다는 장점이 있다.

    💡 하이브리드 클라우드(Hybrid Cloud)

    • 하이브리드 클라우드는 퍼블릭 클라우드와 프라이빗 클라우드를 병행해 사용하는 방식으로 여겨져 왔으나, 최근에는 개념이 모호해진 경향이 있어 클라우드(가상서버)와 온프레미스(물리서버)를 결합한 형태를 말하기도 한다. 이럴 경우 퍼블릭 클라우드의 유연성, 경제성, 신속성과 물리 서버의 보안성, 안정성 등을 함께 취할 수 있는 장점이 있다. 최근 클라우드를 도입하려는 움직임이 늘면서, 전체 워크로드를 클라우드(가상서버)로 이전하기 보다 주요 데이터는 온프레미스(물리서버)에 남겨 두고 이벤트 또는 신규 서비스처럼 트래픽을 예측할 수 없는 워크로드는 클라우드로 이용하는 구성이 증가하는 추세이다.

📌 서비스 유형

  • 서비스 관리 주체와 수준에 따라 클라우드 서비스를 IaaS, PaaS, SaaS로 구분할 수 있다.

    💡 IaaS(Infrasture as a Service)

    • ‘서비스로서의 인프라’를 뜻하는 IaaS는 사용자가 관리할 수 있는 범위가 가장 넓은 클라우드 컴퓨팅 서비스이다. 인프라 수준의 클라우드 컴퓨팅을 제공해 사용자가 서버 OS부터 미들웨어, 런타임, 그리고 데이터와 어플리케이션까지 직접 구성하고 관리할 수 있다. 클라우드 서비스 제공업체(CSP, Cloud Service Provider)는 데이터센터를 구축해 다수의 물리 서버를 가상화해 제공하며, 네트워크, 스토리지, 전력 등 서버 운영에 필요한 모든 것을 CSP가 책임지고 관리한다.
      대표적인 IaaS: Amazon Web Service(AWS)의 EC2와 Google의 Compute Engine(GCE), 그리고 가비아의 g클라우드 등

    💡 PaaS(Platform as a Service)

    • PaaS는 ‘서비스로서의 플랫폼’이라는 의미를 담고 있다. PaaS는 IaaS 형태의 가상화된 클라우드 위에 사용자가 원하는 서비스를 개발할 수 있도록 개발 환경(Platform)을 미리 구축해, 이를 서비스 형태로 제공하는 것을 의미한다.
      PaaS는 운영체제, 미들웨어, 런타임 등을 미리 구축한 상태로 제공하기 때문에 IaaS보다 관리상의 자유도가 낮다. 하지만 PaaS 사용자는 서비스 외적인 부분에 신경 쓸 필요가 없고, 오로지 애플리케이션 개발과 비즈니스에만 집중할 수 있으며, IaaS와 마찬가지로 별도의 인프라를 유지하고 운영하는 데 별도의 인력이 소요되지 않기에 하드웨어 및 소프트웨어 인프라 관리에 드는 비용을 절약할 수 있다.
      대표적인 PaaS: 세일즈포스닷컴의 Heroku나 Redhat(레드햇)의 OpenShift 등

    💡 SaaS(Software as a Service)

    • ‘서비스로서의 소프트웨어’를 의미하는 SaaS는 클라우드 서비스 형태 중 가장 완성된 형태의 클라우드 서비스이다. 클라우드 인프라 위에 소프트웨어를 탑재해 제공하는 형태로 IT 인프라 자원뿐만 아니라 소프트웨어 및 업데이트, 버그 개선 등의 서비스를 업체가 도맡아 제공한다.
      별도의 비용을 들여 소프트웨어 라이센스를 구매할 필요 없이 월간/연간 구독 형태의 사용료를 지불하고 제공 업체의 소프트웨어를 이용하게 된다. SaaS를 이용할 경우 사용자는 인프라 구축, 개발 환경 세팅 및 소프트웨어 개발에 소요되는 비용을 절약할 수 있기 때문에 자체적으로 소프트웨어를 개발하는 것 대비 초기 비용을 대폭 줄일 수 있다.
      대표적인 SaaS: ‘슬랙(Slack)’, ‘마이크로소프트365(Microsoft 356)’, ‘드롭박스(Dropbox)’ 그리고 ‘세일즈포스(Salesforce)’ 등
profile
전공 소개

0개의 댓글