클라우드란?
리소스를 제공한다는게 무슨 뜻?
서버를 어떻게 줄 수 있을까?
원하는 서버 스팩 8코어 16기가 -> 이미 있는 8코어 16기가 서버 제공
but 사용자가 원하는 스펙이 다르기 때문에 요구사항에 맞는 서버를 직접 만드는 건 어려움 !
큰 서버에서 사용자가 원하는 만큼의 서버를 또 띄우기
=>가상화
가상화란?
물리적인 자원을 추상화하여 가상 자원을 만들어 관리하는 기술
안드로이드 에뮬레이터 -> 윈도우에서 안드로이드 os 띄우는 것
방법1
가상화 소프트웨어를 띄우는 것
Virtual Box, VMware 등등
방법2
하이퍼바이저 가상화(Xen, KVM 등등)
Para-Virtualization(PV) : OS의 명령어를 하이퍼바이저가 모두 받아들이거나
Hardware Virtual Machine : 하드웨어...??
방법3
컨테이너 가상화(Docker)
AWS는 어떤 가상화?
최근에는 HVM 사용
가상화 종류
- 서버 가상화
- 네트워크 가상화
- 등등
Virtual Machine(VM)
Bare Metal
"통째로 빌려주기"
고성능, 비용이 추가
CPU vs VCPU
vCPU는 가상화 환경에서 물리적 CPU 자원을 추상화한 자원
가상화 기술 기반의 비지니스
클라우드 서비스 (IaaS)
- 각종 자원들을 가상화하여 서비스 제공
- 서버 가상화, 네트워크 가상화, 스토리지 가상화 등을 사용플랫폼 기반 서비스 (PaaS)
- 본인의 애플리케이션을 쉽게 업로드하여 서비스 활용
- 가상화된 자원을 자동으로 할당받아 애플리케이션이 실행
- Vercel, Netlify, Cafe24(한국)
솔루션 기반 서비스 (SaaS)
- 사용자의 니즈가 반영된 애플리케이션이 가상화된 자원을 할당받아 곧바로 서비스가 제공
- 사용자는 곧바로 서비스를 이용할 수 있음
대부분의 기업은 IaaS를 통해 SaaS를 출시한다.
\- 대기업 위주
\- 클라우드 엔지니어는 IaaS를 다루어 SaaS를 개발
클라우드 시장
IaaS를 만든다는 뜻은?
openStack 등의 솔루션을 통해 각 리소스를 가상화하고 서비스로 만드는 것
\- 여기에 흥미가 있다면 C/C++/Python 등을 공부하여 openStack을 만져보는 것도 좋음 -> 파일시스템 쪽으로 커리어를 쌓으면 좋음
IaaS 기본 기능
- Compute
- Network
- Storage
- Container
- Database
- Security
- AI 등등
클라우드 서비스의 기능 어떻게?
자주 사용하는 기능
- network
- compute
- Database
- Storage
그 외의 기능들
- Securty를 통해 보안 강화
- AI를 통해 AI 서비스 붙이기
- 즉, 이외에는 필요한 것들을 찾아 붙이는 방식
클라우드 아키텍처 그리는게 중요!
- 서비스를 구축할 떄, 클라우드 서비스의 다양한 기능들을 이용하여 인프라 구축 그림을 그리는 것
클라우드 아키텍처를 그리기 위한 필요 배경 지식들
- OS (Operating System)
- 네트워크
- 파일시스템
- VM
- LB (Load Balancer)
-
- 기본 클라우드 내 네트워크 세팅
- Region 먼저 선택
- VPC(Virtual Private Cloud)를 만들어 네트워크 공간을 만듦
- Subnet을 통해 가상 네트워크 공간을 한번 더 IP 기준으로 논리적으로 나눔
파일시스템
하드디스크나 SSD
NFS, NBD 스토리지 가상화
VM
- 가상화
- OnDemand 형태
- Spot Instance 70% 할인된 가격으로 사용 가능 : 싼 가격으로 잠깐 쓰고 싶다 할 때 쓰면 좋음
LB
- ???? 무슨???? 뭘알아놓으면 좋다고 했는데 못들었당
'Infra' 카테고리의 다른 글
[클라우드] 카테부 - 리눅스 기본 강의 (0) | 2024.07.08 |
---|---|
[클라우드] 카테부 - 클라우드 강의 1강 정리 (1) | 2024.07.03 |