클라우드 컨셉

wow_kim·2021년 3월 6일
0

1. 확장성 있는 설계

확장성 있는 어플리케이션

  1. 리소스 증가에 비례한 성능의 증가
  2. 회복력(확장성과 일맥상통)
    • 얼마나 탄력적으로 서비스 트래픽에 따라 자원을 줄이고 늘일 수 있는지
  3. 분산된 시스템의 관리 능력
  4. 효율적인 운영 방법
  5. 비용의 효율적인 관리

Scale Up/ Scale Down(수직적인 확장)

2 X 4 <> 4 X 8

Scale Out/ Scale in(수평적인 확장)

병렬적으로 확장(1개의 서버 <> 3개의 서버)

Scale Up/Down을 하게 되면 down time이 생길수 밖에 없으므로 scale out이 권장됨.

2.탄력성에 대한 이해

  • 탄력성 : 최소한의 마찰로 리소스를 스케일링 가능하게 하는 특징.
  • 어플리케이션 구조에 클라우드 이점을 충분히 적용할 수 있도록 탄력성의 개념을 가지고 설계한다.
  • 클라우드 환경에서 전통적인 방식(품질 저하 & 용량 낭비)과 다르게 필요한 자원들만 활용하도록 간소화한 시스템 설계 및 프로세스의 관점의 변화가 필요
  • on-demand한 특성(리소스를 서비스 양에 맞게 즉각적으로 변화)

3. 제약에 대한 극복

  • 시스템의 요구사항들이 클라우드에서 충분히 제공되는지 고민해야함.
  • On-Premise 환경과 동일한 하드웨어 혹흔 솔루션을 활용하기 어렵다. 클라우드 환경에서 제공하는 추상화된 자원들을 활용하여 서비스를 딜리버리할 수 있도록 관점의 변화가 필요함.
  • Redis : 인메모리 데이터베이스, key-value 데이터 저장소

4. 가상화 시스템 관리자

  • 시스템 관리자는 가상화 시스템 관리자의 역할을 수행해야 한다.
  • 데이터베이스 관리자
    1. DB 설치 및 운영
    1. 규칙적인 DB 관리 작업(백업, 패치, 이중화 구성 등)
      3. DB 인스턴스(가상화 인스턴스) 이미지(MySQL, Postgresql 등) 관리
      4. 분산 DB 환경의 관리
profile
def __wow__(?):

0개의 댓글