CLOUD와 IaaS/PaaS/SaaS

CLOUD란

  • 클라우드 컴퓨팅(영어: cloud computing)은 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것을 말한다.
    • 프로비저닝 - 사용자의 요구에 맞게 시스템 자체를 제공 하는 것
    • 장점
      • 신속하고 유연한 인프라 관리
      • 예상치 못한 트래픽 폭주 대응 → 클라우드 오토 스케일링 기술
      • 합리적 요금제
    • 단점
      • 비싼 요금제
      • 클라우드 의존도 → 클라우드 관련 인력이 필요함
      • 데이터 보관의 불안함
  • 서비스 모델에 따라 IaaS, PaaS, SaaS, 최근에는 서비스형 모바일 벡엔드(MBaaS)

프로비저닝 (Provisioning)

  • 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다.
  • 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있다.
  • 수동으로 처리하는 '수동 프로비저닝'과 자동화 툴을 이용해 처리하는 '자동 프로비저닝'이 있다.
  • 종류
    - 서버 자원 프로비저닝
    - 서버의 CPU, 메모리 등의 자원을 할당 또는 적절하게 배치하여 운영이 가능하도록 준비하는 것
    - OS 프로비저닝
    - OS를 서버에 설치하고 구성 작업을 해서 OS가 동작 가능하도록 준비해두는 것
    - 소프트웨어 프로비저닝
    - 소프트웨어(WAS, DBMS, 애플리케이션 등)을 시스템에 설치 배포하고 필요한 구성 셋팅 작업을 해서 실행 가능하도록 준비하는 것
    - 스토리지 프로비저닝
    - 낭비되거나 사용되지 않는 스토리지를 식별하고 공통 풀에서 옮긴 후 스토리지에 대한 요구가 접수 되면 관리자는 공통 풀에서 스토리지를 꺼내 사용 효율성을 높일 수 있는 인프라 구축 가능하도록 하는걸 스토리지 프로비저닝이라고 합니다.
    - 계정 프로비저닝
    - HR담당자와 IT관리자는 승인절차 밟은 후 e-mail ,그룹웨어 ,ERP등 다양한 어플리케이션에 필요한계정을 생성하거나 접근권한을 변경해주데, 이러한 일련의 과정을 계정 프로바이저닝

IaaS, PaaS, SaaS

  • 클라우드 컴퓨팅이 도입되면서 생긴 용어로 클라우드 이전에는 모두 사용자가 관리해야 했지만, 이제는 일정 부분을 클라우드에서 내려받는 형태가 많이 도입

  • 사용자가 관리하고 얼마만큼 클라우드에서 제공하냐 따라 3가지로 나누어짐

  • IaaS (Infrastructure as a Service)

    • 고객에게 서버, 네트워크, 스토리지를 가상화하여 제공

    • 일반적으로 일부의 OS가 지원 (리눅스나 윈도우)

    • 고객은 OS와 애플리케이션을 직접 관리

    • 아마존과 같은 AWS의 EC2의 VM을 제공 등

    • 장점

      • 고객은 가상 서버 하위의 레벨에 대해서는 고려할 필요 없음
      • 자유롭게 설정 가능
    • 단점

      • 가상 서버 하위의 레벨에 대해서는 전혀 고객이 접근하거나 컨트롤 할 수 없음
      • 가상 서버 하위의 레벨에 대해서 고려할 필요가 없는 사용자가 쓰기에 적합한 모델
    • 예시

      • AWS의 EC2

        • 물리적인 서버, 네트워크, 스토리지 등을 제공
        • OS 선택권을 고객에게 주고 고객이 설정하여 사용
        • Mosquitto등을 설치하여 MQTT등의 애플리케이션 사용 가능
      • 네이버 클라우드 - Server

        NAVER CLOUD PLATFORM

  • 결론으로 IaaS는 클라우드 환경에서 가상머신 Vmware (일부 운영체제)제공해주는 서비스

  • PaaS (Platform as a Service)

    • 개발자가 응용 프로그램을 작성할 수 있도록 플랫폼 및 환경을 제공하는 모델

    • 사용자는 애플리케이션 자체에만 집중 가능하여 빠르게 애플리케이션을 개발하고 서비스 배포 가능

    • node.js나 자바와 같은 런타임을 미리 깔아놓은 클라우드 서비스를 제공

    • MySQL이 설치되어 있는 클라우드 서비스 등

    • 장점

      • 이미 설치된 미들웨어 위에 코드만 돌리기 때문에 관리 편리
    • 단점

      • 애플리케이션이 플랫폼에 종속되어 개발
    • 예시

       [NAVER CLOUD PLATFORM](https://www.ncloud.com/product/database/mssql)

- 결론으로 PaaS는 클라우드 환경에서 개발 플랫폼(JVM, MySQL, NodeJS)이 설치된 서비스를 제공해주는 서비스

  • SaaS (Software as a Service)

    • 클라우드를 통해 제공되는 SW 서비스

    • 장점

      • 사용자는 웹만 접속하면 되기 때문에 사용하기 매우 쉽고, 최신 SW 업데이트를 빠르게 제공
    • 단점

      • 반드시 인터넷에 접속할 있어야 함
      • 외부의 데이터 노출 위험
    • 예시

문제

  1. 리눅스가 설치된 OS를 받은 클라우드 서비스를 이용하여 개인적으로 자바와 MySQL 등과 같은 서비스를 설치하여 개인 프로젝트를 실행하였다.
    • 이에 대한 클라우드 서비스 IaaS/PaaS/SaaS 중 어떤 것일까?
  2. Kafka와 MySQL이 설치되어 있는 클라우드 서비스를 이용하여 스프링 프레임워크를 설치하여 연동하였다.
    • 이에 대한 클라우드 서비스 IaaS/PaaS/SaaS 중 어떤 것일까?
  3. 웹으로 된 MS Office 365를 설치를 하고 서비스를 이용하였다. 또한 데이터는 구글 클라우드나, 네이버 Mybox에 넣어 이용하려고 한다.
    • 이에 대한 클라우드 서비스 IaaS/PaaS/SaaS 중 어떤 것일까?
  • 정답 : IaaS/PaaS/SaaS

NAS와 CLOUD 차이

  • NAS (Network Attached Storage)
    - 파일 수준 스토리지 아키텍처로 네트워크에 연결된 장치에서 더 쉽게 접근할 수 있게 해준다.
    - 결론으로 얘기하면 공통점은 둘 다 인터넷을 통해 저장된 공간이나 스토리지를 사용할 수 있지만 서비스 주체가 누구에 따른 차이
    - 개인이 이용할 경우에는 NAS를 기업이나 회사가 이용할 경우에는 안정된 서비스를 제공하는 "CLOUD"를 이용
    - 현재 추세는 여러 서비스를 제공 받을수 있는 "CLOUD 서비스를 이용하는 것이 추세"

느낀 점

  • 클라우드 용어에서 빈번하게 사용되었던 용어인 "프로비저닝, IaaS/PaaS/SaaS등을 정리하여 익힘
  • AWS에서 MySQL을 설치하면서 이 부분은 3부분 중 어디 부분일까라는 의문점을 해결
  • IaaS를 공부하면서 나왔던 용어인 "오픈스택"의 경우도 용어정리가 필요
  • 클라우드를 공부하면서 앞으로의 클라우드는 선택이 아니라 필수라고 느낌

REF

좋은 웹페이지 즐겨찾기