ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [IT 면접대비] 클라우드 서비스 - 개념, 분류
    IT 상식/CS기초상식 2023. 4. 24. 22:24

    클라우드 컴퓨팅이란

    클라우드 컴퓨팅은 사용자의 직접적인 관리 없이  IT 리소스를 필요시 바로 제공(on-demand availability) 하는 것.

    클라우드 컴퓨팅은 클라우드 서비스 구축에 기반이 되는 기술. 

     

    서비스 제공 형태

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

     

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

    특정 기업이나 사용자를 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델. 클라우드 서비스 제공자(CSP)가 하드웨어, 소프트웨어를 관리함. 모든 리소스는 다른 사용자와 공유됨. 각 서비스는 사용자 별로 관리가 되기 때문에 서비스 사용자 간에는 전혀 간섭이 없음.

    예시로는 Amazone EC2, Windows Azure, Microsoft Dynamics Online, Office365, Google App Engine

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

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

    예시로는 VMWare vSphere, OpenStack, Microsoft Azure Stack

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

    하이브리드 클라우드는 퍼블릭 클라우드와 프라이빗 클라우드를 병행해 사용하는 방식으로 여겨져 왔으나, 최근에는 개념이 모호해져 클라우드(가상서버)와 *온프레미스(물리서버)를 결합한 형태를 말하기도 함. 이럴 경우 퍼블릭 클라우드의 유연성, 경제성, 신속성과 물리 서버의 보안성, 안정성 등을 함께 취할 수 있는 장점이 있음.

    최근 전체 워크로드를 클라우드(가상서버)로 이전하기 보다 주요 데이터는 *온프레미스(물리서버)에 남겨 두고 이벤트 또는 신규 서비스처럼 트래픽을 예측할 수 없는 워크로드는 클라우드로 이용하는 구성이 증가함.

    *온프레미스(On-Premise) : 직접 서버를 구축하고 직접 운영을 하던 기존 방식으로서 이는 사용자가 직접 관리 및 운영을 함

    서비스 유형

    CSP(CloudServiceProvider)가 무엇을 제공하고 사용자의 관리 범위에 따라 4가지 모델로 나누어 질 수 있음.

    • IaaS(Infrasture as a Service) '서비스로서의 인프라'

    인프라 수준의 클라우드 컴퓨팅을 제공해 사용자가 서버 OS부터 미들웨어, 런타임, 그리고 데이터와 어플리케이션까지 직접 구성하고 관리할 수 있음.

    IT 서비스를 제공하기 위한 주요 인프라 자원(cpu, 메모리, 디스크, network,,)을 공유 자원 형태로 관리하고 이를 나눠서 제공하는 형태의 서비스.

    "Computing on Demand"와 "Storage on Demand" 가능하게 함.

    사용자의 컴퓨팅 태스크를 수행할 수 있는 VirtualMachine 제공.

     

    AWS, Microsoft Azure, Google Cloud와 같은 퍼블릭 클라우드 공급업체(CSP)가 IaaS의 예시.

     

    장점:

    1) 필요에 따라 빠르게 확장 가능

    2) 다양한 사용자가 하나의 물리서버를 이용하기 때문에 물리서버의 유지보수 비용을 덜 수 있음.

    3) 서버가 다운되었을 때, 다른 서버로 즉시 이전되어 다운타임을 줄일 수 있음.

     

    단점:

    1) 서비스 제공자와 소비자 사이의 역할이 나눠져있음. 운영체제, 미들웨어 단계에서의 보안, 유지 등은 소비자의 몫.

    2) 퍼블릭 IaaS의 경우, 벤더사의 정전과 같은 문제가 발생한다면 사용자는 데이터에 접근할 수 없음. 의존성이 높아짐.

    3) 프라이빗 IaaS를 사용하고 있는 비즈니스는 전체 IaaS의 인프라와 유지 보수를 하기 위한 팀을 운영하거나 훈련을 시킬 필요가 있음.

     

    • PaaS(Platform as a Service) '서비스로서의 플랫폼'

    애플리케이션을 개발, 실행, 테스트, 관리 등을 할 수 있도록 서비스를 제공해줌. 기존에는 이것들을 하기위한 플랫폼을 구축했어야 했다면 PaaS를 사용함으로써 개발자들은 Infra 영역의 수고를 덜어 오직 개발에만 집중할 수가 있음.

    PaaS는 운영체제, *미들웨어, *런타임 등을 미리 구축한 상태로 제공하기 때문에 IaaS보다 관리상의 자유도가 낮음. 하지만 PaaS 사용자는 서비스 외적인 부분에 신경 쓸 필요가 없고, 오로지 애플리케이션 개발과 비즈니스에만 집중할 수 있음.

     

    대표적인 PaaS로는 세일즈포스닷컴의 Heroku나 Redhat의 Openshift 등

     

    *미들웨어: PaaS 서비스에서는 대표적으로 웹 서버(apache, nginx), dbms(mysql, mongoDB), 메시징 시스템(Kafka, RabbitMQ) 등이 제공됨. 이를 통해 개발자는 미들웨어의 설치 및 설정 작업 없이 쉽게 웹 서버나 데이터베이스와 같은 인프라를 활용할 수 있음.

    *런타임: PaaS 서비스에서는 java, python, node.js와 같은 다양한 프로그래밍 언어의 런타임 환경이 제공됨. 개발자는 자신이 개발한 애플리케이션을 이러한 런타임 환경에 배포하여 실행할 수 있음. 예를 들어 java 애플리케이션을 실행하기 위해 tomcat, jboos, weblogic과 같은 java ee 컨테이너가 제공됨.

     

    장점

    1) 개발자들이 백그라운드 IT 인프라에 신경을 덜 쓰고, 개발에 신경을 쓸 수 있음.

    2) 애플리케이션 개발에 필요한 미들웨어와 하드웨어가 벤더에 의해 설치되고 업데이트 되기 때문에, 서버를 관리하고 업데이트를 해줄 인력을 사용하지 않아도 됨.

     

    단점

    1) PaaS 서비스 벤더의 기능과 성능, 스피드에 의존성을 가질 수 있음.

    2) 비즈니스의 필요에 따라 서비스를 확장하거나 축소할 때 IaaS보다 유연하지 못함.

     

    • SaaS(Software as a Service)

    모든 서비스를 공급업체가 제공하며 관리해줌. 이는 즉, 어느 기능/서비스를 제공하는 하나의 프로그램으로 보면 됨.

    가장 완성된 형태의 클라우드 서비스로, 소프트웨어를 가상화함.

    SaaS에서의 data 영역은 SaaS 서비스가 사용하는 데이터베이스와 관련된 영역으로 Salesforce가 제공하는 CRM(고객 관리 시스템) 을 예시로 들수 있음.

     

    대표적인 SaaS로 슬랙, 마이크로소프트 365, Google Docs, Google Sheets 등이 있음.

     

    장점

    1) 별도의 설치나 다운로드 없이 인터넷만 있다면 서비스를 이용할 수 있음

    2) 중앙에서 업그레이드와 유지, 보수를 하기 때문에 소비자는 비용 부담을 덜 수 있음

     

    단점

    1) 인터넷이 없다면 이용 불가능

    2) 특정 벤더의 의존성이 높아질 수 있음

     

    예시문항
    Q. 클라우드 컴퓨팅을 분류해보라. (이용목적, 서비스제공형태 등으로 나누어)
    Q. IaaS, PaaS, SaaS의 개념과 장단점.
    Q. PaaS 플랫폼 구축 아키텍처.

    댓글

Designed by Tistory.