클라우드 컴퓨팅의 개념과 서비스분류

이다연·2021년 6월 1일
0

WEB

목록 보기
2/7

클라우드 컴퓨팅

가상화된 IT자원(서버, 스토리지, 서비스 등)을 서비스로 제공하여 물리적인 장치 없이도, 인터넷을 통해 어디서나 편리하게 접근해서 사용하고 반납할 수 있게 해주는 기술

사용량당 요금을 책정함

e.g. 구글 드라이브의 가상 저장소(USB나 외장하드 역할), 구글 시트(엑셀 프로그램 설치 필요 없음) AWS, Azure

클라우드 서비스 기술

1. 서버 server

클라이언트(브라우저)와 통신하며 서비스를 제공해주는 컴퓨터
우리가 보는 웹페이지의 내용이 서버에서 오는 것
전산실(server room)에는 서버 랙(server rack)이라고 하는 박스에 여러대의 서버가 들어있음

2. 호스팅 서비스

서버를 대여해주는 서비스, 물리적인 컴퓨터 한대를 빌려준다고 생각하면 쉬움
개별 기업이 전산실을 물리적으로 마련하고 보안, 냉방 시설을 갖추는 것보다 대여해서 사용하는 것이 효율적

  • 정확한 수요 예측을 하지 않아도 서버 수를 상황에 맞게 운영할 수 있음, flexible 대처 가능

3. 가상 머신 서비스

가상화(Virtualization) 기술은 물리적으로는 한 대인 컴퓨터 안에 마치 여러 대의 컴퓨터가 작동하고 있는 것처럼 만들어 주는 기술

일반적인 구조는
Hardware는 물리적 컴퓨터, 그 위에 OS 운영체제가 설치되어 있고, 그 위에 응용프로그램 applicatin(엑셀 등 프로그램)이 실행됨

가상화 기술이 적용된 컴퓨터는 ‘하이퍼바이저(Hypervisor)'라는 것이 하드웨어와 운영체제 사이에 존재함
하이퍼바이저로 물리적 컴퓨터 한대로 가상의 컴퓨터 세대를 만들었음.이렇게 만들어진 컴퓨터를 ‘가상 머신(Virtual Machine)’이라고 함. 물리적 부품인 CPU, 메모리, 하드디스크 등을 나누어서 사용함

장점

  1. 컴퓨터 활용율 극대화: 서버 하나를 각각의 독립적인 가상 머신으로 나누어서 사용하면 (CPU, 메모리, 하드디스크 등 장치의)활용율을 높일 수 있음.
  2. 관리 용이성: 용도 별로 분리된 서버로 운영이 가능하기 때문에 관리하기 용이함.
    호스팅 서비스 제공업체와 고객 업체 모두에게 윈윈

서비스 제공을 위해서는 다양한 서버를 구축해야 함
각각 필요한 프로그램 설치와 설정이 다름

웹 페이지 화면을 보여주는 서버(웹 서버)
직원들의 메일함 역할을 하는 서버(메일 서버)
사진이나 동영상 콘텐츠를 저장하는 서버 (파일 서버)
데이터베이스로 각종 데이터를 저장하는 서버 (DB 서버) 

이를 위해 4개의 서버를 빌리는 것보다, 한 대의 서버에 네 개의 가상머신을 만드는 것이 효율적

클라우드 서비스의 5단계

1. Hardware

=물리적인 컴퓨터
가상 머신을 만들려면 최소한 한대 이상의 물리적 컴퓨터가 있어야 함.

  • CPU(중앙처리장치): 계산 작업
  • 하드 디스크: 작업한 내용 저장
  • 랜카드(LAN card)네트워크 통신을 위함

2. Virtualization

하이퍼바이저로 가상머신을 만들어 줌

3. OS

Operating System 운영 체제(윈도우, 리눅스, macOS 등) 프로그램(엑셀, 파워포인트)들이 잘 실행되도록 도와주는 역할

4. Runtime

프로그램이 실행되는 환경
C, C++같은 컴파일 언어로 작성된 프로그램은 OS위에서 바로 실행됨.

Python 같은 언어는 별도의 번역 과정없이 그 자체로 프로그램 코드가 됨. 한줄씩 번역해주는 별도 프로그램 필요하고, 코드가 실행될 수 있도록 만들어주는 환경을 Runtime이라고 함

5. Application

응용 애플리케이션
엑셀, 파워포인트 등의 프로그램

클라우드 서비스 분류

위의 다섯단계 중 어느 단계까지 고객에 제공하는지를 기준으로 종류가 구분됨

1 Infrastructure as a Service(IaaS, 인프라스트럭쳐로서의 서비스)

물리적 컴퓨터(Hardware) 또는 가상 머신(Hardware, Virtualization)을 빌려주는 서비스. OS 부터는 고객이 준비해야함

AWS - EC2
Microsoft Azure - Virtual Machines
Google Cloud Platform - Compute Engine
Naver Cloud Platform - Server
cafe24 - 가상 서버 호스팅

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

애플리케이션을 바로 사용할 수 있도록 해주는 서비스

Google Drive(자료 저장 서비스)
Google Spreadsheet(표 기반 자료 처리 서비스)
Google Hangout(화상 회의 서비스)
Slack(협업 툴 서비스)
Dropbox(자료 저장 서비스)

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

개발자가 코드를 PasS에 업로드하면 PaaS로 부터 접속할 수 있는 URL을 받음. 이는 바로 고객에게 제공됨.

IT 회사에서 개발자는
1) 프로그램 코드를 작성함
2) 프로그램이 실행될 서버 환경을 구축하고 프로그램을 실행
-서버의 용도에 맞는 프로그램 설치 및 설정 작업
-프로그래밍 언어가 별도의 Runtime 이 필요한 경우라면 그 Runtime을 만들어 주는 프로그램 설치
-여러 서버를 서로 연결하는 네트워크 설정 작업

AWS - Amazon Beanstalk
Microsoft Azure - App Service
Google Cloud Platform - Google App Engine
Heroku

profile
Dayeon Lee | Django & Python Web Developer

0개의 댓글