Engineering
AutoScale with Application Deployment
2020년 12월 31일
원문에서 보기 ↗기능 설명
AutoScale로 인해 새로 생성된 인스턴스에 고객이 정의한 애플리케이션을 자동으로 배포할 수 있게 돼서 진정한 의미의 AutoScale을 경험하실 수 있게 됐습니다.
이전 IaaS 서비스 소개글 ( 오토스케일(Autoscale)의 이해와 예제를 통한 구성(TOAST 서비스 들여다보기) ) 에서 AutoScale에 대한 정의는 다음과 같다고 했습니다.
오토스케일은 인스턴스의 부하를 모니터링해서 특정 이벤트에 대해 인스턴스를 추가/삭제하는 기능을 제공하는 서비스입니다.
대부분의 경우 인스턴스 생성 시 사용자 서비스에 맞도록 설정이 변경된 VM 이미지 ( 이하 이미지 )를 사용하게 되는데 사용자가 이미지를 어떻게 사용하는지에 따라 아래와 같이 나눠질 수 있습니다.
- 실제 구동이 가능한 서비스(애플리케이션)가 포함된 이미지
- 이미지 배포가 가능해야 하며 이미지 사이즈가 커서 관리 이슈 / 배포 시간이 오래 걸린다는 단점이 있습니다.
- 서비스 구동 환경 이미지 ( 애플리케이션 불포함 )
- 클라우드 서비스 업체에서 하드닝한 표준 이미지로 애플리케이션 배포만 별도로 진행합니다.
요즘에는 서비스를 Container 환경으로 전환해서 1번 형태의 단점이 상쇄되면 1번 형태 이미지를 선택 및 운영이 가능하겠지만 아직 전환이 안되었고 서비스가 지속적으로 업데이트되는 상황이라면 2번 이미지를 선택하게 됩니다.
문제점
2번 이미지를 가지고 AutoScale 기능을 사용했을 때 이벤트를 통해 새로 생성된 인스턴스는 고객 서비스(애플리케이션)가 구동될 환경의 인스턴스만 만들어졌고 실제 서비스는 동작하지 않는 껍데기만 만들어집니다. 결국 개발자는 신규로 생성된 인스턴스에 배포를 해야 하는 불편함이 있습니다.
해결
이번에 추가된 기능은 AutoScale로 인해 새로 생성된 인스턴스에 고객이 정의한 애플리케이션을 자동으로 배포해서 위와 같은 불편함을 없애주는 기능입니다. 이 기능을 사용하시면 진정한 의미에서의 AutoScale 기능을 사용하실 수 있습니다.
사용자 가이드
실제 AutoScale 기능의 활성화부터 서비스 애플리케이션의 배포까지 필요한 일련의 과정을 아래 단계를 통해 진행해볼 수 있습니다.
- AutoScale 설정
- Toast Deploy 설정
- 수동 배포 테스트
- 자동 배포 테스트
- 신규 생성된 서버 확인
그럼 아래 화면 캡처된 가이드를 따라 진행해보도록 하겠습니다.
- AutoScale 그룹 생성
-
먼저 오토스케일 그룹을 생성합니다. 자세한 이벤트 트리거나 조건들은 AutoScale 가이드를 통해 확인할 수 있습니다.
-
iaas 오토스케일 상품내 [인스턴스 템플릿 생성] 버튼 클릭으로 템플릿 생성

-
인스턴스 템플릿 생성 시 Deploy 사용 체크

-
스케일링 그룹 생성 시 기생성한 템플릿을 지정하여 생성

- Toast Deploy 설정
-
이제 서비스 애플리케이션이 신규 생성될 인스턴스에 배포될 수 있도록 배포 관련 설정을 하겠습니다. 배포의 타깃 설정과 배포 애플리케이션을 만들기 위한 시나리오 등록 등을 진행합니다.
-
Deploy 콘솔에서 서버 그룹 생성 클릭

-
그룹 타입 '오토 스케일 서버 그룹' 선택 후, 기 생성한 스케일링 그룹 선택

-
스케일 아웃 시나리오의 [시나리오 추가] 버튼 클릭

-
기존 생성한 배포 시나리오 선택(없다면 다른 서버그룹 내에 생성)

-
여러 시나리오 추가 시 우선순위 적용 가능 (같은 우선순위는 무작위 순서로 실행)

-
시나리오 추가 완료

- 수동 배포 테스트
-
자동으로 동작시키기 전에 수동으로 테스트를 한번 해봐야겠죠? 2번 단계에서 진행한 시나리오 배포 타깃으로 정상적으로 배포되는지 확인해보겠습니다.
-
Deploy 콘솔에서 배포 타깃 인스턴스 선택

-
배포 실행 및 완료

- Scale Out 테스트
-
이벤트 트리거를 발생시킨 것과 같은 트리거 동작을 진행해 봄으로써 자동 배포 테스트를 진행합니다.
-
AutoScale 콘솔에서 구동 인스턴스의 scale out 발생 (수동/자동) - 인스턴스 2로 변경

-
인스턴스 생성 후 등록된 스케일 아웃에 의한 배포 자동 실행 - Deploy 배포이력에서 확인 가능

-
배포 정상 종료

- 신규 생성된 서버 확인
- Deploy 콘솔에서 오토스케일 서버그룹내 등록된 서버 목록 확인

마치며
좀 더 나은 개발 문화를 향해 신기술에 대해서 도입도 중요하지만 현재 서비스 환경에 대해서도 지원이 필요한 기능을 제공해드릴 수 있어서 기쁘게 생각합니다. 앞으로도 좀 더 나은 기능 / 개발 환경/ 문화를 소개해드릴 수 있으면 좋겠습니다.