본문 바로가기

Cloud Computing

[이론] Cloud Infrastructure

Key Point : Cloud Infrastructure 에서 Server / Networking / Storage

# Formal Definition

👉 서비스 공급자와의 상호 작용 및 최소한의 관리 없이 신속하게 Provisioning and Releasing 할 수 있는 컴퓨팅 리소스의 공유 풀에 대해 ubiquitous, convenient, on-demand network access 를 가능하게 하는 모델

( 컴퓨팅 리소스 : 네트워크 / 서버 / 스토리지 / 애플리케이션 등 )

👉 컴퓨팅을 Utility 로써 사용하는 것

( 제 3자(AWS / Azure) 또는 내부 조직에 의해 아웃소싱 된다. )

# Essential Characteristics

👉 On-demand 셀프 서비스 / 광범위한 네트워크 접속 / Resource pooling / Rapid elasticity / Measured 서비스

# On-premise Server (-)

: 서버 및 저장공간, 네트워킹 장치 구매 필요

: 서버 관리 스태프 고용 필요

✅ Business 쉽지 않다 !

✅ 부하(load) 다양 ↑  == dimension 설정 어렵다 !

( 대부분의 유저는 밤에 게임 플레이  낮에 ↓ )

 

👉 2-Solution

- Peak load  대한 Provisioning

: Capacity 를 Max 에 맞춰 문제 해결

: 자원 및 돈 낭비 == inefficient

- Peak load 미만의 Provisioning

: Capacity 를 Max 중 Min 에 맞춰 문제 해결

( 나중에는 불만족한 유저가 빠져나가면서 정해진 Capacity 에 Max user 수가 맞춰진다. )

: 유저가 빠져나가는 것이기 때문에 좋은 케이스가 아니다.

( Potentially lose money ! )

👉 어찌됐든 2-solution 모두 결국 lose money !

✅ 유지 및 설치 비용 ↑

✅ HW 투자 비용 

✅ 전문지식 필요

👉 Server Cluster 계획 및 세팅 작업은 매우 번거롭다.

👉 Cluster 에서 특정 SW 가 필요할 수 있다.

✅ 유지보수 필요

👉 결함이 있는 HW 교체 / SW Upgrade / 사용자 계정 유지 관리

✅ Scailing-up 및 Scailing-down 이 어렵다.

 

- Scailing-up

       👉 Single Server 의 CPU 메모리 업그레이드 ( Capacity ↑ )

       👉 새로운 서버 오더 및 설치, 기존 클러스터와의 통합이 필요하다. ( 소요시간 ↑ )

       👉 Large scailing factor 경우 대대적인 재설계가 필요할 수 있다.

           ( 새로운 저장 시스템 및 Interconnect, Building )

- Scailing-down

       👉 CPU 메모리 다운그레이드 ( Capacity ↓ )

       👉 Idle State 에서도 서버는 최대 전력의 약 60%를 소비한다.

       👉고정 비용 ↑

- Scailing-out

       👉 녹강을 다시 확인합시다       

# Cloud Service (+)

✅ Investment and Proportional 비용 ↓

👉 SW/HW 구입 및 소유 비용과 같은 초기 IT 투자 

✅ Pay-as-you-go 가격 책정 ( Usage 기반 )

👉 중단하지 않으면 ? 계속 money ↑

👉 대부분의 서비스는 분당(AWS EC2) 또는 바이트당(Storage Service) 요금을 부과한다.

👉 Minimum 및 Up-front 요금 X

👉 앱의 활용도가 가변적인 경우에 유용하다.

✅ 확장성 ↑

👉 Cloud 는 IT 리소스를 On-demand 유저에게 즉각적으로 동적으로 할당해줄 수 있다.

👉 게임 이용자가 늘어나면 ? IT 리소스의 Capacity 를 즉시 향상시켜 모든 유저가 게임을 플레이할 수 있다.

✅ Economies of Scale

👉 시스템을 규모에 맞게 구입 및 전원 공급, 관리함으로써 유닛당 비용 

👉 클라우드 사용자를 위한 저렴한 사용료

✅ Availability 및 Reliability ↑

👉 가용성이 향상된 IT 리소스에 장기간 접근 가능하다.

👉 신뢰성이 향상된 IT 리소스는 예외 조건을 보다 효율적으로 방지 및 복구가 가능하다.

👉 클라우드 제공자는 ↑ 가용성을 보장할 수 있는 탄력적인 IT 리소스를 제공한다. (SLA)

👉 클라우드 환경의 Modular Architecture 는 신뢰성을 높이는 광범위한 페일오버를 지원한다.

( 페일오버(failover) : 시스템 대체 작동 _ 주 시스템 작동이 중지되면 예비 장치가 자동으로 대체 작동 )

👉 클라우드 서버 사용을 신청하면 ? 자동으로 SLA Contract 가 뜨고 작성하도록 되어있다.

# Cloud Service (-)

✅ 보안 취약점 

👉 클라우드 제공자가 클라우드 소비 데이터에 대해 접근할 수 있는 권한을 갖는다.

👉 특권(많은 기회)을 가진 악의적인 클라우드 사용자가 IT 리소스를 공격하고 데이터를 훔치거나 손상시킬 수 있다.

✅ Operational governance control ↓

👉 클라우드 사용자는 일반적으로 on-promise IT 리소스보다 낮은 수준의 governance control 을 할당받는다.

✅ 클라우드 제공자 간 이동 제한

👉 퍼블릭 클라우드는 다양한 범위에서 독점적이다.

👉 1 클라우드 제공자 → 다른 클라우드 제공자로의 이동이 어려울 수 있다.

✅ Multi-regional compliance 및 법적 이슈

👉 주요 compliance 이슈는 데이터 및 프라이버시와 관련된 것이다.

👉 지역마다 데이터 및 개인 정보 보호 규정이 다르다.

# Cloud Infrastructure

: Main physical component 로 Servers / Networking equipment / Storages 가 있다.

: 일반적으로 많은 서버와 스토리지, 네트워킹 장비(?) 로 이루어진 데이터센터 형태로 지어진다.

 

✅ Server

👉 클라이언트에게 서비스를 제공하는 컴퓨터

👉 일반적으로 많은 수의 요청을 서비스하기위해, 신뢰성을 위해 설계되었다.

: 신뢰성과 1-2 소켓으로 구성된 Multi-core CPU Server

: 메인 메모리 with ECC

👉 모든 서버는 "Heterogeneous" 하다. ( Homogeneous X )
: 서버가 다른 내부 HW 구성을 가질 수 있다는 것을 의미한다.

: Configuration 은 Major 앱 클래스에 최적화되어 있다.

👉 GPUs / FPGAs / Custom accelerators of AI

 

      ✅ Blade Server

       👉 조직은 그들의 컴퓨터 인프라에 사용된 Floor Space를 절약? 보존?하고 싶어한다.

       👉Large-scale 설치의 경우, 소형 서버가 사용되며 이를 "Blades" 라고 부른다.

      : 도움 되는 부분 _ Floor Space / Manageability / Scalability / Power 및 Cooling

      👉 Blade Server 는 "Racks" 에 포함된다.

      👉 Rack 유닛에 맞도록 모듈식으로 설계되었다.

      👉 1-Single Rack 은 최대 42개의 1U Blade Server 를 수용 가능하다.

     

 

✅ Networking equipment

👉 클라우드 리소스는 일반적으로 인터넷을 통해 이동한다.

👉 Third-party Service Provider(= 데이터센터)가 이를 가능하게 하는 네트워킹 인프라를 구축하고 유지할 필요가 있다.

👉 필수 _ 물리적인 케이블 / 스위치 / 라우터 / 무선 액세스 포인트

👉 장치(Nodes 또는 Servers)가 함께 연결되는 물리적 배열 

  • Bus : 1-케이블에 여러 개의 장치가 연결된 형태
  • Tree : 1-루트 노드에 다른 노드들이 계층적으로 연결된 형태
  • Ring : 여러 개의 장치가 닫힌 루프로 연결된 형태
  • Star : Hub 를 Central 장치로 두고 모든 컴퓨터가 연결된 형태

왼쪽부터 순서대로 Bus . Tree . Ring . Star

Storage

👉 기본 스토리지 장치 : Disk trays / SSD 및 NVM(Non-Votile Memory) flash

👉 Array : 중앙 관리 시스템에서 최대 페타바이트의 데이터를 저장할 수 있는 일련의 드라이브를 하나의 시스템으로 연결한다.

👉 Storage Array : 일반적으로 사용하는 네트워크를 통해 여러 서버에 스토리지를 제공할 수 있는 방식으로 구성된다.

( Computing Server 와 별개로 Storage 위한 또 다른 Dedicated Server 가 존재한다? )

 

✅ Cluster

👉  많은 Rack 이 하나의 클러스터를 형성한다.

  • Network Switch : 노드간 또는 노드와 랙을 연결
  • Many Nodes 및 Blades
  • Storage Device(s)

✅ Datacenter

👉 대형 서버 - 스토리지 Faems 서로 연결된 형태(?)

: 100 코어를 가진 Rack 50-200K 개

: 10-100MW 전력 소비

: 매우 큰 단위의 스토리지

👉 "Cooling Plant" 와 함께 존재한다.

( ↑ 컴퓨터의 ↑ 열을 식혀주기 위해서 )

 

      ✅ 내부 구성 요소

  • Giant Warehouse : 서버 랙 / 네트워크 스위치 / 스토리지 어레이
  • Air Conditioning (쿨링)
  • Redundant Power : UPS 및 Generators / 다중 전원 공급
  • Fire Protection
  • Physical Security
  • Monitoring Systems

       ✅ Globally Distributed

  • 사용자와 물리적 거리가 가까워야 하기 때문에
  • 더 저렴한 리소스를 위해서
  • 실패에 대해 보호하기 위해서

 

✅ Power 및 Cooling

👉 클러스터는 많은 양의 전력이 필요하고 전력의 대부분은 열로 전환된다.

👉 규모가 큰 클러스터는 방대한 Cooling 이 필요하다.

👉 결론 _ 데이터센터는 많은 양의 에너지를 소비한다.

 

++ 마이크로소프트's Underwater Datacenter ++

  • 해안 인구의 빠른 클라우드 서비스를 위해
  • 쿨링을 위해

'Cloud Computing' 카테고리의 다른 글

[Serverless Discord Chatbot]  (0) 2023.12.01
[이론] Cloud Platforms 및 AWS Intro  (0) 2023.09.19