가상화 기술
가상화
• 하드웨어 리소스(CPU, 메모리, 스토리지)를 논리적으로 다루는 기술
• 서버 가상화, 네트워크 가상화, 스토리지 가상화
서버 가상화 장점
• 물리 서버 하나의 라소스를 여러 개의 서버 환경으로 할당 → 각각 OS 및 app 실행
• 물리 서버 수를 줄여 공간 절약 및 비용 절감
• 가상 서버 중 하나가 장애(바이러스 등)가 발생하더라도 다른 가상 서버에 영향 X
• 서버 가상화 기술
컨테이너 기술
애플리케이션의 실행 영역(유저영역 = 컨테이너)을 여러 개로 나누어 사용
• 각 컨테이너는 독립적으로 애플리케이션 실행 가능
• 호스트 OS 입장에서는 하나의 프로세스(실행 중인 프로그램)
• 컨테이너는 애플리케이션의 실행 환경을 가상화
cf. 서버 가상화는 하드웨어 환경을 통째로 가상화
• 가상 서버보다 가상화 오버헤드가 적어 빠르게 기동/정지 가능
• 하드웨어 리소스 사용이 적어 1대의 물리 서버에 많은 컨테이너 동작 가능
• 컨테이너 단위로 패키징 되어 클라우드 간 복제 및 이식성 우수
• 대표 컨테이너 타입 가상화 소프트웨어 = Docker
• 컨테이너 타입 가상화 소프트웨어 운영 관리 도구 = Kubernetes(K8S)
하이퍼바이저 형 vs. 컨테이너 형
스토리지 기술
블록 스토리지
• 일정한 크기의 블록으로 나뉜 스토리지의 논리 볼륨을 블록 단위로 액세스
• 서버, 스토리지 간 데이터 교환의 오버헤드가 적어 빠른 데이터 전송 가능
• 낮은 레이터시가 요구되는 데이터베이스로 사용
파일 스토리지
• 파일 그대로 읽고 쓸 수 있으며, 공유할 수 있는 스토리지
• SMB, NFS, NAS
오브젝트(객체) 스토리지
• 데이터를 오브젝트(객체) 단위로 처리
• 오브젝트는 데이터 및 메타 데이터로 구성되며, 고유한 ID(URI)가 부여됨
• 대규모 비정형 데이터에 낮은 빈도로 접근하는 환경에서 사용
• HTTP 프로토콜 기반의 REST 형식의 API 사용 22
* REST API : 명시된 자원(URI)에 대해 CRUD를 적용(POST(생성)/GET(조회)/PUT(수정)/DELETE(삭제))
네트워크 가상화 기술
VLAN(Virtual LAN)
• 하나의 물리적인 네트워크를 여러 개의 논리적인 네트워크로 분할하는 기술
• 물리적 배선을 변경하지 않고, 설정을 통해 네트워크를 나눔
• 논리적으로 분할된 네트워크들은 라우터를 거치지 않으면 통신 안됨
• 클라우드 서비스와 데이터 센터 사이에 VLAN 구축을 통해 프라이빗 환경 구축
VPN(Virtual Private Network)
• 가상으로 전용선과 같은 사설망을 연결하는 기술
• 암호화와 인증을 추가한 IPsec 프로토콜 사용
NFV(Network Functions Virtualization)
• 네트워크 기능을 소프트웨어 구현하여 가상 서버 위에 구축하는 기술
• 네트워크 장비(라우터, 게이트웨이, 방화벽, 로드 밸런서 등)의 기능을 소프트웨어로 구현
• 네트워크 장비의 수요 및 구성 변경 등에도 유연하게 대응
SDN(Software Defined Networking)
• 서버 가상화, 클라우드 발전에 따라 시스템 통합관리, 운영 자동화 진행,
But, 네트워크는 기존과 같은 방식으로 하드웨어 별 운영/관리되고 있는 실정
• 서버 가상화 및 클라우드는 네트워크 트래픽의 급속한 증감 및 경로 변경 초래
• 이에, 네트워크 가상화를 통해 네트워크 구성과 기능 설정을 소프트웨어로 구현
SDN
• 통신의 전송기능(데이터 플레인)과 제어 기능(컨트롤 플레인)을 분리
• 제어 기능을 컨트롤러에 할당하고 데이터의 흐름을 소프트웨어로 정의함
• 네트워크 가동 상황/운영에 맞추어 소프트웨어로 유연하게 데이터 전송 경로를 변경
데이터베이스 기술
RDB(Relational Database)
• 여러 개의 데이터를 행과 열이 있는 표 형식으로 표현
• 복잡한 데이터의 관계를 처리할 수 있도록 만든 데이터베이스
• Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL
NoSQL(Not only SQL)
• RDB와 같은 관계형 데이터베이스가 아닌 데이터베이스
• 대량의 데이터를 분산시켜 고속으로 처리하는 분산 데이터베이스 → IoT, 빅데이터 활용
• 매우 단순한 쿼리만 지원
• 어떤 쿼리 결과가 필요한지 정의한 후 그 결과에 맞는 테이블 디자인
• 종류
• 문서 지향 형 : 복잡한 데이터를 문서에 저장하고 문서 데이터로 데이터 저장 및 관리
• 키 밸류 형 : 모든 데이터는 인덱싱 된 값으로 구성, 데이터 읽기 속도 빠름
• 그래프 형 : 데이터 간의 관계를 그래프로 형성
• 컬럼 지향 형 : 컬럼(열) 단위로 데이터 보관, 데이터 쓰기 속도 빠름
분산 처리 기술
데이터를 여러 개의 서버에 나누어 병렬로 처리
클러스터링 : 대량의 데이터를 분산처리하기 위해 여러 개의 서버를 결합하여 하나의 컴퓨터로 보이게 만듦
• 일부 서버가 장애가 발생해도 나머지 서버에서 자동으로 작업을 할당해 작업 수행
Apache Hadoop
• 1대의 마스터 서버가 여러 개의 슬레이브 서버를 관리
• 마스터 서버 : 제어, 슬레이브 서버 : 연산
• 처리 능력은 슬레이브 서버의 대수에 비례(데이터 처리 양)
Apache Spark
• 메모리 안에서 대용량 데이터의 병렬 분산 처리 실행
• 메모리 안에서 실행하므로 속도가 매우 빠름
• 대용량 데이터 처리는 적합하지 않음
• 기계학습과 같은 데이터를 반복하는 고급 데이터 분석 수행에 적합
엣지 컴퓨팅(Edge computing)
서버를 말단 디바이스에 가까운 영역에 분산 배치하여 데이터를 처리
• 클라우드 컴퓨팅은 서버를 한곳에 모아 집중처리
But, 엣지 컴퓨팅은 말단에서 분산 처리
• 디지털 데이터의 폭발적 증가와 낮은 지연(실시간)이 요구되는 애플리케이션 증가
• 실시간 데이터 처리와 높은 신뢰성 보장
• 디바이스 고도화/소형화/저전력화/비용 절감에 따른 엣지 컴퓨팅 보급 가속화
• CPU/GPU 탑재된 엣지 컴퓨팅 디바이스 등장
데이터를 클라우드에서 처리할 경우 문제점
• 통신 데이터 증가에 따른 네트워크 대역폭을 많이 소모
• 회선 이용료 등의 비용 증가
• 클라우드 서버와 거리가 멀 경우 응답 시간이 지연
• 네트워크 장애로 데이터 처리 불가한 경우 있음
• (보안 정책이나 국가 및 지역의 사정에 따라) 클라우드로 데이터 전송 불가할 수 있음
하이퍼 컨버지드 인프라스트럭처
컨버지드 인프라
• 서버, 네트워크, 스토리지, 소프트웨어(하이퍼바이저 및 운영 관리 도구) 등을 하나의 패키 지에 통합한 제품
• 제조사가 사전에 호환성 검증 및 최적화된 구성으로 출하
• 정형화된 구축 방법이 문서화 되어 있어 단기간에 안정적인 운용 가능
• 하나의 패키지이므로 문의 창구가 일원화
하이퍼 컨버지드 인프라
• 클라우드 서비스의 기본 기능을 패키지로 제공하는 제품
• 소프트웨어(가상화) 기반의 서버, 네트워크, 스토리지 등의 구성요소가 통합
• 인프라는 서버, 네트워크, 스토리지를 모듈 단위로 구성
• 소프트웨어로 전체 시스템의 구성 설정 및 구성 방법 변경
• 하나의 벤더로 부터 지원 받아 전체를 하나의 시스템으로 관리
서버리스 아키텍처(Serverless architecture)
서버리스 : 클라우드 사업자가 서버의 운영과 관리를 모두 담당해 사용자는 서버의 존재를 의식하지 않아도 된다는 의미
마이크로 서비스 아키텍처(MSA)
• 하나의 애플리케이션을 작은 서비스의 집합체로 구축하며, API로 연계
• 클라우드 사업자는 서버, 스토리지, DB, 네트워크 등 독립적인 컴포넌트를 제공하지만 서로 느슨한 결합을 통해 전체 기능을 구현
서버리스 아키텍처
• MSA로 구성된 각 컴포넌트를 조합하고, 클라우드 사업자가 모두 관리하는 경우 사용자는 서버의 존재를 의식하지 않은 상태에서 애플리케이션을 동작할 수 있음
FaaS(Function as a Service)
• 이벤트에 따라 동작하는 함수로 구성
• 작성한 코드를 서버리스 서버에 업로드하면, 서버는 업로드한 코드를 함수 단위로 쪼갬
• 요청이 들어오면 서버가 대기상태로 두었던 함수를 실행
• 작업을 마치면 다시 대기 상태로 만듦
• 비용은 함수 호출 횟수, 걸리는 시간에 따라 청구
• AWS Lambda, MS Azure Function, Google Cloud Function
BaaS(Backend as a Service)
• 백엔드 개발에 필요한 여러 기능을 API로 제공하는 서비스
• SNS 연동, DB와 같이 백엔드에 필요한 기능을 API로 기능을 구현할 수 있게 해 줌
• 클라우드 사업자가 백엔드 개발 환경을 제공한다는 의미
• 복잡한 백엔드 기능을 개발자가 직접 개발하지 않고, 클라우드 사업자의 서비스를 이용해 쉽고 안정적으로 구현
• Google Firebase
마이크로 서비스 아키텍처(MSA)
기존(Monolithic)의 한계
• 전체 시스템 구조 파악 문제
• 빌드 시간 및 테스트, 배포 시간의 급증
• 서비스의 특정 부분만 Scale-out하기 어려움
• 부분 장애가 전체 서비스의 장애로 이어짐
MSA의 장점
• 배포: 서비스 별 개별 배포 가능
• 확장성: 특정 서비스에 대해 Scale-out 가능
• 장애 해결: 부분 장애에 대해 격리해서 확장 되지 않음
MSA의 단점
• 서비스 간 API 호출 시 통신 비용이나 레이턴시 이슈
• 서비스가 분리되어 있어 테스트 등 복잡도 증가
• 데이터가 분산되어 있어 조회 및 관리 어려움
'네트워크보안 - 클라우드컴퓨팅' 카테고리의 다른 글
AWS클라우드 활용 (1) | 2025.09.16 |
---|---|
클라우드 서비스 (0) | 2025.09.09 |
클라우드 컴퓨팅이란? (0) | 2025.09.09 |
구름 - CLOUD (0) | 2025.09.02 |