클라우드

클라우드 (1)

으엉어엉 2024. 9. 26. 21:28
728x90

빅테이터의 3대 요소 : 3Vs 

  • 크기 (Volume)
  • 속도(Velocity)
  • 다양성(Variety) 
  • +  가치  (Value)

 

1. 크기

일반적으로 수백 TB or 수십 Pb 이상

기존 파일 시스템에 저장하기 힘들어졌음 + 데이터분석을 위해 사용하는 데이터 웨어하우스 같은 솔루션에서 소화하기 어려울 정도로 급격히 데이터양 증가

 

-> 확장가능 ( 저장 + 분석 => 분산 컴퓨팅)

 

2. 속도

실시간 처리 : 매우 빠른 속도로 생성. 데이터의 생산 저장 유통 수집 분석의 실시간 처리 중요

장기적인 접근 : 대량의 데이터를 다양한 기술로 분석



3. 다양성

  • 정형
    • 고정된 필드에 저장되는 데이터
    • 기존의 솔루션이용 -> 보관, 분석, 처리 작업
  • 반정형
    • 메타 데이터나 스키마를 포함하는 데이터
  • 비정형
    • 고정된 필드에 저장되어있지않은 데이터
    • 동영상, 사진, 메신저로 주고받는 대화내용, 위치정보 등

 

 

빅데이터의 중요성

  1. 비용절감 - > 클라우드 기반 분석은 상당한 비용 이점
  2. 빠르고 나은 의사 결정 -> 메모리 분석의 속도와 새로운 데이터 소스를 분석할 수 있는 기능 결합
  3. 새로운 제품 및 서비스 - > 고객의 요구와 만족도를 측정할 수 있다.

 

▪ 클라우드 컴퓨팅은 다섯 가지 속성으로 구성

1. On-demand self service -> 필요할 때 편하게 쓸 수 있다.

2. broad network access -> 어디서든 편하게 쓸 수 있다.

3. resource poolng -> 원하는 대로 할당 가능

4. rapid elasticity -> 요구에 따라 신속하게 확장하거나 축소할 수 있다.

5. measured service -> 사용량을 측정할 수 있다. 

 

 

 

 

▪ IaaS (Infrastructure-as-a-Service) –  서비스형 인프라

– 서버/스토리지/네트워크 등의 H/W 자원을 필요에 따라서 사용할 수 있게 제공하는 형태

Ex) EC2, 

 

▪ PaaS (Platform-as-a-Service) – 사용자는 관리 필요가 없다.

– 서비스를 개발할 수 있는 안정적인 환경(Platform)과 응용 프로그램을 개발할 수 있는 API까지 제공하는 형태

– 개발자들

Ex) Google App Engine, 

 

▪ SaaS (Software-as-a-Service)

– 클라우드 환경에서 동작하는 응용프로그램을 서비스 형태로 제공하는 형태

– IT departments

– 보안성능 제어 ↓

 

 

유틸리티 컴퓨팅 ( Utility Computing ) 

 

컴퓨팅 자원을 계량된 서비스로 제공한다. 사용한 만큼 사용량에 따라 요금을 지불한다.

가상머신을 동적으로 할당한다 . 필요에 따라 가상머신을 쉽게 생성하거나 제거할 수 있다.

 

사용 이유

Cost : 유틸리티 컴퓨팅을 사용하면 초기 자본 비용을 줄이고 실제 사용량에 따라 운영 비용만 지출하게 된다.

Scalability:  무한한 용량 유틸리티 컴퓨팅을 무한한 컴퓨팅 자원을 사용할 수 있다. 추가 자원을 요청할 수 있다.

Elasticity :  필요에 따라 확장하거나 축소할 수 있다.

 

 

 

 

  1. Type 1 Hypervisor (타입 1 하이퍼바이저):
    • Bare-Metal 하이퍼바이저라고도 불리며, 하드웨어 위에 직접 설치
    • 하이퍼바이저가 직접 하드웨어 자원을 관리하며, 그 위에 여러 운영체제(OS)를 가상 머신 형태로 실행할 수 있다
    • 성능이 좋고 효율적이어서 서버나 데이터 센터에서 많이 사용된다

단점:

  • 복잡한 관리: Type 1 하이퍼바이저는 고급 네트워크 및 가상화 기술을 필요로 하여 관리가 복잡할 수 있다.
  • 전문 지식 필요: 하드웨어와 직접 상호작용하므로, 설정과 유지보수에 대한 높은 수준의 기술적 지식이 요구된다.
  • 하드웨어 의존성: 직접 하드웨어에서 실행되기 때문에 특정 하드웨어나 구성 요소에 대한 의존성이 있을 수 있다.
  • 비용: 주로 기업 환경에 맞춰진 솔루션이기 때문에, 설치 및 라이선스 비용이 상대적으로 높을 수 있다.

 

  1. Type 2 Hypervisor (타입 2 하이퍼바이저):
    • Hosted 하이퍼바이저라고도 불리며, 기존 운영체제(Host OS) 위에 설치된다
    • 하이퍼바이저는 응용 프로그램처럼 Host OS에서 실행되고, 그 위에서 게스트 운영체제(Guest OS)를 실행할 수 있다
    • 설치와 사용이 쉬워 개인 PC나 테스트 환경에서 주로 사용된다

단점:

  • 낮은 성능: 기존 OS 위에서 실행되기 때문에 Type 1에 비해 오버헤드가 높아 성능이 떨어질 수 있다.
  • 보안 취약성: Type 2 하이퍼바이저는 호스트 OS에 의존하므로, 호스트 OS의 보안 취약점이 가상 환경에도 영향을 미칠 수 있다.
  • 자원 소모: 호스트 OS와 하이퍼바이저가 함께 자원을 사용하기 때문에 메모리와 CPU 소모가 많아질 수 있다.
  • 네트워크 성능 저하: 호스트 OS를 거쳐 네트워크를 이용하기 때문에 네트워크 성능이 저하될 수 있다.

 

 

주요 차이점:

  • Type 1은 하드웨어에 직접 설치되어 성능이 좋고 안정적이며 주로 서버 환경에서 사용된다
  • Type 2는 기존 OS 위에 설치되므로 사용이 간편하지만, 성능과 자원 효율성에서는 Type 1보다 낮다

3. 컨테이너 기반 가상화

  • 구조: 호스트 OS 위에 컨테이너 엔진(예: Docker)이 실행되며, 각 애플리케이션은 호스트 OS를 공유하고 격리된 컨테이너에서 실행.
  • 장점:
    • 가벼운 자원 사용: 컨테이너는 별도의 게스트 OS가 없으므로, 메모리 및 CPU 사용량이 적다.
    • 빠른 시작 및 실행 속도: OS 레벨 격리로 인해 애플리케이션 시작과 실행 속도가 빠르다.
    • 높은 확장성: 경량 컨테이너 덕분에 서버당 더 많은 애플리케이션을 실행할 수 있다.
  • 단점:
    • 낮은 격리 수준: 호스트 OS를 공유하므로, 보안성이 다소 낮아질 수 있다.
    • 운영체제 제한: 주로 동일한 OS 환경에서 실행 가능하며, 다양한 OS를 동시에 실행하기 어렵다.

 

 

동시성(Concurrency)은 이해하기 어려움

 

  • 데이터센터 규모에서의 동시성은 훨씬 더 복잡하다. 수천 대의 서버가 동시에 작동하며, 이러한 서버들이 서로 상호작용할 때 발생하는 문제를 관리하는 것은 매우 어렵.
  • 장애가 발생할 때: 시스템 장애나 네트워크 오류가 발생할 경우 동시성을 관리하는 것은 더욱 복잡해집니다. 장애 상황에서도 시스템이 일관되게 동작하도록 설계하는 것은 매우 도전적인 과제입니다.
  • 현대의 시스템은 여러 서비스가 서로 상호작용하는 복잡한 구조로 이루어져 있다.

 

 

 

 

 

 

 

데이터센터 컴퓨터는 추상화를 잘해야 한다. 그리고 경쟁사새, 락 충돌등 문제를 걱정할 필요가 없고 신뢰성, 결함성을 명시적으로 걱정할 필요가 없다.

 

무엇을 할 지와 어떻게 할 지를 분리한다.

 

 

 

데이터 센터를 하나의 큰 추상화 컴퓨터로 동작시키기 위한 4가지 디자인 방향

  1. Scale out , not up 확장성은 업이 아니라 아웃이다. 성능을 높이는 데에는 한계가 있다. 다수의 서버를 이용하는 out 확장이 효율적이다.
  2. 데이터 근처에서 처리를 수행한다. 클러스터는 대역폭이 제한되기 때문에 데이터를 많이 이동하는 것은 비효율 적이다.
  3. 데이터를 순차적으로 처리하고 랜덤접근을 피해서(오버헤드 발생할 수 있다)  비용문제와 디스크처리량을 적절히 한다.
  4. 원활한 확장성을 가지게 한다.

 

 

728x90

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

클라우드 (3)  (0) 2024.09.27
클라우드 (2)  (0) 2024.09.26