CS/CS 전공 지식 노트
[CS] 클라우드
jordancancode
2024. 8. 11. 16:36
가상머신
개념
전통적 배포 방식
- 물리적인 컴퓨터 한 대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식
- 계정을 나눠 여러명의 사용자가 이용할 수 있도롥 했지만, 어떤 프로그램을 설치했을 때 다른 앱에 영향 O : 독립적이지 않은 환경
가상화 배포 방식
- 가상 머신(컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것)을 기반으로 배포하는 것
- 계정을 나누는 것이 아니라 한대의 컴퓨터를 가지고 여러개의 OS를 구동할 수 있게 됨 + OS 별 자원 할당(RAM) 가능!
- CPU, RAM을 물리적으로 갈아낀느 게 아니라 설정만으로 수행 가능
Hypervisor
- 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해주는 중간 계증
- 이 위에 여러개의 가상머신을 구축
장점
- 한대의 하드웨어로 여러명의 사용자에게 독립적으로 클라우드 서비스
단점
- 가상머신 위에 OS를 일일이 설치하는 과정 필요
오프프레미스
개념
클라우드 서비스, 내가 아닌 다른 회사의 공급자가 호스팅하고 인터넷을 통해 사용자에게 제공되는 인프라, 플랫폼 또는 소프트웨어
→ 인프라, 하드웨어 설치 없이도 애플리케이션/리소스 사용 가능
예시 : AWS, 네이버 클라우드
온프레미스
개념
클라우드 서비스가 아니다! 네트워크 선 까는 것부터 시작해 서버, 데이터베이스 설치 등을 하는 것 → 자사 데이터 센터(IDC, Internet Data Center)를 구축하는 것!
예시 : 네이버의 프라이빗 IDC, 각 = 온프레미스
Iaas, PaaS, SaaS
Iaas 개념
- Infrastruvture-as-a-Service : 인프라형 클라우드 서비스, 클라우드가 인프라를 제공함.
- node.js, MongoDB 등 환경 설치가 필요하는 대신 특정 서비스에 종속 X
- 예시 : AWS의 EC2, NCP 등
PaaS 개념
- Platform-as-a-Service : 플랫폼형 클라우드 서비스, 클라우드가 플랫폼을 제공함.
- node.js, MongoDB 등 환경이 설치되어 있음. 클릭을 통해 서비스 이용가능, 모니터링, CI/CD 제공
- 예시 : heroku
SaaS 개념
- Software-as-a-Service : 서비스형 클라우드 서비스, 완전한 서비스를 클라우드 서비스로부터 제공받아 사용
- 예시 : Google Docs
IaaS PaaS
유연성 | 높음 | 낮음 |
이식성 | 높음 | 낮음 |
운영비 효율 | 낮음 : 서버 이전 시 환경 그대로 옮길 수 있어서 쉬움 | 높음 : 서버 이전 시 플랫폼에 종속되어있는 컴포넌트로 인해 비효율적 |
컨테이너와 도커
컨테이너
개념
- 어플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위 . . . 복잡한 환경 설정을 한번에 패키징한 것
- OS를 공유하기 때문에 빠르고, 경량화, 격리성 Good
- OS에 문제가 생기면 다른 앱에도 영향을 미칠 수 있음
도커
개념
- 컨테이너 배포에 필요한 거의 모든 기능을 제공하는 플랫폼
과정
- 도커 파일 : 패키지, 환경 변수 설정 등을 기록한 파일, 빌드하여 도커 이미지로 변환
- 도커 이미지 : 컨테이너 실행에 필요한 파일과 설정값, 데이터 등을 포함한 상태값. 하나의 이미지에서 여러 컨테이너를 생성할 수 있으며 컨테이너 상태와는 무관하게 이미지는 그대로 존재
- 도커 컨테이너 : 컨테이너가 싱핼되면 도커 이미지에 설정된 프로그램, 데이터 등이 실제 컴퓨팅 자원과 연결 이미지에 설정된 프로그램, 데이터 등이 실제 컴퓨팅 자원과 연결
반응형