05 network - 클라우드
05 network - 클라우드
1. 클라우드
1. 클라우드
- 물리적으로 내 컴퓨터나 회사 서버에 직접 저장하거나 처리하지 않고,
- 원격 데이터센터에 있는 컴퓨터 자원을 인터넷으로 접근해 사용하는 것
- 필요할 때 원하는 만큼 빌려 쓰고, 사용한 만큼 비용을 지불하는 형태
2. 클라우드의 특징
- 유연성: 컴퓨팅 자원을 필요할 때 즉시 늘리거나 줄일 수 있음
- 확장성: 트래픽 급증이나 데이터 증가에도 쉽게 대응 가능
- 비용 효율성: 초기 인프라 투자 없이 서비스 시작 가능
- 관리 편리: 서버 관리, 유지보수, 보안 패치 등을 클라우드 업체가 대신 처리
3. 클라이언트 / 클라우드
구분 | 클라이언트 (Client) | 클라우드 (Cloud) |
---|---|---|
역할 | 서비스 요청, 사용자 인터페이스 제공 | 요청 처리, 데이터 저장 및 관리 |
위치 | 사용자 손에 있는 장치 | 원격 데이터센터나 서버 |
관리 주체 | 사용자 또는 사용자 조직 | 클라우드 서비스 제공업체 |
4. 클라우드 서비스 이용 형태
서비스 모델 | 제공 내용 | 관리 범위 | 사용자의 역할 | 대표 예시 |
---|---|---|---|---|
IaaS | 서버, 스토리지, 네트워크 인프라 | 인프라(하드웨어, 네트워크) | OS, 미들웨어, 애플리케이션 관리 | AWS EC2, Google Compute Engine |
PaaS | 개발 플랫폼, 런타임, 미들웨어 | 인프라 + 플랫폼 | 애플리케이션 개발 및 배포 | Google App Engine, Heroku |
SaaS | 완성된 소프트웨어 | 인프라 + 플랫폼 + 소프트웨어 | 단순 사용자, 서비스 이용 | Gmail, Dropbox, Microsoft 365 |
DaaS | 가상 데스크톱 환경 | 인프라 + 데스크톱 OS | 원격 데스크톱 접속 및 사용 | Amazon WorkSpaces, Citrix DaaS |
3. 가상화
1. 가상화
- 물리 하드웨어 위에 소프트웨어 계층(하이퍼바이저, Hypervisor)을 올려서
- 각각 독립적으로 운영체제(OS)와 애플리케이션을 실행할 수 있는 가상 환경을 만듬
- 가상 머신은 실제 컴퓨터처럼 동작하지만, 물리 서버의 자원을 공유하고 분할해서 쓸 수 있음
2. 주요 특징
- 자원 효율성: 한 대의 서버에 여러 가상 서버를 만들어 하드웨어 자원을 효율적으로 사용
- 격리성: 각 가상 머신은 독립적이어서 한쪽 문제 발생이 다른 가상 머신에 영향 덜 줌
- 유연성: 필요에 따라 가상 머신을 쉽게 생성, 삭제, 복제 가능
- 이동성: 가상 머신 이미지를 다른 서버로 옮겨 실행 가능
3. 호스트형, 하이퍼바이저형
구분 | 하이퍼바이저형 가상화 (Bare-metal) | 호스트형 가상화 (Hosted) |
---|---|---|
설치 위치 | 물리 하드웨어 바로 위에 하이퍼바이저 설치 | 기존 운영체제(호스트 OS) 위에 가상화 소프트웨어 설치 |
하드웨어 접근 | 하이퍼바이저가 직접 하드웨어 자원 제어 | 하이퍼바이저가 호스트 OS를 통해 간접 제어 |
성능 | 매우 높음 (하드웨어 직접 제어) | 상대적으로 낮음 (호스트 OS 오버헤드 존재) |
관리 복잡도 | 상대적으로 복잡, 전문지식 필요 | 상대적으로 간단, 일반 OS 사용자도 사용 가능 |
사용 환경 | 데이터센터, 클라우드 인프라, 프로덕션 환경 | 개발, 테스트, 개인 PC, 데스크톱 환경 |
안정성 및 보안 | 더 높음, OS를 거치지 않아 공격 표면 감소 | 호스트 OS 의존, 보안 취약점 존재 가능 |
예시 소프트웨어 | VMware ESXi, Microsoft Hyper-V (서버), Xen, KVM | VMware Workstation, Oracle VirtualBox, Parallels Desktop |
VM 생성/관리 | 하이퍼바이저가 직접 관리 | 호스트 OS와 하이퍼바이저가 공동 관리 |
확장성 및 안정성 | 대규모 서버, 클러스터 환경에 적합 | 소규모, 단일 PC 환경에 적합 |
4. 온프레미스 / 에지컴퓨팅
1. 온프레미스
- 서버, 스토리지, 네트워크 장비 등 모든 IT 인프라를 기업이 직접 소유하고, 자체 데이터센터나 사무실 내부에 설치해 운영
- 특징
- 직접 구매·설치·관리 필요 (서버, 네트워크, 보안 등)
- 물리적 위치가 기업 내부
- 장비 교체·유지보수 비용이 큼
- 보안 통제력이 높지만 초기 투자비용이 매우 큼
- 장점
- 데이터 보안·통제 완전 자율
- 맞춤형 환경 구성 가능 -단점
- 초기 구축비용(CAPEX) 큼
- 유지보수 인력·비용 필요
- 확장성 제한
2. 에지 컴퓨팅
- 데이터를 멀리 있는 클라우드까지 전송하지 않고, 가까운 곳(네트워크 엣지, edge)에서 먼저 처리
- 위치 사용자의 기기나 현장(공장, 지점, 통신 기지국 등) 근처에 배치
- 효과
- 지연(Latency) 감소 → 즉각적인 반응 가능
- 대역폭 절약 → 필요 없는 데이터는 클라우드로 안 보냄
- 실시간 처리 → IoT, 자율주행, 영상 분석 등에 적합
3. 온프레미스 / 에지컴퓨팅 / 클라우드
구분 | 온프레미스(On-Premises) | 클라우드(Cloud Computing) | 에지 컴퓨팅(Edge Computing) |
---|---|---|---|
서버/연산 위치 | 회사 내부 데이터센터 | 클라우드 사업자 데이터센터 | 사용자·현장 근처(네트워크 가장자리) |
소유/관리 주체 | 회사가 직접 구매·설치·운영 | 클라우드 사업자가 소유·운영, 회사는 임대 | 회사·통신사·클라우드 사업자 등이 설치·운영 |
장점 | 보안·제어권 극대화, 커스터마이징 가능 | 초기 비용 낮음, 확장·축소 유연 | 지연시간 최소화, 실시간 처리, 대역폭 절감 |
단점 | 초기 비용 높음, 확장 어려움 | 인터넷 연결 필수, 데이터 전송 지연 | 설치·유지보수 부담, 현장 장비 필요 |
대표 사용 사례 | 금융기관 내부 서버, 정부기관 데이터센터 | 웹서비스, 전자상거래, SaaS(Zoom, Slack) | 자율주행, 스마트공장, CCTV 실시간 분석 |
5. 컨테이너
1. 컨테이너
- 호스트 OS 커널을 공유하는 경량 가상화 기술
- 프로세스 실행 환경을 격리해서 일관된 배포 및 운영 가능
- 필요한 라이브러리, 실행파일, 설정만 포함한 패키지화
- 특징
- 가상 머신 대비 훨씬 가볍고 빠름 (커널 공유, 부팅 불필요)
- OS 전체가 아니라 사용자 공간(user space)만 격리
- 빠른 시작과 중지, 높은 자원 효율성
- 동일한 환경에서 개발, 테스트, 운영 가능 (이식성 보장)
2. 네트워크 브리지 (Network Bridge)
- 여러 네트워크 인터페이스를 연결해 하나의 네트워크처럼 동작하게 하는 가상 스위치 역할
- 서로 다른 네트워크 세그먼트를 Layer 2(데이터 링크 계층)에서 연결
- 컨테이너 네트워크에서, 호스트의 물리 NIC와 컨테이너의 가상 NIC를 연결해 통신을 가능하게 함
- 도커 기본 네트워크인 bridge 모드가 대표적 예시
3. 도커 (Docker)
- 컨테이너를 생성, 배포, 관리하는 플랫폼 및 도구
- 컨테이너 이미지 빌드, 레지스트리 관리, 컨테이너 실행 및 네트워킹 기능 제공
- 도커 데몬(엔진)이 컨테이너 라이프사이클 전반 담당
- 이미지 → 컨테이너 변환 후 격리된 환경에서 실행
- 개발-테스트-운영 환경 일관성 제공
- 주요 컴포넌트: Docker CLI, Docker Daemon, Docker Registry, Docker Image, Docker Container
4. 쿠버네티스 (Kubernetes, K8s)
- 컨테이너 오케스트레이션 플랫폼
- 다수의 컨테이너를 클러스터로 묶어 자동 배포, 스케일링, 로드밸런싱, 복구 등을 관리
- 복잡한 분산 애플리케이션의 운영 자동화에 최적화
- 주요 개념
- Pod: 컨테이너의 최소 실행 단위(하나 또는 여러 컨테이너)
- Node: 워커 머신(물리 또는 가상)
- Master (Control Plane): 클러스터 상태 관리 및 스케줄링 담당
- Service: Pod 집합에 안정적 네트워크 접근 제공 데브옵스 (DevOps)
5. 데브옵스 (DevOps)
- 개발(Development)과 운영(Operations)의 협업과 자동화를 통한 소프트웨어 개발 및 운영 방식
- 빠른 개발, 테스트, 배포를 목표로 함
- 주요 요소: 지속적 통합(CI), 지속적 배포(CD), 인프라 자동화, 모니터링
- 도구 예시: Git, Jenkins, Docker, Kubernetes, Terraform
- 개발과 운영 간 벽을 허물어 효율성과 안정성 향상
6. 비교
구분 | 호스트 OS형 가상화 | 컨테이너 |
---|---|---|
OS 포함 여부 | VM마다 게스트 OS 포함 | 호스트 OS 커널 공유 |
부팅 속도 | 느림 (OS 부팅 필요) | 매우 빠름 (즉시 실행) |
리소스 사용량 | 큼 (OS 중복) | 작음 (커널 공유) |
운영체제 호환성 | 서로 다른 OS 가능 | 같은 커널 계열만 가능 |
격리 수준 | 강함 (하드웨어 가상화) | 중간~강함 (OS 수준 격리) |
대표 기술 | VirtualBox, VMware, KVM | Docker, Podman, Kubernetes |
This post is licensed under CC BY 4.0 by the author.