HiTHerE !

1.2.1. 클라우드의 고가용성 및 스케일링 성능의 이점 본문

MS Hackers Ground/AZ-900: Microsoft Azure

1.2.1. 클라우드의 고가용성 및 스케일링 성능의 이점

minju26 2023. 8. 11. 14:12

클라우드 애플리케이션의 빌드와 배포에 있어서 가장 큰 고려 사항 : 가동 시간(가용성/Availability) & 수요(스케일링/Scale)


고가용성 (High Availability)

  • 중단이나 발생할 수 있는 이벤트에 관계없이 최대 가용성을 보장하는 데 중점을 둠
  • 솔루션을 설계할 때는 서비스 가용성 보장을 고려해야 함
  • Azure는 서비스에 따라 가동 시간이 보장되는 고가용성 클라우드 환경이며 이에 대한 보장은 SLA(service-level agreements)의 일부임
  • Azure의 SLA(service-level agreements)
    - SLA : 고객에게 명시된 서비스 수준을 보장하는 공급자와 고객 간 정식 계약
    - 서비스 또는 애플리케이션의 가용성(작동 시간)과 관련된 백분율로 나타냄
       (서비스가 항상 사용 가능하다면 100% 가용성이라고 함)
    - SLA에는 가동 중지 시간, 서비스를 사용할 수 없는 경우, SLA가 충족되지 않은 경우 받을 크레딧의 내용이 포함됨
    - 실제로 100%의 가동시간은 달성하기 어려우며 비용이 많이 듦
       (필요한 유지 관리나 업그레이드를 위해 서비스를 중단하는 시간을 허용하지 않기 때문)
    - 99%, 99.9%, 99.95% 그리고 일부 서비스의 99.99%의 가동 시간이 대부분임
       ( 99% SLA는 주당 최대 1.6시간, 월당 7.2시간 동안 사용이 불가
        99.99% SLA는 주당 10분, 월당 43.2분 동안 사용이 불가
         => 이 시간은 누적되므로 비지니스에 중요한 서비스인 경우 아주 큰 차이를 만듦 )
    - Azure 서비스에는 고유한 SLA가 있으므로 비지니스 요구사항에 대해 가용성을 최적화 해야함

확장성 (Scaleability)

  • 스케일링 성능은 수요에 맞게 리소스를 조정하는 기능
  • 클라우드는 소비 기반 모델이므로 수요가 감소하면 리소스를 줄이고 비용을 줄일 수 있음
  • 스케일링은 일반적으로 수직과 수평 두 종류로 제공됨

    <수직 크기 조정>
    - 리소스의 기능을 늘리거나 줄이는데 중점을 둠
    - 앱을 개발하면서 더 많은 처리 능력이 필요한 경우 수직으로 스케일 업하여 가상 머신에 CPU / RAM을 추가
    - 요구 사항을 과도하게 지정했다면 CPU / RAM 사양을 낮춰 수직적으로 스케일링 다운

    <수평 크기 조정>
    - 리소스의 수를 자동이나 수동으로 추가하거나 뺌
    - 갑작스러운 수요의 증가에서 가상 머신이나 컨테이너를 추가하여 스케일 아웃할 수 있음
    - 수요가 크게 감소하는 경우 배포된 리소스를 축소하여 스케일 인 할 수 있