스터디/Cloud

Cloud Service Model & Technology

elenalee 2023. 10. 23. 09:47

1. Could Service Model

CSP에서 제공하는 IT리소스의 서비스 수준에 따른 구분 

 

(1)SaaS 

사용자에게 소프트웨어를 가상화하여 제공하는 모델

- 대부분 웹브라우저를 통해 소프트웨어를 실행하므로 사용자측 다운로드/설치를 불필요

SaaS모델의 서비스 영역과 사례 (구글 Workspace, Notion, replit )

 

(2)PaaS

기업이 독자적으로 소프트웨어를 개발하거나 서비스를 제공하기 위해 PaaS활용  

PaaS모델의 서비스 영역과 사례 (DB기능 제공, 미들웨어)

 

(3)IaaS

사용자가 요구한 IT리소스를 가상화하여 제공하는 모델 

- 운영하는 서비스에 요구사항 상세히 명시

- 사용자가 인프라에 관련된 IT리소스에 대해 고수준의 제어권한 소유

IaaS모델의 서비스영역 ( 가상머신 생성으로 진행하는 여러 서비스)

 

(4)FaaS (Function as a Service) 

대규모 시스템을 구성하는 개별기능, 비지니스 로직, 함수등을 클라우드에 등록하고 실생시 요구되는 IT리소스를 CSP측에서 관리하는 모델 (서버리스 컴퓨팅 기술의 기반)

FaaS의 사례 ( Function, lambda, Cloud function)

 

(5)CaaS (Container as a Service)

사용자가 컨테이너 및 클러스트를 구동하기 위한 IT리소스 및 기술제공

- 컨테이너 : 어플리케이션과 구동에 요구되는 리소스(라이브러리, 바이너리 등)를 묶는 패키지

- 다양한 환경에서 오류없이 사용

- AKS(Azure Kubernetes Service), ECS(AWS의 Elasric Container Service)

 

(6)IaaS, CaaS, FaaS비교

IaaS(가상머신) : 호스트 OS(생략가능)위에 하이퍼바이저 컨트롤러에 가상환경(가상머신)을 생성 

CaaS : 호스트 OS에 하이퍼바이저 컨트롤러와 컨테이너 엔진으로 컨테이너 생성 

Faas :  호스트 OS에 Serverless Runtime이 요청이 오면 가상환경을 만들고 함수를 실행

 

2. Cloud 배포모델

(1)Public Cloud 

CSP가 네트워크를 통해 일반 사용자(기업)이 이용할수 있도록 컴퓨팅 리소스를 운영

 

(2)Private Cloud 

하나의 기업이나 조직이 독립적으로 컴퓨팅 리소스를 점유 (가상화가 on-premise와 차이점)

- 호스팅형 : CSP가 Private Cloud를 구성하고 유지보수

- 관리형 : 사설 클라우드의 설정 및 관리를 CSP측에서 제공해주는 형태

 

(3)Hybrid Cloud 

- 퍼블릭 클라우드와 프라이빗 클라우드 혹은 on-premise환경을 결합한 모델 

 

 

(4)멀티 클라우드

- 퍼블릭 클라우드와 프라이빗 클라우드 혹은 온프레미스 환경을 결합한 모델 (다양한 환경결합)

- 여러 클라우드의 유사한 기능을 이용하여 구성 ( ex)메가존 등 제3사의 별도 아키텍쳐로 탄력적인 구성)

 

(5)커뮤니티 클라우드

- 공통된 보안 요구사항이 있는 여러 기업내 구성원의 커뮤니티가 독점 사용할수 있도록 리소스 관리

ex) 보험, 뱅킹등이 연합하여 IDC를 설치하고 서비스를 운영 

 

3.  클라우드 컴퓨팅 기술

(1)가상화 기술

S/W적으로 어플리케이션, 서버, 스토리지, 네트워크 같은 IT리소스를 논리적으로 분할/통합, 리소스의 이용율과 가용성을 높이는 기술

- 물리적 IT리소스를 가상의 IT리소스로 전환 

- 하나의 서버로 여러 개의 실행환경구성

 

▷ 가상화기술의 장점

- 물리적 리소스의 소유비용을 감축, 유지보수 용이

 

 가상화 소프트웨어의 역할 

CPU, GPU, 메모리, 스토리지와 같은 하드웨어 리소스와 OS, 런타임등 소프트웨어 리소스를 가상화하여 소프트웨어 플랫폼 역할을 수행 

- 사용자의 요청에 탄력적으로 리소소를 제공하는 클라우드 컴퓨팅에 적합 

 

 가상머신 (Virtual Machine)

가상화 기술을 통해 나누어진 기초적 논리적 단위의 머신

HW 리소스를 OS가 아닌 VM수준에서 제어, 하나의 HW에서 서로 다른 여러 OS실행가능

 

 가상화 기술의 역할

파티셔닝 : 하나의 물리적 머신을 분할/분배

캡슐화 : HW제어의 복잡한 기능을 감추고 간단 인터페이스 제공(폴더, 파일로 가상머신 구조화)

격리 : 장애, 보안 발생시 캡슐화된 가상 머신 분리

HW독립화 : 하나의 물리적 머신 안에서 가상머신을 독립적으로 가동

 

 

4. 서버 가상화

1960년대 이후 다수의 IT리소스 관리와 운영의 어려움을 보완하기 위해 연구/개발

컴퓨터 시스템에서 내부적으로 가상의 기능과 구성요소를 만들어내기 위해 적용

 

- 가상화의 분류 : 호스트 가상화 방식, 하이퍼바이저 가상화방식, 컨테이너 방식 

 

 

(1) 호스트 가상화 

HW에 설치된 호스트 OS상에 가상화 SW가 설치되고 실행을 위한 게스트 OS가 구동

    호스트 OS(하드웨어 직접관리), 게스트 OS(가상머신에 소프트웨어 실행환경제공)

▷ 장점 : 게스트 OS가 HW리소스를 접근하고 제어하는 것을 동기화하므로 Host OS에 제약없음

▷ 단점 : 두개의 OS가 공존하여 필요 이상의 CPU, 메모리 사용의 오버헤드 발생

- VMWare Workstation, Microsoft Virtual Server, Oracle Virtual Box

 

(2) 하이퍼바이저 가상화 

특정 OS에 의존하지 않고 하드웨어에 직접 설치되는 구조의 가상화 기술 

- 오버헤드 비용이 적음, 하드웨어를 직접관리하여 리소스관리가 유연

- VMWare ESXi(전가상화), Microsoft Hyper-V(전가상화), Citrix XenServer(반가상화)

 

전가상화 방식(full-virtualiazation) 

-HW를 완전히 가상화

- 관리용 가상머신 DOM0로 게스트OS의 커널요청을 번역하여 하드웨어 전달

-병목현상으로 인한 성능저하 발생

 

 가상화 방식(para-virtualiazation) 

- 게스트 OS가 하이퍼콜을 요청할수 있도록 커널이 수정된 형태

- 리눅스와 같은 오픈소스 OS외에는 반가상화가 어려움 (커널이 수정되기 어려움)

 

(2) 컨테이터 가상화 

▷ 컨테이터

어플리케이션 동작에 필요한 라이브러리와 종속리소스(런타임, 프레임워크 등)를 묶어

패키지로 생성한 호스트 OS상의 논리적 구역(하나의 이미지로 묶음)

 

▷ 장점 

고속 작동 ( 게스트 OS실행에 소요되는 오버헤드가 없음)

미들웨어나 라이브러리 버전에서 야기된 문제등을 컨테이너를 통한 격리로 해결 (CICD)

 

▷ Docker (오픈소스 컨테이너 엔진, 런타임)

반가상화보다 더 경량화된 방식의 리눅스 컨테이너를 기반으로 이미지 생성과 배포에 특화

 

▷ Kubernetes

컨테이너 분산배치, 상태관리 및 구동환경을 관리해주는 도구 (오케스트레이션)

Kubernetes v1.2부터 도커지원중단

 

가상화 운용의 실재

 

5. 네트워크 가상화

네트워크상의 물리적 동질성을 논리적으로 분할하여 여러 네트워크로 분할하는 기술

 장점 

네트워크 리소스 보안향상 (논리적 네트워크가 분할로 보안상 발생할수 있는 문제차단)

비용절감  (네트워크 분할시 라우터, 스위치 등 추가장치가 요구되지 않음)

네트워크 설정작업의 편의성 ( 간단한 설정만으로 쉬운 네트워크 구성 및 관리가 가능) 

 

  네트워크 가상화 기술 : VLAN, VPN, NFV, SDN 

서로 다른 상황에서 가상화를 수행하므로 교차, 상호 보완적으로 활용됨  

 

(1) VLAN(Virtual LAN)

- L2스위치로부터 발신되는 모든 패킷(데이터그램)에 포트별 부여된 고유태그번호 추가

- 지정되지 않은 태그의 패킷 전송차단, 태그로 하나의 물리 네트워크 안에서 그룹분할

 

(2) VPN(Virtual Private Network)

- 불특정 다수가 이용하는 공용 네트워크에 가상의 전용선과 같은 효과를 제공하는 기술

 

터널링

논리적으로 분할된 네트워크는 추상적으로 같은 도메인내에 있는 지정된 호스트만 연결한기 위한 오버레이 네트워크를 구성하는 기술 (PPTP, IPsec 등), 헤더에 패킷에 관련된 정보를 알수 있으며 사전에 교환한 키로 복호화하여 내용을 확인 

 

 사설네트워크 구축의 경우 전용회선설치에 막대한 비용이 요구 

( 사설네트워크 : 특정 조직이 독점적으로 사용하는 사설 IP대역주소를 이용하는 네트워크 )

 

 

(3) NFV(Network Functions Virtualization)

네트워크 장비의 도입없이 네트워크 기능을 소프트웨어로 가상화하여 서버에 구축하는 기술

- 신규소프트웨어 적용시 하드웨어 장비구축 불필요 

- 서비스 및 트래픽 변화에 신속한 대응 

- 네트워크 유지보수 비용절감

- 빠른 네트워크 업그레이드

 

 

(4) SDN (Software Defined Network)

OS, 라우터, 스위치 등이 포함된 제어층을 S/W기반 기술로 전환 혹은 가상화하는 기술

 

6. 스토리지 

(1) Storage System

단순 데이터의 저장/접근지원에서 처리/공유관점에서 새로운 기능을 갖춘 장치로 진화

 

▷ 대용량 및 고속데이터 처리(효율적인 데이터공유) :  공유, 분배(할당), 보안강화

확장성, 사용성, 유연성 확보

 다양한 접근방식

 

(2) Storage의 논리적 접근단위

형태별 데이터를 효과적으로 관리할수 있는 장치 메커니즘 마련

- 전통적 텍스트 및 바이너리 데이터외에 비정형 데이터증가

 

 파일 : 데이터 스트림이 파일로 저장되어 폴더로 구조화되는 단위

 블록 : 스토리지 하드웨어에 가장 가까운 수준의 최소 데이터 단위 (디스크 입출력을 위한 단위)

 데이터세트 : 데이터가 테이블, 단락, 레코드와 같은 형식으로 구성된 단위 (비정형 데이터 집합접근 지원)

 오브젝트 : 데이터가 객체단위로 구조화된 스토리지 (블럭 스토리지)

                    데이터/메타데이터로 구성된 오브젝트에 고유ID부여 (수평적 접근)

 

7. Storage 다중화 및 확장기술 

고용량 데이터를 처리(단일 디스크로 처리할수 없는)하기 위해 디스크를 논리적으로 묶어 서버와 연결하여 사용하는 스토리지 방식 - RAID, NAS, SAN

 

(1) RAID (Redundant Arrays of Independent Disks)

다수의 디스크를 병렬적으로 구동하는 동시에 시스템의 신뢰성을 향상

- 중복된 데이터의 분산저장

- 디스크 장애 발생시 손실된 데이터의 복구가능

   미러링 : 쓰기 연산 발생시 분산된 모든 물리디스크에 기록

- 다수의 디스크가 읽기 요청을 나누어 처리하여 읽기 속도향상 (병렬성 향상)

 

 RAID 0과 1

RAID 0(Striping, 분산저장으로 데이터 전량손실 방지)

데이터를 블럭단위로 구분, 블럭의 데이터가 여러 디스크에 나뉘어 저장(손상에 대비)

RAID 1(Mirroring, 안정성 대폭 향상)

2개의 디스크가 완전히 동일한 데이터를 저장할수 있도록 함 

 

RAID 3과 4

RAID 3(패리티 기반 스트라이핑)

에러의 검출 및 정정을 위한 별도의 패리티 디스크 유지

바이트 단위(RAID3), 블록단위(RAID4)

 

(2) NAS (Networks Attached Storage)

네트워크 스위치를 통해 데이터를 송수신하는 저장장치 (저장전담장치)

- 중계역할을 하는 전용파일서버(NAS)에 파일 시스템 설치되어 있음

   ( 네트워크에 연결된 여러 서버들이 권한이 있는 ID로 저장 요청시 저장 수행 )

- 전용파일서버에서 파일의 일관성 및 무결성 유지, 여러서버에서 공유가능 

- 대량의 I/O가 발생하면 지연율 증가로 DB와 같은 서비스에 부적합 

  (서버간 입출력이므로 요청이 많으면 과부하)

 

(3) SAN (Storage Area Network)

여러종류의 데이터 저장장치와 데이터를 사용할 서버를 파이버 채널을 사용하여 Fiber 채널스위치로 연결한 고속데이터 네트워크(광섬유)

- 고속의 I/O 채널제공  (광섬유 선과 스위치로 매우 고가)

   논리적으로 가상화된 네트워크 영역을 가지며, 할당된 서버만 사용가능

- 이기종 서버환경 지원 한계(벤더 의존성이 높음, IBM/Oracle/HP이 서로 다른기술) 

 

8. 스토리지 가상화 기술 

(1) 스토리지 가상화

- 물리적 스토리지 시스템과 서버사이에 가상화 소프트웨어 층을 추가

- 어플리케이션 구동시 필요한 데이터 위치에 대한 드라이브, 파티션, 스토리지 인식없이 사용가능

- 디바이스 크기나 특정, 제조사 등 이기종 디바이스 특징에 관계없이 단일 스토리지 계층으로 그룹화하여 운영하는 유연한 구조 

** RAID, NAS, SAN등은 다수의 디스크를 관리하고 유지하는데 많은 인력과 비용 소요

 

(2) 스토리지 가상화 구조 

여러 스토리지 디바이스를 단일 리소스로 인식하고 provisioning

가용성 확보 및 무중단 서비스 지원 

 

(3) 스토리지 가상화 기술 

 디스크 컨트롤러 가상화 

스토리지 서브 시스템 또는 컨트롤러를 파티션으로서 나눠 여러 컨트롤러가 있는 것처럼 가상화

 네트워크 기반 스토리지 블록 가상화

서로 다른 스토리지 컨트롤러로부터 유휴디스크 공간을 모아 하나의 큰 디스크풀로서 제공 

 소프트웨어 정의 스토리지 

하드웨어와 스토리지 소프트웨어를 분리하는 스토리지 아키텍쳐 (SDN과 유사한 개념)

하드웨어에 대한 소프트웨어의 종속성을 제거, 사용자가 필요에 따라 가변적 스토리지 확장가능

 

9. 클라우드 서비스 무정지 기술

(1) 무정지 기술이란 

대량의 물리서버운용이 필요한 클라우드 서비스가 중단없이 장애에 대응할수 있도록 사용되는 기술

- 물리서버가 장애방지 혹은 장애조치가 되어있지 않으면 장애 발생시 SPOF발생

- SPOF(Single point of failure): 시스템 구성요소중 정상적으로 동작하지 않으면 전체 시스템이 정지되는 지점 혹은 장치

** 클라우드 서비스 장애는 장비노후화로 인한 무응답, 물리적 고장 외 다수

 

(2) 무정지 기술 

 장애방지 시스템 (Fault tolerance system)

시스템 일부의 결함, 고장이 발생하여도 정상적 혹은 부분적으로 기능을 수행할수 있는 시스템

  장애조치 시스템 (Failover System)

컴퓨터 서버, 시스템, 네트웤 이상시 예비 시스템으로 자동전환되는 기능을 수행하는 시스템 

 

(3) 동적 장애감지

 물리적 리소스에 발생하는 장애 : 메모리 에러, 디스크에러, CPU에러, 장비 노후로 인한 시스템 크래시

  클라우드 모니터 

     가상서버, 네트워크 장비등의 클라우드 리소스의 사용량과 이벤트가 발생 감시, 장애발생 시 조치 

** 물리 장비들이 배치된 데이터센터에 장애 발생시 매번 원인을 찾고 해결하는 것은 비효율적

 

(4) 장애 감지 및 조치 

장애감지 : 하트비트 모니터링 (헬스체크), 일정 간격으로 확인한 후 장애발생시 조치 수행 

▷ 장애조치

- 네트워크 문제 혹은 타 문제인지 판별

- 장치 오류시 단계적 조치 (Escalation)

- 장애 이벤트 발생시 운영중인 가상서버는 새로운 물리서버의 하이퍼바이저에게 새 가상서버 생성요청, 새 서버 생성완료시 운영중인 가상서버 migration

 

 

'스터디 > Cloud' 카테고리의 다른 글

Cloud Architecure  (1) 2023.10.23
On Premise & Cloud  (0) 2023.10.20