Cloud

[클라우드 컴퓨팅] Intro

  • -
728x90

* 클라우드 컴퓨팅 과목을 수강하며 중간고사까지 배웠던 내용의 일부를 정리한 글입니다.

클라우드 컴퓨팅 개념의 탄생

존 매카시가 유틸리티 컴퓨팅을 제안함 → 1990년 중반까지 결과가 안나옴

레너드 클라인록: 집 사무실 어디서도 컴퓨터를 사용할 수 있을 것이다.

켈 올슨: 개인이 집마다 컴퓨터를 둘 필요가 없다.

클라우드 컴퓨팅 정의

클라우드는 존재를 인지할 수 있지만 실체를 확인할 수 없음: 손에 잡히지 않는다. 근데 인터넷으로 실체인 컴퓨팅 자원에 접근이 가능하며, 이 실체가 바로 컴퓨팅을 수행

| 최소한의 관리 노력과 (서비스 제공자와의) 상호작용을 통해 빠르게 제공되고 반환될 수 있는 (설정 가능한) 컴퓨팅 공유 자원 풀(네트워크, 서버, 스토리지, 응용, 서비스) 에 언제 어디서나 편리하게 온디멘드 방식으로 네트워크(인터넷) 접근을 가능하게 하는 모델

  • 클라우드 컴퓨팅의 다양한 정의에도 불구하고 몇 개의 공통점이 존재
    • 결국, 클라우드 컴퓨팅은 다양하게 정의되고 있지만, 컴퓨팅 자원을 인터넷을 통해 온디맨드 방식으로 확장성 있게 접근하는 모델→ 온디맨드, 확장성, 인터넷, 컴퓨팅 자원 등
  • 하지만, 이 모든 정의는 서비스라는 관점에서 기술되어 있음
    • 사용자 관점에서 정의
  • 클라우드를 제공하는 데이터 센터 관점에서도 생각해볼 필요가 있음
    • 컴퓨팅 자원의 효율화 관점에서 클라우드 컴퓨팅의 특징을 살펴봄

클라우드 컴퓨팅 특징

  1. 온디맨드 셀프서비스 on-demand self service사용자는 클라우드 서비스 제공자의 직접적인 관여 없이 원하는 컴퓨팅 파워, 네트워크
    스토리지와 같은 자원을 자동으로 프로비저닝 provisioning할 수 있음
  1. 광대역 네트워크 접근 broad network access네트워크를 통해서 모바일 폰, 노트북, PDA와 같은 다양한 이기종 클라이언트
    플랫폼을 통해 클라우드 컴퓨팅 자원에 접근할 수 있음
  1. 리소스 풀링 resource pooling서비스 제공자의 컴퓨팅 자원(resource)은 풀링되어 서로 다른 사용자가 컴퓨팅 자원을 나누어서 사용하는 멀티테넌트 모델 (multi-tenant model)로 다양한 사용자에게 제공
    • 리소스 → 데이터 처리를 위한 프로세싱 파워, 메모리, 네트워크, 스토리지, 가상머신 등
    풀링된 물리/가상 컴퓨팅 자원은 요구에 맞게 제공 및 회수
    • 회수된 자원은 다른 사용자에게 재할당 가능
    클라우드 컴퓨팅 사용자는 실제 클라우드 컴퓨팅 자원이 어디에 있는지 알 수 없고 실제 시스템에 대한 직접 제어를 할 수가 없음
    • 개략적인 정보만 알 수 있음
      • 클라우드 컴퓨팅 자원의 국가, 지역, 데이터 센터 등
  1. 신속한 탄력성 rapid elasticity클라우드 컴퓨팅 자원을 신속하게 프로비저닝하여 배포 가능
    • 사용자에게는 컴퓨팅 자원이 언제든지 원하는 만큼의 자원을 제약 없이 제공되는 것처럼 보이게 함
  2. 사용자의 요구량에 따라 자원의 규모를 확장 및 축소 가능
  3. 사용량 측정 measured service클라우드 컴퓨팅 자원의 사용량은 측정 가능
    클라우드 컴퓨팅 자원에 대한 모니터링, 제어, 사용량 등이 클라우드 서비스 제공자와 사용자에게 모두 투명하게 제공

클라우드 Intro.

언제 어디서나 편리하게 온디멘드 방식으로 인터넷의 접근을 가능하게 하는 모델이다.
이 클라우드 컴퓨팅은 다양하게 정의되는데, 이 모든 정의에서 공통점을 꼽을 수 있다. 온디맨드, 확장성, 인터넷, 컴퓨팅 자원등이다. 즉, 컴퓨팅 자원을 인터넷을 통해 온디맨드 방식으로 확장성있게 접근하는 것이다.

클라우드는 말 그대로 구름과 같다. 존재를 인식하지만, 실체를 확인할 수 없기 때문이다.

 

이 클라우드의 특징은 다음과 같다.

  1. 온디맨드 셀프 서비스
  2. 사용자는 클라우드 서비스 제공자의 직접적인 관여 없이 원하는 컴퓨팅 파워, 네트워크, 스토리지와 같은 자원을 자동으로 프로비저닝한다.
  3. 광대역 네트워크 접근
  4. 네트워크를 통해서 다양한 이기종 클라이언트를 사용할 수 있다. → 플랫폼을 통해 접근
  5. 리소스 풀링
  6. 컴퓨팅 자원이 풀링되어 다른 사용자가 나누어 사용하는 멀티테넌트 모델로 제공
  7. 신속한 탄력성
  8. 사용자의 요구에 따라 규모를 확장하거나 축소할 수 있다. 또한 신속한 프로비저닝이 가능하다.
  9. 사용량 측정
  10. 자원의 사용량을 측정할 수 있다.

이때, 멀티테넌시 모델은 다양한 사용자들이 동일한 자원을 공유하여 활용하는 것으로, 중앙집중화를 통한 구축비용을 절감할 수 있다.

얼마나 많은 하부의 자원을 사용자들이 공유하는가가 핵심인데, 사용자가 사용하는 애플리케이션과 데이터를 통합 관리할 때 시스템의 활용과 효율성을 개선할 수 있다.

결국 서비스 관점에서 보다 적은 비용으로 대규모의 자원을 활용할 수 잇는 것이다.

 

클라우드 컴퓨팅의 서비스 모델

SaaS

software as a Service의 약자로, 모든 관리로부터 자유로운 모델이다. MS 오피스 등이 해당하며, 클라우드 컴퓨팅 서비스 제공자가 sw를 서비스한다.

Paas

platform as a Service

플랫폼으로서의 서비스를 의미한다. application 단은 user가 직접 설계하는 것으로, 개발자ㅇ들의 환경을 맞추며 개별 구축의 문제점을 제거한다. 플랫폼을 비롯한 하단의 시스템에 대해 고민할 필요가 없다. → 관리의 용이성을 보장한다.

Iaas

InfraStructure as a service의 약자로, 시스템 자원을 제공한다. 클라우드 컴퓨팅에서는 가상화 기술을 이용해서 가상 자원으로 제공한다.

os middleware application, data까지 직접 제공한다. 사용한 만큼만 지불한다는 장점이 있다.

배포 모델

1. 프라이빗 클라우드

이는 베타적으로 오픈된 클라우드 인프라이다. 동적으로 늘리고 줄이는 것에 많은 시간이 소요되며, 자체적으로 관리를 진행한다. 사용자는 동일한 기관에 속한다.

2. 커뮤니티 클라우드

사용자가 동일한 기관에 속할 필요는 없다. 즉 여러 기관이 인프라를 소요하고 관리한다.

3. 퍼블릭 클라우드

일반 사용자에게 공개되어 있는 클라우드를 의미한다.

4. 하이브리드 클라우드

서로 다른 종류의 클라우드 배포 모델을 혼합하여 구축하는 것을 의미한다.

 

클라우드 사용의 이유

인프라 규모 산정의 용이성

컴퓨팅 자원 규모 산정이 매우 어렵다. 그렇기에 자원 낭비를 줄이기 위한 방법이 필요.

  1. 단계적 확장
    수요를 예측
  2. 피크타임 확장
    피크시점에 증설
  3.  동적확장
    자원이 필요할 때만 동적으로 확보하는 것. → 비즈니스에서 비용 측면과 안정성 면으로 선호됨.

가용성과 it 서비스의 중단은 비즈니스 수익성에 직접적인 영향을 준다. 이때, 가용성은 인프라가 활용가능한 시간을 기준으로 측정한다.

서비스의 안정성과 인프라의 안정성에는 밀접한 연관이 있다. 서비스 장애 발생시 서비스 복구를 진행할 수 있다.

클라우드 컴퓨팅에 영향을 준 기술

클러스터링

: 여러 자원을 묶어 활용. 동일한 it 자원을 네트워크로 연결하는 것. LAN을 통해 통신을 하게 되며, 이를 통제하는 master node가 존재한다. SAN을 통해 스토리지 자원에 접근할 수도 있다.

컴퓨터의 성능을 높이기 위해서는 cpu나 메모리를 개선하는 것이 중요. 그러나 이에 한계가 있다. → 클러스터링이 그 해결책이 되어준다.

느슨한 연결과 강한 연결이 존재하며, 이는 다른기관인지 같은 기관내인지에 대한 차이이다.

네트워크를 통해 인프라를 클러스터링하고, 클러스터링 소프트웨어를 통해 분산되어 있는 독립적인 하드웨어 인프라를 하나의 시스템으로 통합하게 하나의 큰 it자원으로 활용할 수 있다.

그리드 컴퓨팅

컴퓨팅 파워를 전기처럼 언제 저디서나 접근할 수 있다는 의미이다. 분산된 컴퓨팅 자원을 광대역 네트워크를 이용해 하나의 단일 시스템으로 만들어 컴퓨팅 자원을 공유하는 것.

ex) (1) 미국 중심의 오픈사이언스그리드 (OSG, Open Science Grid)
(2) 유럽연합 중심의 EGI (European Grid Initiative) 둘다 고에너지 물리 high energy 분야에서 활발한 활용

→ 관리 효율성 및 시스템의 안정성 측면에서 클라우드 컴퓨팅이 더 우수하다.

(1) VO를 지원하는 데이터 센터들이 지역적으로 분산
(2) 느슨하게 연결 loosely coupled 되었다는 점

 

데이터 센터가 지원하는 VO의 작업을 처리할 때, 우선순위가 높은 로컬 사용자의 작업이 제출되면 언제든지 로컬 사용자에게 자원을 할당.

그리드에 포함된 데이터 센터는 다양한 커뮤니티 (Virtual organization)를 지원하며 특정 그룹만 사용하는 것이 X. 여러 커뮤니티 공유시 소속 VO확인이 필요 (이를 위해 그리드 인증서 이용)

그리드 컴퓨팅에서 데이터 센터를 연계하는 것을 데이터 센터 페더레이션 federation 이라고 함

가상화

컴퓨터 시스템을 여러 개의 가상컴퓨터로 만들 수 있는 기반 기술. 가상화 기술을 구현한 것이 하이퍼바이저로, VM을 실행할 수 있는 소프트웨어, 펌웨어, HW 총칭 (즉 VMWare와 같은 가상머신 모니터이다.)

가상화 기술의 하이퍼바이저를 구현하여 IaaS, PaaS, SaaS 서비스를 구축

 

하이퍼 바이저의 타입은 두가지이다

베어메탈: 이는 네이티브 방식으로도 불린다. 물리시스템 위에 하이퍼바이저가 설치되는 방식이다.

호스티스 방식: 물리시스템 위에 os가 올라가고, 그 위에 하이퍼바이저가 설치되어 동작한다.

물리적 자원을 여러대의 가상 자원(= 독립적이고 논리적인 컴퓨터 자원)으로 관리한다. 이를 통해 가상 컴퓨터를 만들어 작업을 처리한다.

하이퍼바이저에 의해 분리된 가상 컴퓨터들은 서로 영향을 주지 않으며, 물리적 시스템에도 영향을 주지 않는다. 이는 시스템의 안정성을 향상한다.

 

가상화 기술이 해결하는 이슈는 아래 3가지가 있다. (= 데이터 센터 운영의 3대 이슈)

1. 자원의 활용성

데이터 센터의 자원 활용성을 높일 수 있다.

2. 안정성

작업을 분리하여 안정성을 높인다. 문제가 되는 서비스를 다른 서비스와 쉽게 분리함으로서 안정적으로 서비스할 수 있다.

3. 빠른 복구

서비스 문제시 빠른 복구가 가능하다. 가상화 기술을 통해 서비스들을 모두 이미지로 만들 수 있고, 쉽게 이동과 관리가 가능하다

용어 정리

오케스트레이션: 클러스터링을 통해 (컴퓨팅 자원을 네트워크로 연결) 컴퓨팅 성능향상 - 그리드와 클러스터 컴퓨팅

가상화: 하이퍼바이저 기반 기술(= 개입됨)로, 자원을 분리하여 유휴자원의 성능을 향상시킴 - 클라우드 컴퓨팅

→ 두 서비스 모두 궁극적으로 활용성을 높이고자 함

 

그리드(클러스터) 컴퓨팅과 클라우드 컴퓨팅은 완전한 배타적 관계가 아님!!!

: 많은 데이터 센터들이 가상화를 기반으로 한 클라우드로 구축되고 있고 클라우드를 통해 제공된 컴퓨팅 자원들이 네트워크를 통해 그리드 컴퓨팅으로 구현될 수 있음

 

그리드(클러스터) 컴퓨팅과 클라우드 컴퓨팅은 HTC(high throughput computing)이라고 부름

 

HTC: 유휴자원의 활용성을 높여 처리량을 높이는 컴퓨팅 기술 ↔ HPC: 빠른 계산을 목적으로 하는 컴퓨팅. 무조건 빠른 계산만이 목표임 - 태풍의 진로를 예측하는 슈퍼컴퓨터

클라우드 컴퓨팅을 HTC로 보는 관점은 클라우드 컴퓨팅을 이용한 서비스의 관점과는 구분되어야 함

HTC의 관점 → 자원의 효율성에 초점

서비스의 관점 → 편의성과 유연성에 초점

 

아래 관점차이를 잘 기억할 것.

서비스 제공자의 역할

클라우드 서비스 소비자

사용자를 포함해서 클라우드 서비스에 접속해서 자원을 사용하는 모든 개체를 포함. 이떄 개체는 모바일 디바이스나 SW까지 전부 포함

클라우드 서비스 제공자

클라우드 컴퓨팅 인프라를 구축해서 서비스를 제공하는 주체

  1. 쉬운 접근성과 높은 보안성 제공
  2. 비즈니스에서 클라우드를 적용하는 이유에 대한 높은 이해
  3. 약속된 성능 제공
  4. 합리적인 비용
  5. 온디맨드 기반의 서비스 제공
  6. 유지 보수 부담 제거

자원 성능의 확장

자원의 수평적 확장: 스케일 아웃

수직적 확장: 스케일 업

클라우드 사용시 고려사항

클라우드 컴퓨팅이 모든 비즈니스에 적합하지는 않다.

    1. 데이터에 대한 보안 취약성
    2. 보안정책의 상충
    3. 데이터 접근뿐아니라 인프라와 서비스에 대한 보안 정책이 상충하는지 확인 (퍼블릭 클라우드 서비스 제공자의 보안정책과 상충되는등)
    4. 어드민 역할 축소
    5. 클라우드 컴퓨팅 서비스 제공자가 만들어 놓은 환경의 통제를 받음 (= 의존성이 커짐)
    6. 네트워크 의존성 증가
    7. 반드시 네트워크가 개입되어야. 네트워크의 회선은 end-to -end로 물리적 단일 회선이 아니라 라우터 개입. (→ 전송되는 데이터 복제가 가능) 전송중 패킷 도청이나 잠재적 대역폭 제약이 발생할 수 있다.
    8. 클라우드 간 이식 표준 부재
    9. 클라우드 서비스 제공자 변경시 이식 표준 미비함. 보안 표준이 제공되지 않을수도
    10. 지역적 이슈

'Cloud' 카테고리의 다른 글

[ACC] 아키텍처 설계 과정  (0) 2024.04.29
[클라우드 컴퓨팅] DB  (0) 2024.01.19
[클라우드 컴퓨팅] 컨테이너와 ECS  (0) 2023.12.05
[Virtualization 101] 2. Vt-d  (0) 2023.10.29
[Virtualization 101] 1. Introduction  (0) 2023.10.17
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.