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 장치로 두고 모든 컴퓨터가 연결된 형태

✅ 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 |