IaaS 기반 주요 기술
- 서버 가상화 기술
- 스토리지 가상화 기술
- 네트워크 가상화 기술
가상화 기술
가상화란 하드웨어 자원을 논리적으로 다루는 기술을 의미한다.
- 하이퍼바이저 형 - 호스트 OS 없이 하드웨어가 하이퍼바이저와 연관되어 있음
- 호스트 OS 형 - 하드웨어 / 호스트 OS / 호스트형 가상화 소프트웨어를 기반으로 가상 OS들이 동작함
- 컨테이너 형 - 컨테이너 가상화를 위한 소프트웨어를 이용하여 실행 환경을 분리
https://megamaker.tistory.com/221
[Docker] Docker에 대해서 간단하게 알아보자
Docker는 기존의 마이크로 서비스 아키텍쳐를 사용할 때, 가상 머신을 이용하는 것과 유사한 독립성을 갖추게 하지만 더 나은 성능과 확장성 등의 이점을 가진다. 요즘은 사실상 표준이라고 할 정
megamaker.tistory.com
하이퍼바이저 형 vs 컨테이너 형
하이퍼바이저 형은 독립된 각 가상 OS 안에서 어플리케이션을 실행하므로 오류나 외부의 공격과 같은 보안 문제가 다른 OS에 영향을 미치지 않는다.
컨테이너 형은 호스트 OS 위에서 가상 컨테이너들이 실행되므로 호스트 OS에 문제가 생기면 컨테이너에도 영향이 있다.
하이퍼바이저 형은 독립된 가상 OS를 사용하므로 자원의 낭비가 생길 수 있다.
컨테이너 형은 호스트 OS에서 소프트웨어 레벨로 컨테이너 환경을 구축하기 때문에 가상 OS일 때보다 하드웨어 자원 사용이 효율적이다.
스토리지 기술
- 블록 스토리지 - 일정한 크기의 블록으로 나뉜 스토리지를 블록 단위로 액세스함
- 파일 스토리지 - 파일 단위로 공유할 수 있는 스토리지 ex) NAS
- 오브젝트 스토리지 - 데이터를 오브젝트 단위로 처리하는 방법
네트워크 가상화 기술
- VLAN (Virtual LAN) - 하나의 네트워크를 여러 개의 논리적인 네트워크로 분할하여 사용하는 기술 ex) 공유기 / 개별의 논리적인 네트워크끼리 통신하려면 라우터를 거쳐야 함
- VPN (Virtual Private Network) - 가상으로 사설망을 연결하는 기술이다. 해당 네트워크 환경에 있는 것처럼 사용 가능
- NFV (Network Functions Virtualization) - 네트워크 기능을 소프트웨어로 구현하는 기술
SDN (Software Defined Networking)
클라우드 환경의 발전에 따라 서버 간의 통신 등의 요인으로 네트워크 트래픽의 사용이 늘었지만 네트워크 장비는 그대로 이기 때문에 트래픽의 증가와 경로 관리에 대해 처리해야할 문제가 늘었다. 그렇기 때문에 네트워크의 관리를 하드웨어 중심의 제어/전송에서 제어 기능을 가진 컨트롤러에 데이터의 흐름을 소프트웨어적으로 관리하는 SDN 방식을 사용하게 되었다.
PaaS 기반 주요 기술
- 데이터베이스 기술
- 분산 처리 기술
데이터베이스 기술
- RDB (Relational Databases) - 데이터를 행과 열이 있는 테이블 단위로 처리함
- NoSQL (Not only SQL) - 대량의 데이터를 고속으로 처리하기 위한 분산 데이터베이스
분산 처리 기술
클러스터링 - 대량의 데이터를 처리하기 위해 여러 개의 서버를 하나의 서버로 보이도록 처리하여 사용
ex) Apache Hadoop / Apache Spark
엣지 컴퓨팅
클라우드 서버에 많은 트래픽이 몰리게 되면 연산을 하고 응답을 하는데 오래 걸리게 되므로 말단 디바이스에 가까운 위치에 엣지 컴퓨팅 시스템을 구축하여 해상 서버에서 처리하도록 하여 클라우드 서버의 부담을 줄이는 방법이다.
이 방법으로 응답 지연 시간을 줄이고, 회선 이용료 감소, 네트워크 대역폭 사용 감소 등의 이점을 얻을 수 있다.
하이퍼 컨버지드 인프라스트럭처 (Hyper-converged infrastructure, HCI)
컨버지드 인프라 - 서버, 네트워크, 스토리지, 소프트웨어를 하나로 통합한 제품 ex) 서버 랙
하이퍼 컨버지드 인프라 - 클라우드 서비스의 기능을 패키지로 제공 / 서버, 네트워크, 스토리지를 모듈 단위로 구성하고, 소프트웨어는 시스템의 설정과 구성 방법을 변경한다.
데이터 센터 입지 조건
- 지진, 해일 등의 자연재해 위험이 적은 곳이어야 한다.
- 지반이 딱딱해야 한다.
- 지진에 대비한 내진 설계를 해야 한다.
- 승인된 사람만 출입할 수 있어야 한다.
- 냉난방 시설이 잘 갖춰져 있어야 한다.
서버리스 아키텍처
서버리스 아키텍처란 클라우드 사업자가 서버의 운영, 관리를 모두 담당하여 사용자를 서버의 존재를 의식하지 않아도 된다는 의미이다.
요청이 들어올 때만 실행되므로 실제 사용량에 대해서만 비용이 청구되고, 인프라에 대해서 신경 쓸 필요가 없다.
FaaS (Function as a Service)
이벤트에 따라 동작하는 함수로 구성된다.
작성한 코드를 서버리스 서버에 업로드 하고 해당 코드를 함수 단위로 쪼개어 대기시킨다.
요청이 들어왔을 때 대기 중이던 함수를 실행한다.
함수를 호출 횟수, 걸린 시간에 따라 비용을 청구한다.
BaaS (Backend as a Service)
백엔드 개발에 필요한 여러 기능을 API로 제공하는 서비스이다.
클라우드 사업자가 백엔드 개발 환경을 제공한다는 의미이다.
SNS 연동, DB와 같은 기능을 API로 구현할 수 있게 해준다.
마이크로 서비스 아키텍처는 각 기능을 작은 마이크로 서비스로 나누어 서비스간 API 통신으로 연계하는 방식이다.
마이크로 서비스 아키텍처 (MSA) vs 서버리스 아키텍처
서버리스 아키텍처는 클라우드 사업자가 서버를 관리하지만 MSA는 각 인프라 관리를 직접 해야한다.
서버리스 아키텍처는 함수 단위 이벤트 기반으로 서버가 항상 대기하지 않아 IaaS, PaaS 보다 느리다.
또한 함수 호출 시에 사용할 수 있는 메모리나 시간이 제한된다.
'공부 > 클라우드' 카테고리의 다른 글
| [클라우드] 클라우드 컴퓨팅 정리 (0) | 2024.04.30 |
|---|---|
| [클라우드] 클라우드 활용 및 기타 용어 정리 (0) | 2024.04.14 |
| [클라우드] 클라우드 사업자 종류 (0) | 2024.03.26 |
| [클라우드] 클라우드 컴퓨팅 도입 (0) | 2024.03.12 |
| [클라우드] 클라우드 컴퓨팅(Cloud Computing)과 온-프레미스(On-premise) (0) | 2024.03.05 |