Technical Architecture/OS_시스템 아키텍처 기본

1.3 기본 아키텍처(클라우드)

seongduck 2022. 12. 20. 00:33

클라우드 컴퓨팅

it 리소스를 인터넷을 통해 원하는 즉시(On demand)로 제공하고, 사용한 만큼 지불하는 것

온프레미스 환경은 OS, HW, 어플리케이션, 관리도구 등등 제각각 이여서 표준화하기 어려웠다.

하지만 클라우드는 윈도우 리눅스 뿐이다.


클라우드 컴퓨팅 서비스 구분

서비스는 소비자(Consumer), 서비스 중개인(Broker), 서비스 공급자(Provider)

각각 구현해야 할 서비스들이 있음

 

클라우드 서비스 공급자 Cloud Service Provider

클라우드 서비스 공급자는 각 Layer 별로 필요한 서비스들을 구축하여 서비스 제공

물리적인 하드웨어 ~ 가상화 Layer , 보안, 서비스 등등 구축해서 제공한다.

 

클라우드 서비스 모델

laaS, PaaS, SaaS 크게 3가지이다.

  • IaaS는 가상화된 VM을 제공하고 OS는 고객이 관리하는 모델
  • PaaS는 클라우드 플랫폼 환경에서 고객은 개발만 하면 된다.
  • SaaS는 그냥 네트워크로 접근해서 사용하면 끝

 

클라우드 서비스 모델(2/2)

 

클라우드 배치 모델

  • Public Cloud는 우리가 흔히 아는 클라우드 (AWS...)
  • 2번째는 클라우드 환경을 구축해주는 것
  • Hybrid Cloud는 퍼블릭, 프라이빗 여러가지 모델을 함께 사용
  • 4번쨰는 정부나 대기업 계열에서 공통적인 기능, 목적을 위한 클라우드 서비스 

 

*Public vs Private

*비교

public의 강점은 확정성이 우수하고 관련 db, 함수, 서비스등 도입하기가 편리하다.

빅데이터, 머신러닝 쉽게 도입가능

초기 비용이 들지 않지만 과다비용이 발생할 수 있음

 

private의 강점은 고객의 맞춤형으로 커스텀마이징 가능하다.

어느정도 규모 투자가 필요하다. 따라서 초기비용이 들지만 유지비용은 안정적이다.

 

*주요 퍼블릿 클라우드 제공업체

 

*주요 private cloud

필요한 경우 기술 지원도 가능하다.

 

퍼블릭 클라우드 업체들의 형태

IDC 설치형 클라우드를 통해 퍼블릭 클라우드 관리 툴과 아키텍처 이점을 그대로 활용

 

클라우드 컴퓨팅을 위한 핵심 기술

 

*클라우드 전환 기대 효과

모든 인프라가 코드로 작용되어 자동화에 유리하다.

 

Private Cloud

OpenStack

오픈소스를 설치하려면 가상화가 필요하다. 가상화된 컴퓨터 네트워크, 스토리지.. 등등 제공한다.

 

OpenStack 구성요소

 

OpenStack 아키텍처

3노드 아키텍처

하나하나 노드는 물리 하드웨어 하나를 의미한다.

컨트롤러 노드, 네트워크, 컴퓨터 노드 등등.

컴트롤러 노드는 2중화 3중하 가능하고

각 서비스는 별도의 노드로 분리할 수 있다.

 

규모가 작으면 하나의 하드웨어 한대에 싱글노드로 가능하다.

기본저으로는 스토리지 네트워크, 관리, 데이터, 외부 네트워크 4개를 분리하는 것이 일반적이다.

 

OpenStack 구성 아키텍처 예시

작은 사각형안에 서비스 요소, 큰 사각형은 하드웨어 서버, haproxy

노드는 3개로 분리, 각각 3중화를 진행했다.

자원 서버 풀도 블록, 오브젝트 스토리지 노드를 따로 분리해놨다. 위와 다르게

 

클라우드 아키텍처 - 글로벌 인프라

*리전과 가용영역

리전 : 지리적으로 격리되어 있는 영역

서울리전, 부산리전

 

가용영역은 리전안에서 분리된 데이터 센터

서울리전의 상암센터, 가능하다.

이중화를 구성할때 가용영역을 분리하면 데이터센터 장애에 대응이 가능하다.

클라우드의 각 리로스, 리전 별로 사용할 수 있는 자원이 다르다.

 

ec2는 가용영역에 들어가있다.

어느 리전에 어느 가용영역에 만들것이냐 라는 의미이다.

b로 못옮긴다. 이미지로 만들어서 b에 이미지를 옮겨 새로운 ec2를 만들어야한다.

다른 리전의 ec2는 ELB를 사용할 수 없다.

 

*가상 네트워크를 제공

VPC는 하나의 큰 대역폭을 제공, 

SUBNET은 온프레미스에서 VPC가 크므로 잘라서 사용할 수 있는 것

라우팅 테이블 = 경로 지정

 

*public cloud에서 제공하는 스토리지 유형

1) Block Stroage(1/2) - (I/O) 직약적

SSD가 더 비싸고 좋다 HDD보다

안에서도 고성능 대역폭확보해주는 프로비저닝된 IOPS가 있고 볼륨 크기에 따라 달라지는 범용 SSD가 있다.

처리비용보다는 저렴에 초점인 콜드 HDD

볼륨당 최대 IOPS가 가장 높고 처리량도 높다. 

HDD ST1이 SSD GP2보다 높다. 왜? 처리량 위주의 경우는 ST1이 더 좋다는 뜻이다. 일반적인것은 GP2가 높겠지만.

 

 

Object Storage

d

클라우드 상에 데이터를 업로드해서 사용하는 개념

파일시스템, 스토리지 용량 관리 등 필요 없다. 실제로 올려놓은 데이터 용량만큼 과금이 된다.

고유의 url로 호추래서 사용한다.

빠른 응답잎 ㅣㄹ요하면 비싸고 성능 좋은걸로, 백업데이터같은 느린 데이터는 저렴하고 성능이 낮은것 이렇게 사용하면 된다.

 

 

클라우드 아키텍처 - vm 인스턴스

laaS에서 온프라미스 의 서버처럼 vm 인스턴스를 제공

vm에 블록스토리지 연결하고 가상네트워크에 연결해서 사용한다.