확장성 있는 설계

확장성 있는 설계 개념

  • 클라우드는 확장성의 개념을 가지고 디자인되어 있으며 특히 IT 자원의 확장성을 바탕으로 확장성이 있는 서비스 설계를 가능하게 한다.
  • 서비스 레벨에서 병목과 획일적인 구성 요소들을 확인하여 효율적으로 설계를 개선하여 클라우드 이점 활용

확장성 있는 어플리케이션의 특징

  • 리소스 증가에 비례한 성능 증가
  • 회복력
  • 분산된 시스템의 관리 능력
  • 효율적인 운영 방법
  • 비용의 효율적 관리

확장성 있는 설계 형태

Scale Up / Down 수직적

  • 다운타임 필요

Scale Out / In 수평적

  • 다운타임 필요 X


탄력성에 대한 이해

탄력성의 개념

  • 최소한의 마찰로 리소스를 스케일링 가능하게 하는 특징
  • 어플리케이션 구조에 클라우드의 이점을 충분히 적용할 수 있도록 탄력성의 개념을 가지고 설계
  • 클라우드에서는 탄력성을 이용하여 전통적인 방식과 다르게 필요한 자원들만 활용하도록 간소화한 시스템 설계 및 프로세스의 관점 변화가 필요하다.
  • 특히 리소스를 서비스 양에 맞게 즉각적으로 늘리고 줄이는 프로세스 자동화를 하고 이용률을 높이는 작업을 적용한다.

탄력성의 구조

전통적인 방식의 비탄력적 구조

클라우드 방식의 탄력적 구조


제약에 대한 극복

제약에 대한 극복 개요

  • 시스템의 요구사항들이 클라우드에서 충분히 제공되는지 충족되지 않는 부분은 어떻게 극복해야 하는지 고민
  • 온프라미스 환경과 동일한 하드웨어 혹은 솔루션을 활용하기 어렵다 는 것을 이해하고 클라우드 환경에서 제공하는 추상화된 자원들을 활용하여 서비스를 딜리버리 할 수 있도록 관점의 변화가 필요하다
  • 온 프라미스 (On-Premise) : 내부 자체 구축 및 설치한 시스템

데이터베이스 읽기 성능 확보 방법 사례

  • 레디스(Redis) : 인메모리 데이터베이스, Key-Value 데이터 저장소

가상화 시스템 관리자

시스템 관리자의 역할 변화

  • 시스템 관리자는 클라우드로의 변화에 따라 가상화 시스템 관리자의 역할을 수행해야 한다.
  • 과거 관리자의 역할보다 애플리케이션 혹은 서비스에 대해 최적의 비즈니스를 끌어낼 수 있도록 다양한 부분에 대해 관심과 노력이 필요
  • 시스템 관리자는 기술 레벨의 확장이 필요하며 추상화된 클라우드 리소스에 대해 제어, 관리 및 서비스의 기능을 제안할 수 있는 역량 필요

데이터베이스 관리자의 역할 변화

 

+ Recent posts