클라우드 컴퓨팅 3주차

2026. 9. 20. 15:41ㆍ클라우드 컴퓨팅

가상화 기술

  • 하드웨어 리소스(CPU, 메모리, 스토리지)를 논리적으로 다루는 기술
  • 서버, 네트워크, 스토리지 가상화

물리 서버 하나 리소스를 여러 개의 서버 환경으로 할당하여 각각 OS 및 app을 실행한다.(하이퍼바이저)

물리 서버의 수를 줄여 비용 절감이 가능하다.

가상 서버 중 하나가 장애가 발생하더라도 다른 가상 서버에 영향이 없다.

 

가상 서버마다 OS를 설치하고 가상 서버들을 완전히 분리시키는 하이퍼바이저 형

애플리케이션의 실행 영역을 여러 개로 나누어 사용하는 컨테이너 형

 

 

  하이퍼바이저 컨테이너
장점 ▶ 가상 서버마다 OS 선택 가능

▶ 가상 서버가 완전히 분리되어 하나의 가상 서버에       문제가 생겨도 다른 가상 서버에 영향X
▶ 다른 컨테이너에 복사하거나 마이그레이션 하기 쉬움

▶ 가상화 환경 위에 별로 OS를 동작시키지 않아 하드웨어 리      소스 사용이 적으며, 부팅이 빠름
단점 ▶ 가상 서버마다 OS가 필요하여 하드웨어 리소스 사       용량 많음

▶ 가상 서버의 부팅 시간이 오래 걸림
▶ 호스트 OS와 컨테이너는 커널을 공유함.

▶하나의 호스트 OS가 여러 개의 컨테이너를 동작시켜 하나의      컨테이너에 문제가 생기면 다른 컨테이너에도 영향을 줄 수      있음.

 

 

 

스토리지 기술

  • 블록 스토리지
    일정한 크기의 블록으로 나뉜 스토리지의 논리 볼륨을 블록 단위로 액세스
    서버, 스토리지 간 데이터 교환의 오버헤드가 적어 빠른 데이터 전송이 가능, 낮은 레이턴시가 요구되는 데이터베이스에 사용.

  • 파일 스토리지
    파일 그대로 읽고 쓸 수 있으며, 공유할 수 있는 스토리지
    SMB, NFS, NAS

  • 오브젝트 스토리지
    데이터를 오브젝트 단위로 처리
    오브적트는 데이터 및 메타 데이터로 구성되며, 고유한 ID(URL)가 부여됨
    대규모 비정형 데이터에 낮은 빈도로 접근하는 환경에서 사용
    HTTP 프로토콜 기반의 REST형식의 API사용

 

네트워크 가상화 기술

  • VLAN
    하나의 물리적인 네트워크를 여러 개의 논리적인 네트워크로 분할하는 기술
    논리적으로 분할된 네트워크들은 라우터를 거치지 않으면 통신 불가
    클라우드 서비스와 데이터 센터 사이에 VLAN 구축을 통해 프라이빗 환경 구축

  • VPN
    가상으로 전용선과 같은 사설망을 연결하는 기술
    암호화와 인증을 추가한 IPsec프로토콜 사용

  • NFV
    네트워크 기능을 소프트웨어 구현하여 가상 서버 위에 구축하는 시술
    라우터, 게이트웨이, 방화벽, 로드 밸런서 등의 네트워크 장비의 기능을 소프트웨어로 구현

 

SDN

  • 통신의 전송기능과 제어 기능을 분리하여 제어 기능을 컨트롤러에 할당하고 데이터의 흐름을 소프트웨어로 정의
  • 네트워크 가동 상황/운영에 맞추어 소프트웨어로 유연하게 데이터 전송 경로를 변경

 

데이터베이스 기술

  • RDB
    여러 개의 데이터를 행과 열이 있는 표 형식으로 표현
    복잡한 데이터의 관계를 처리할 수 있는 데이터베이스

  • NoSQL
    관계형이 아닌 데이터베이스
    대량의 데이터를 분산시켜 고속으로 처리하는 분산 데이터베이스
    어떤 쿼리 결과가 필요한지 정의한 후 그 결과에 맞는 테이블 디자인
    문서지향 형, 키 밸류형, 그래프 형, 컬럼 지향 형

분산 처리 기술

  • 데이터를 여러 개의 서버에 나누어 병렬로 처리

  • 클러스터링 : 대량의 데이터를 분산처리하기 위해 여러 개의 서버를 결합하여 하나의 컴퓨터로 보이게 만듦

  • Apache Hadoop
    1대의 마스터 서버(제어)가 여러 개의 슬레이브 서버(연산)를 관리
    처리 능력은 슬레이브 서버 수에 비례

  • Apache Spark
    메모리 안에서 대용량 데이터의 병렬 분산 처리 실행
    속도가 매우 빠르지만 대용량 데이터 처리는 적합하지 않음.
    기계학습과 같은 데이터를 반복하는 고급 데이터 분석 수행에 적합


엣지 컴퓨팅

  • 서버를 말단 디바이스에 가까운 영역에 분산 배치하여 데이터를 처리

  • 클라우드 컴퓨팅은 서버를 한곳에 모아 집중처리
    클라우드 컴퓨팅의 문제점
    통신 데이터 증가에 따른 네트워크 대역폭을 많이 소모
    서버와 거리가 멀 경우 응답 지연
    보안, 국가 및 지역에 따라 클라우드로 데이터 전송이 불가할 수 있음

 

하이퍼 컨버지드 인프라

  • 컨버지드 인프라
    서버, 네트워크, 스토리지, 소프트웨어 등을 하나의 패키지에 통합한 상품

  • 하이퍼 컨버지드 인프라
    클라우드 서비스의 기본 기능을 패키지로 제공
    소프트웨어 기반의 서버, 네트워크, 스토리지 등의 구성요소가 통합
    인프라는 서버, 네트워크, 스토리지를 모듈 단위로 구성

GPU

  • 단순하고 방대한 연산 처리가 필요한 컴퓨터 그래픽과 딥러닝에서 많이 사용
    GPGPU : 기존 GPU를 보완해 CPU의 기능을 추가해 연산속도 향상
  • CPU는 연산 장치가 수 ~ 수십개인 반면 GPU는 수십 ~ 수천개로 구성됨
    CPU는 복잡한 프로그램의 처리에 특화되어 있다면 GPU는 대량의 간단한 계산에 특화되어 딥러닝, 물리 시뮬레이션에 적합함.

서버리스 아키텍처

  • 서버리스 : 클라우드 사업자가 서버의 운영과 관리를 모두 담당, 사용자는 서버의 존재를 의식하지 않아도 된다는 의미

  • 마이크로 서비스 아키텍처(MSA) : 하나의 애플리케이션을 작은 서비스의 집합체로 구축하며, API로 연계
    클라우드 사업자는 서버, 스토리지, DB, 네트워크 등 독립적인 컴포넌트를 제공하지만 서로 느슨한 결합을 통해 전체 기능을 구현

  • 서버리스 아키텍처 : MSA로 구성된 각 컴포넌트를 조합, 클라우드 사업자가 모두 관리하는 경우 사용자는 서버의 존재를 의식하지 않은 상태에서 애플리케이션을 동작 가능
    애플리케이션을 함수 단위로 필요한 시점에 호출하여 실행

    장점 : 실제 사용량에 대해서만 청구, 인프라에 대해 신경 쓸 필요 없으며, 서버가 항상 대기하지 않고 요청이 들어올 때만 실행동적인 자원할당으로 가용성 높음

    단점 : 서버가 항상 대기하지 않아 Iaas, Paas보다 느림, 다른 플랫폼으로 이전이 어려움, 긴 시간을 요하는 작업은 비효율

FaaS

  • 이벤트에 따라 동작하는 함수로 구성

  • 작성한 코드를 서버리스 서버에 업로드 하면, 서버는 업로드한 코드를 함수 단위로 쪼갬

  • 요펑이 들어오면 서버가 대기상태로 두었던 함수를 실행

  • 함수 호출 횟수 및 시간에 따른 비용 청구

BaaS

  • 백엔드 개발에 필요한 여러 기능을 API로 제공하는 서비스

  • SNS 연동, DB와 같이 백엔드에 필요한 기능을 API로 구현할 수 있게 해줌

  • 클라우드 사업자가 백엔드 개발 환경을 제공

  • 개발자가 복잡한 백엔드 기능을 직접 개발하지 않고 클라우드 사업자의 서비스를 이용해 쉽고 안정적으로 구현

MSA

  • 기존(Monolithic)의 한계 : 전체 시스템 구조 파악 문제, 테스트 및 배포시간 급증, 서비스의 특정 부분만 스케일 아웃 하기 어려움, 부분 장애가 전체 서비스의 장애로 이어짐

  • MSA의 장점 : 서비스별 개별 배포 가능(배포), 특정 서비스에 대해 스케일 아웃 가능(확장성), 부분 장애에 대해 격리하여 확장되지 않음(장애 해결)

  • MSA의 단점 : 서비스 간 API호출 시 통신 비용이나 레이턴시 이슈, 서비스가 분리되어있어 테스트등 복잡도 증가, 데이터가 분산되어 있어 조회 및 관리 어려움



 

기타 용어

  • CSP : 클라우드 인프라 제공. 자체 데이터 센터에서 가상화한 서버, 네트워크, 스토리지 등을 제공

  • MSP : CSP와 고객을 연결. 클라우드 도입에 필요한 컨설팅, 아키텍처 구축, 모니터링, 보안 등 제공

  • MSP를 통해 최적화된 클라우드 아키텍처를 설계, 운영함으로써 비즈니스의 비용절감, 비즈니스 연속성 수행
  • 프로비저닝 : 사용자가 요청한 IT자원을 사용할 수 있는 상태로 준비하는 것.
    서버 자원, OS, 소프트웨어, 스토리지, 계정 등

  • 탄력적 컴퓨팅 : 피크 사용에 대한 용량 계획 및 엔지니어링에 대한 걱정 없이 변화하는 요구사항을 충족하도록 컴퓨터 자원을 신속히 확장/축소하는 기능
    진행중인 작업을 중단시키지 않고 실제로 필요한 리소스 양에 따라 자동 조절 -> 불필요한 속도 저하, 서비스 중단을 피함
  • 데브옵스(DevOps)
    개발/운영의 협업으로 빠른 소프트웨어 릴리즈 및 서비스 제공, 이슈 해결 등
    소프트웨어의 개발과 운영릉 연계하는 방법론, 개발팀과 운영팀의 협업 강조
    실천법 : 지속적인 통합(CI), 지속적인 배포(CD), 자동화, 협업과 공유
  • 클라우드 네이티브 : 클라우드 환경에서 가장 효과적으로 동작하는 애플리케이션 개발 및 운영 방식
    주요기술 : MSA, 컨테이너, 데브옵스, CI/CD
    애플리케이션이 하나의 큰 Monolith가 아닌 여러 개의 독립적인 마이크로 서비스로 분할하여 개발

  • IAM : 사용자가 누구인지, 어떤 권한을 갖는지, 어떤 리소스에 접근할 수 있는지 관리
    인증요소 : 사용자가 아는것(ID + PW), 사용자가 가진 것(전자 열쇠, USB 등), 사용자 자신(지문 등)
    클라우드 환경에서 사용자 엑세스 관리는 네트워크 경계가 아닌 ID가 중요

 

'클라우드 컴퓨팅' 카테고리의 다른 글

클라우드 컴퓨팅 7주차  (0) 2026.10.16
클라우드 컴퓨팅 6주차  (0) 2026.10.09
클라우드 컴퓨팅 5주차  (0) 2026.10.03
클라우드 컴퓨팅 4주차  (0) 2026.09.25
클라우드 컴퓨팅 1,2 주차  (0) 2026.09.11