1. Virtualization VS Container
○ 서버의 주요관점
- 기능 / 성능 / 안정 / 보안
가. 물리적 서버
○ 물리적 서버에 직접 OS를 설치하고 서비스를 실행했었음
○ 기존에는 CPU 하나당 OS가 할당되었는데
-> 물리적 서버의 한계는 유연성 부족과 서버 자원을 낭비하는 것
-> 이런 단점들을 보완하고 이용하고자 가상화가 생기기 시작했다.
○ 단점
- 장비 노후화 시 교체 파트 비용 발생
- 장비 교체 또는 추가 시 새로운 H/W 비용 발생
- 관리 대상 컴퓨터 증가
- 이중화 시 별도 장비 구성 필요
나. Virtualization
○ Virtualization종류
- Server Virtualization(가장 많이 사용 된다-흔히 말하는 가상화)
- Desktop Virtualization(VDI -> Active Diretory 필수)
- Network Virtualization
- Storage Virtualization
- Application Virtualization
- Presentation Virtualization(원격 데스크탑 접속)
○ CPU,메모리 등의 하드웨어 자산을 Hypervisor를 사용하여 남는 자원으로 VM을 운영할 수 있게 된다.
-> 가상 서버는 남아도는 자원을 활용하기 위해서 만듬
○ CPU 하나에 여러 OS가 할당됨(공동관리를 Hypervisor가 한다)
○ 장점
- 클러스터링을 지원하지 못하는 서비스도 VM에 운영하여 VM을 클러스터링하면 해당 서비스를 클러스터링할 수 있다.
- 가상화로 서비스를 할 때는 클러스터링이 필수적이 조건이다.
- H/W 비용 및 설치 공간 절감 / 가동시간 및 가용성 향상 / 보안 및 데이터 보호 향상 / 재해 복구 및 비즈니스 연속성 구현
남은 자원을 활용하기 위해 시작됐지만 마이그레이션으로 응용하기도 한다.
서비스 중에 옮기는게 Live Migration /
OS -> 하드웨어를 관리하는 용도 <- 기초 다시 공부해야겠다......
다. Container
- OS의 '커널'을 공유하고 CPU나 메모리 등의 자원을 격리하여 가상 공간을 만들어냄
- 하나의 Host OS에서 가상으로 여러개의 OS를 운영할 수 있게 됨
- 컨테이너는 OS하나에
- 리눅스 c그룹/NS(Name Space)에서 비롯된 기술이다
도커는 컨테이너 런타임(서버), 관리도구를 가지고 있지만
K8S는 관리도구만 가지고 있다
-> K8S 도커 자동화 시스템 > 관련해서 확인하고 정리해야겠다.
○ 장점
- VM에 비하여 Application 용량이 작고 배포 시간이 짧음
- HostOS의 커널을 공유하기에 VM에 비해 성능 우수함
- 부하 발생 시 신속한 Appliccation의 Scale out(K8S, Docker compose에 해당) - K8S HPA부분인듯하다
- 갑작스런 서비스 중단 및 서비스 불안정 시 자동으로 서비스 재시작 - K8S 레플리카스, 디플로이먼트는 파드를 유지하려하기 때문에 이에 해당하는 듯하다
※ 데이터는 컨테이너 밖에 저장해야함 - 기본 중에 기본
-> 컨테이너는 안정적이지 않기 때문에 데이터 유실 위험이 있다.
-> 데이터는 저장소나 DB에 마운트해서 저장 / K8S로 하고 싶다면 PVC/PV로 데이터를 저장
도커 포트포워딩 시 앞은 호스트 뒤는 이미지 포트
도커는 OS 커널을 사용하기에 Windows와Linux에 따라 설정된다.
2. Private Cloud VS Public Cloud
가. Private Cloud
○ 가상화에서 발전한 것
○ Open Stack, Azure Stack이 포함
○ 신속함을 갖추기 위해 2가지 핵심 능력 필요
- 가상화
- Azure Stack(하드웨어와 OS), Open Stack, IBM Cloud Private, Cloud Stack
○ 모든 것을 커스터마이징할 수 있다.
- 자원을 사내에서만 쓰기에 성능이 좋다.
○ 단점
- 돈이 많이 든다
나. Public Cloud
○ AWS, Azure, GCP
○ 서비스에 필요한 모든 인프라를 클라우드 업체에서 제공받음. 스타트업, 중소, 중견기업이 많이 이용
○ 오버헤드가 적음
다. hybrid Cloud
○ on-premiss + Cloud
-> AWS Storage gateway가 HybridCloud로 사용된다.
○ 유연성, 오버헤드가 적다
○ 단점
- 호환성
라. Multi-Cloud
○ 2개 이상의 Cloud Vendor가 제공하는 Public, Private Cloud로 구성함
○ 기업이 단일 벤더에 의존했을 때 발생할 수 있는 위험을 피할 수 있다.
○ 유연성이 확보된다.
- single-cloud를 사용할 경우 - 이슈 발생에 대한 자체 대응이 불가하다
컨테이너와 클라우드는 찰떡궁합~
이미지와 클라우드 환경만 있으면 서비스를 구축하고 배포할 수 있기 때문에
-> 이 클라우드 환경을 더 편하게 코드로 만드는게 IAC
-> IAC와 컨테이너만 있으면? 코드로 인프라, 애플리케이션을 유연하게 구축하고 배포할 수 있다~
-> 찰떡궁합일 수밖에 없다.
정답은 없고 맞는것에 사용하면 된다.
'인턴십(실무기초)' 카테고리의 다른 글
230216_windows_3 (0) | 2023.02.16 |
---|---|
230214_windows (0) | 2023.02.14 |
230213_데이터 이중화 기술 (0) | 2023.02.13 |
230202_IT인프라, Cloud (1) | 2023.02.02 |
230201_IT개요 (0) | 2023.02.01 |