소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 모니터링, 오픈스택, PaaS, 마이크로 서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]

최근 클라우드와 데브옵스(DevOps)로 인해 개발자도 IT 서비스 운영에 참여하며, 다양한 모니터링 도구를 사용한다. 하지만 지난 수십 년 동안 IT 분야 모니터링 도구가 어떻게 발전해 왔는지 아는 개발자는 거의 없다. 모니터링 도구는 컴퓨터 시대의 초창기부터 존재했으며 지금도 여전히 IT의 개발과 운영 과정에서 중요한 분야다.

최초의 IBM 메인프레임 시스템으로 간주하는 IBM System/360은 1964년에 출시됐다. 메인프레임은 미국 우주 프로그램에 사용됐고, 맨 처음 달에 사람을 보냈을 때도 사용된 컴퓨터다.

초기 메인프레임은 백열전구가 들어간 패널을 가지고 있었는데, 각각의 백열전구 상태를 통해 컴퓨터 내부 특정 레지스터 비트의 온, 오프 상태를 알 수 있었다. 이 패널을 통해 컴퓨터를 운영하는 엔지니어가 장비 상태를 모니터링 했기 때문에 이 패널을 ‘모니터(Monitor)’라고 불렀다. 현재 컴퓨터의 디스플레이 장치를 모니터라고 부르는 이유도 초기 컴퓨터 디스플레이의 용도가 상태를 감시하는 것이었기 때문이다.

1960년대 메인프레임. / 마이크로소프트웨어 394호 발췌
1960년대 메인프레임. / 마이크로소프트웨어 394호 발췌
1983년, TCP/IP 방식의 패킷 송출방식이 사용되면서 컴퓨터 네트워크 시대가 열렸다. 네트워크가 복잡해 지면서 IT 운영자는 네트워크 장비와 소프트웨어의 성능뿐 아니라 네트워크의 상태(트래픽)를 모니터링 해야 했다.

이런 문제를 해결하기 위해 1988년 SNMP(Simple Network Management Protocol) 버전 1이 세상에 나왔다. SNMP는 네트워크 장치 및 해당 기능을 관리하고 모니터링하는 데 사용되는 응용 프로그램 계층 프로토콜이다. SNMP는 네트워크 장치가 LAN(Local Area Network) 또는 WAN(Wide Area Network)으로 구성된 환경에서 관리 정보를 전달하는 공통된 방법을 제공한다. SNMP 프로토콜을 이용해 네트워크에 연결된 장비의 시스템 정보 및 트래픽 정보를 가져올 수 있다. 가장 최근의 SNMP 버전 3에는 SNMP 메시지를 인증 및 암호화하고 전송 중 패킷을 보호하는 보안 기능이 강화됐다.

오늘날 네트워크 모니터링 소프트웨어는 기본적으로 SNMP를 사용해 네트워크를 모니터링 한다. 패킷을 직접 분석하거나 벤더의 기술을 응용하는 경우도 있지만, SNMP를 사용한 모니터링은 가장 기본이라 볼 수 있다.

네트워크 운영 센터. / 마이크로소프트웨어 394호 발췌
네트워크 운영 센터. / 마이크로소프트웨어 394호 발췌
2000년대에 들어서 인터넷은 더 폭발적으로 성장했다. 모든 비즈니스는 인터넷 위에서 움직였고 기업의 IT 서비스 규모는 나날이 커졌다. 이와 함께 기존 네이티브 언어로 만들어진 애플리케이션들은 웹 기반 애플리케이션으로 대체됐다. 기업의 IT 담당자들은 서버와 네트워크의 상태와 성능을 모니터링 하는 것으로는 문제를 해결할 수 없었다. 결국 웹 서비스의 성능을 확인하기 위해서는 외부 요청으로 발생하는 트래픽의 순서, 패턴 및 충돌 같은 이슈를 모니터링 해야 했다. 이런 문제를 해결하기 위해 애플리케이션 성능 관리(Application Performance Management, APM) 모니터링 도구가 나왔다.

웹 애플리케이션 서버(Web Application Server, WAS)는 대부분이 자바EE 표준을 수용하기 때문에 자바 기반 애플리케이션 성능 관리 모니터링 도구가 가장 먼저 나왔으며, 최근에는 다양한 언어를 지원하는 시장으로 변하고 있다.

전통적인 APM 모니터링 도구는 개발자가 아닌 운영자를 위한 도구였다. IT 서비스 운영자가 애플리케이션의 성능을 개선하고 장애를 찾는 용도로 사용했다. 국내 대규모 IT 사업자의 경우, 개발팀이 IT 서비스 개발을 마무리하면 운영팀에서 서비스를 오픈하는 과정에서 APM 도구를 사용해 초기 성능 테스트를 진행한다. 그 후 문제가 되는 영역을 발견하면 운영팀에서 해당 이슈를 정리해 개발팀에게 문제를 전달하는 형식으로 운영한다.

하지만 최근 클라우드와 데브옵스의 영향으로 APM의 사용 대상이 운영팀에서 개발팀까지 확대되는 추세다. 일반적으로 패키지 형태로 제공되는 유닉스에 최적화돼 있는 APM을 전통적인 모니터링 도구라고 생각할 수 있다. 현재는 클라우드에 적합하며 SaaS(Software as a Service)로 제공되는 APM이 시장을 이끌어 가고 있다.

이동인, 공영삼 필자의 IT 서비스와 모니터링 역사에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.


관련기사