Home [클라우드 컴퓨팅] 10강 - 클라우드 아키텍처
Post
Cancel

[클라우드 컴퓨팅] 10강 - 클라우드 아키텍처

💡해당 게시글은 방송통신대학교 정재화 교수님의 '클라우드 컴퓨팅' 강의를 개인 공부 목적으로 메모하였습니다.



학습 개요


  • 온프레미스에서 인프라를 구축하는 방식과 달리 클라우드는 IT 리소스를 실시간에 가깝게 프로비저닝하여 배치할 수 있음
  • 도입된 리소스의 확장 · 축소가 동적으로 이루어지기 때문에, 전체적 시스템의 구조와 구성에 인프라의 효율성 및 비용 측면에서 온프레미스와는 다르게 고려할 필요가 있음
  • 클라우드 기술에 대한 지식을 바탕으로 클라우드 서비스의 효율성과 가용성을 높이기 위해 사용할 수 있는 클라우드 고유의 아키텍처인 리소스 풀링과 로드 밸런싱에 대해 학습함



학습 목표


  • 클라우드 아키텍처링의 개념에 대해 설명할 수 있음
  • 클라우드 아키텍처의 종류를 나열할 수 있음
  • 리소스 풀링의 개념에 대해 이해할 수 있음
  • 로드 밸런싱의 개념에 대해 이해할 수 있음



강의록


클라우드 아키텍처의 이해

클라우드 아키텍처 선행 개념

  • 서비스 오케스트레이션
    • 자동화된 리소스 프로비저닝
    • 리소스 배치를 자동하기 위한 설정, 관리, 조정 작업
  • 클라우드 서비스 관리
    • 경영 지원
      • 리소스 과금, 감사 정책
    • 프로비저닝/구성
      • 리소스 배치, 변경, 모니터링, SLA 관리
    • 이식성/상호 운영성
      • 타 시스템으로의 데이터, 소프트웨어 이전
      • 2개 이상의 시스템 간의 원활한 정보 교환

클라우드 아키텍처의 정의

  • 클라우드 아키텍처링(Architecturing)
    • 클라우드 기반 정보 서비스 설계시 서비스 오케스트레이션 및 클라우드 서비스를 고려하여 가장 먼저 수행
    • 안정적인 서비스를 위해 서비스 대상과 리스크를 분석하고 컴퓨팅 리소스를 적절하게 배치 및 설계하는 과정
  • 클라우드 서비스의 효율성과 가용성을 높이는 아키텍처
    • 리소스 풀링
    • 로드밸런싱
    • 오토스케일링
    • 클라우드 버스팅

클라우드 아키텍처의 목적

  • 클라우드 아키텍처링 없이 서비스를 진행할 경우
    • 서비스를 요청하는 사용자의 급작스러운 증가 대처 불가
    • 컴퓨팅 리소스의 문제 발생시 대처 불가
  • 과도한 초기 컴퓨팅 리소스 설계 시
    • 클라우드 사용 비용 증가
  • 소극적인 초기 컴퓨팅 리소스 설계 시
    • 사용자의 접속 폭증하는 경우 서비스 응답 지연, 접속 불능으로 서비스 만족도 저하

서비스 고가용성 전략

  • 고가용성(HA: High Availability)
    • 서버와 네트워크, 프로그램 등의 시스템이 오랜 기간 동안 지속적으로 정상 운영이 가능한 특성
    • 5nines(99.999%)는 1년에 5분 15초 이하의 장애 시간만 허용하는 매우 높은 수준의 HA
  • HA 확보 방안
    • 다중 애플리케이션 서버와 부하 분산
    • 데이터베이스 혹은 스토리지의 이중화
    • 여러 지리적 위치에 따른 서비스 배치
  • 리소스 풀링, 로드 밸런싱, 클라우드 버스팅과 같은 기법을 사용

리소스 풀링과 로드밸런싱

리소스 풀링

  • 사용자 요청 발생 시 즉시 리소스 풀로부터 리소스를 사용하고 사용 종료 후 리소스를 반환하는 과정
  • 리소스 풀
    • 즉시 사용할 수 있는 서버, 스토리지 등의 리소스를 담아 두는 공간
    • 확장, 탄력성 확보를 위해 사용자로부터 물리적으로 가까운 위치에 구성

    image.png

리소스 풀링의 특징

  • 리소스의 풀 내의 자원들의 특징
    • 물리적 위치를 알 수 없음(IDC의 특정 서버, 스토리지 내부의 지리적 위치 등)
    • 사용이 용이하도록 추상화 되어 있음
    • 서비스나 프로그램에 의하여 자유롭게 사용되고 해제됨
  • 리소스 풀구성
    • 도시, 국가 단위의 계층적 구조
    • 계층적 구성으로 사용자가 리소스를 요청했을 때 인접한 리소스를 즉시 사용하기가 용이

리소스 풀의 구조화

image.png

그룹 풀

  • 리소스 유형별로 모아 놓은 풀 여러 개를 큰 풀로 묶는 것
    • 유연한 계층적 구성이 가능
    • 풀 간의 분리, 풀 내에서의 공유
    • 액세스 제어 및 위임
    • 리소스를 하드웨어에서 분리

    image.png

리소스 풀 모니터링

  • 클라우드에서 리소스를 빌려 쓰되 사용자는 사용한 만큼 비용을 지불
    • 리소스 풀의 사용량을 감시
  • 리소스 풀에 있는 리소스의 가용성을 확인하는 역할

    image.png

로드 밸런싱의 이해

  • 사용자의 요청을 여러 대의 서버로 분산 시키는 기법
    • 갑작스러운 이용자의 증가
    • 서비스의 확장/축소
  • 운용중인 서버나 시스템의 용량과 성능을 확장/축소
    • 스케일링(scaling)

    image.png

스케일링 방식 비교

| 구성 | 수직 스케일링 | 수평 스케일링 | | — | — | — | | 확장성 | - CPU 변경, RAM 추가 등으로 하드웨어 장비의 성능을 높임

  • 수직 확장이며, 성능 확장에 한계가 있음- 하나의 장비에서 처리하던 일을 여러 장비에 나누어 처리함
  • 수평 확장이며, 지속적 확장 가능   
     비용성능 증가에 따른 비용 증가 폭이 큼비교적 저렴한 서버 사용으로 비용 부담이 적음
     장애한 대의 서버에 부하가 집중되어 장애 영향도가 큼- 읽기 & 쓰기가 여러 대의 서버에 분산되어 처리
  • 장애 시 전면 장애의 가능성이 적음
  • 수직 스케일링 구성

    image.png

  • 수평 스케일링 구성

    image.png

로드 밸런싱의 역할

  • 로드 밸런서가 여러 대의 서버에 요청을 배분
    • 작업 부하를 분산 시켜 한 서버에 작업이 집중되지 않게 하는 기능

    image.png

정리하기

  • 서비스 오케스트레이션이란 클라우드 상에서 자동화된 리소스 프로비저닝을 통해 리소스 배치를 자동하기 위한 설정, 관리, 조정 작업이다.
  • 클라우드 아키텍처링 안정적인 서비스를 위해 서비스 대상과 리스크를 분석하고 컴퓨팅 리소스를 적절하게 배치 및 설계하는 과정이다.
  • 클라우드 서비스의 효율성과 가용성을 높이는 아키텍처에는 리소스 풀링, 로드밸런싱, 오토스케일링, 클라우드 버스팅 기술이 있다.
  • 리소스 풀링은 사용자 요청 발생시 즉시 리소스 풀로부터 리소스를 사용하고 사용 종료 후 리소스를 반환하는 과정이다.
  • 로드 밸런싱은 사용자의 요청을 여러 대의 서비로 분산시키는 기법이다.



연습 문제


  1. 다음 중 클라우드 서비스 관리에 포함되는 기능이라고 할 수 없는 것은?

    a. 네트워크 보안을 위한 터널링 제공

    • 클라우드 환경에서는 온프레미스와 달리 클라우드 서비스 관리를 위해 경영 지원, 프로비저닝/구성, 이식성/상호 운영성을 제공함
    • 클라우드 서비스 관리
      • 리소스 배치, 변경, 모니터링 및 SLA 관리
      • 타 시스템으로의 데이터, 소프트웨어 이전
      • 리소스 과금, 감사 정책
  2. 다음 중 클라우드 아키텍처의 효율성과 가용성을 높이는 기술이 아닌 것은?

    a. 가상 머신

    • 클라우드 아키텍처는 기존의 온 프레미스와 달리 리소스 풀링, 로드 밸런싱, 클라우드 버스팅, 무중단 서비스 재배치, 무정지 서비스 등을 통해 효율성과 가용성을 향상 시킴
  3. 작업 부하를 여러 서버에 분산시켜 한 서버에 작업이 집중되지 않게 하는 방식의 스케일링 방법은?

    a. 수평 스케일링

    • 유사한 수준의 장비를 복수개 확보하여 하나의 장비에서 처리하던 작업을 여러 장비로 나누어 처리하는 방식의 스케일링을 수평 스케일링 또는 스케일 아웃이라고 함



정리 하기


  • 서비스 오케스트레이션이란 클라우드 상에서 자동화된 리소스 프로비저닝을 통해 리소스 배치를 자동하기 위한 설정, 관리, 조정 작업임
  • 클라우드 아키텍처링 안정적인 서비스를 위해 서비스 대상과 리스크를 분석하고 컴퓨팅 리소스를 적절하게 배치 및 설계하는 과정임
  • 클라우드 서비스의 효율성과 가용성을 높이는 아키텍처에는 리소스 풀링, 로드밸런싱, 오토스케일링, 클라우드 버스팅 기술이 있음
  • 리소스 풀링은 사용자 요청 발생 시 즉시 리소스 풀로부터 리소스를 사용하고 사용 종료 후 리소스를 반환하는 과정임
  • 로드 밸런싱은 사용자의 요청을 여러 대의 서버로 분산 시키는 기법임
Contents

[오픈 소스 기반 데이터 분석] 10강 - 데이터 시각화

[오픈 소스 기반 데이터 분석] 11강 - 데이터 시각화