클라우드는 확장성의 개념을 가지고 디자인 되어 있으며 특히 IT자원의 확장성을 바탕으로 확장성이 있는 서비스 설계를 가능하게 함
서버, 네트워크, 스토리지가 가상화
애플리케이션을 구성할 때 기본적으로 web, was, DB 3티어 구조로 설계하는데 각각의 컴포넌트 별로 확장성 있는 설계를 할수O
--> web, was, DB간에 연관관계가 있을 것이고, 병목되는 부분이 존재O
서비스 레벨에서 병목과 획일적인 구성요소들을 확인하여 효율적으로 설계를 개선하여 클라우드의 이점들을 활용해야함
탄력성은 기본적인 클라우드의 속성 중에 하나이며 최소한의 마찰로 리소스를 스케일링 가능하게 하는 특징
애플리케이션 구조에 클라우드 이점을 충분히 적용할 수 있도록 탄력성의 개념을 가지고 설계한다.
클라우드에서는 탄력성을 이용하여 전통적인 방식과 다르게 필요한 자원들만 활용하도록 간소화 한 시스템 설계 및 프로세스의 관점의 변화가 필요
리소스를 서비스 양에 맞게 즉각적으로 늘리고 줄이는 프로세스를 자동화 하고 이용률을 높이는 작업을 적용
다양한 추상화 된 서비스들을 활용
ex) 레디스(Redis): 인메모리 데이터베이스, Key-Value 데이터 저장소
DB에 올라온 데이터들을 레디스에서 캐시에 올려줌
실제로 사용자가 서비스에 접근 할 때, 레디스의 인메모리에 영향을 받음
DB의 읽기 성능 - DB에서 메모리를 증설 하는 것이 아니라 앞단의 추상화 된 서비스를 통해 서비스 품질 확보
시스템 관리자는 클라우드로의 변화에 따라 가상화 시스템 관리자의 역할을 수행해야 함
과거 관리자의 역할보다 애플리케이션 혹은 서비스에 대해 최적의 비즈니스를 이끌어낼 수 있도록 다양한 부분에 대해 관심과 노력이 필요
--> it 자원(서버,스토리지,네트워크)이 가상화 되어 온디맨드하게 탄력적으로 서비스 되기 때문에 기존에 서버만 운영했던 시스템 엔지니어, 스토리지만 운영했던 엔지니어, 네트워크만 운영했던 엔지니어는 클라우드 환경에서는 다양한 컴포넌트에 대해서 이해해야 한다.
시스템 관리자는 기술 레벨의 확장이 필요하며 추상화 된 클라우드 리소스에 대해 제어, 관리 및 서비스의 기능을 제안 할 수 있는 역량이 필요