엑셈에서는 클라우드 환경에 대한 모니터링을 지원하기 위해서 클라우드 기반 대규모 통합 관제 솔루션인 InterMax Cloud(가칭) 버전을 2019년 상반기에 출시 예정입니다. 그래서 이번 엑기스에서는 클라우드 환경에서의 App 통합 관제 및 모니터링에 대하여 다루도록 하겠습니다.
▶ 클라우드 향 Application의 특징 및 통합 모니터링이 갖추어야 할 요건
(1) Auto Scale In / Out 구조
클라우드는 IT인프라를 가상으로 임대하여 자유롭게 사용할 수 있는 환경이므로, 더 많은 Computing Power가 필요할 때 Scale Up으로 장비의 컴퓨팅 Power를 키우는 방식이 아니라, Scale Out으로 가상머신을 늘리는 방식으로 Computing Power를 확장합니다.
또한, 사용자 서비스 부하가 줄어들면 자동으로 Scale In이 되어서 모니터링 대상이 사라지게 됩니다.
모니터링 제품에서 이러한 Scale In/Out을 모니터링 하기 위해서는 모니터링 대상(Target)을 자동으로 등록하고, 제거하는 기능이 지원되어야 합니다.
(2) Microservice Architecture
클라우드 환경은 1개의 큰 서버에 여러 개의 업무를 대량으로 처리하는 Monolithic 시스템으로 구성되기 보다는, Microservice Architecture기반으로 구성하는 것을 권장합니다. Microservice는 작은 서비스 모듈 단위를 API를 통해 호출하여 서비스를 제공하는 형태로 전체 업무를 구성하고 있습니다.
따라서 모니터링 시스템 구성 시 모니터링할 대상이 많고, Python, Java 등 통일되지 않은 다양한 기술로 이루어져 있으며, 한 서비스가 다른 서비스를 호출하는 등 서비스 간 복잡하게 연계되어 있는 점을 고려해야 합니다. 개별 기술로 이루어진 Micorservice를 통합하여 중앙집중화된 모니터링을 제공해야 하며, 또한 성능이슈의 추적을 위해서 서비스 간의 End to End 연계 추적을 고려해야 합니다.
그리고 전체 관점의 모니터링 뷰 제공을 위해서 Topology 형태의 대시보드를 제공하여 전체 서비스를 통합된 뷰로 모니터링 할 수 있어야 하며, 전체 관점에서 Node → Container → App으로 내려가는 Drill Down을 통한 상세 모니터링을 지원해야 합니다.
- 다수의 모니터링 대상을 전체 관점에서 모니터링 하기 위한 Topology View( 2D )
- Topology View ( 3D )
(3) 클라우드 환경의 다양한 관리 솔루션 연동 지원
클라우드 환경을 제공하는 Amazon AWS, Microsoft Azure 같은 Public Cloud 서비스나, 기업 내부에서 Private Cloud를 구축하여 사용할 때 많이 사용하는 OpenStack, Kubernetes, OpenShift 같은 제품들은 다수의 가상머신과 컨테이너를 관리하기 위한 자체 관리도구를 제공하고 있습니다. 이러한 자체 관리도구와 긴밀히 연동하여, 서버명, 컨테이너명, 그룹명 등을 자동으로 인식하여 모니터링을 제공하는 것이 필수적으로 필요합니다.
예를 들어, AWS의 경우, EC2 인스턴스ID 뿐 아니라, Tag Name을 수집하여 모니터링 대상 식별에 활용하고, 같은 서비스(업무)를 수행하는 장비를 자동으로 Grouping하여 모니터링 대상 식별이 용이해야 합니다. Grouping 방식은 Region이나 AZ 기반으로 물리적인 위치에 따라서 Grouping하거나, Auto Scaling 그룹 기반 또는, 특정 Tag Name을 가진 서버들을 대상으로 Grouping을 수행할 수 있습니다.
Kubernetes의 경우, Pod명을 인식하여 모니터링 대상을 식별하고, Application 명 또는 Deployment 명을 인식하여 모니터링 그룹에 자동으로 활용하는 기능을 제공해야 합니다.
(4) 가상환경 자체 모니터링(Kubernetes 컨테이너, AWS 서비스 등)
클라우드 환경에 대한 모니터링은 가상환경이라는 새로운 Layer에 대한 모니터링이 추가로 제공되어야 합니다. Kubernetes환경의 경우, Pod 또는 컨테이너라는 모니터링 대상이 물리적인 서버(Node)와 Application 사이에 존재하기 때문에 이러한 가상 계층에 대한 모니터링을 지원해야 합니다. AWS의 경우, AWS의 자원(AWS 서비스)인 EC2, S3, EBS, RDS 등의 서비스에 대한 통합 모니터링을 지원해야 합니다. 물론 AWS 자체적으로 CloudWatch라는 모니터링 도구를 제공하고 있으나, 전체 서비스를 Infra와 Biz를 통합 관제하기 위해서는 AWS CloudWatch에서 수집하는 정보를 선별하여 “통합 클라우드 서비스 모니터링 제품”에서 함께 모니터링 되어야 문제 발생 시 신속하게 대처가 가능합니다.
- Kubernetes Pod 및 컨테이너 계층에 대한 모니터링 대시보드
- Kubernetes Pod 상세 모니터링
▶ 클라우드 통합 관제에 대한 대응 전략
앞서 언급하였듯이 엑셈에서는 클라우드 환경에 대한 모니터링을 지원하기 위해서 클라우드 기반 대규모 통합 관제 솔루션인 InterMax Cloud(가칭) 버전을 2019년 상반기에 출시 예정입니다. InterMax Cloud 버전은 Private Cloud 플랫폼(Kubernetes Pod 및 Docker Container 기반) 환경에서 다양한 계층(Hosts, VM, Pod, Container 등)에 대한 구성(Configuration) 정보에서부터 성능 메트릭(Metric) 정보까지 full stack 모니터링이 가능한 통합 관리 솔루션입니다. 또한 AWS 같은 Public Cloud 환경까지 지원을 확대하여 기업 내의 자체 Infra와 클라우드 환경을 통합 관제하고자 하는 Needs에 대응할 예정입니다.
클라우드 기반 통합 관제에 대하여 더 알고싶으신가요? 여기를 눌러 문의해보세요!
기고 | APM본부 오명훈
편집 | 사업기획팀 박예영
댓글