소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 모니터링, 오픈스택, PaaS, 마이크로 서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]
최근 클라우드와 데브옵스(DevOps)로 인해 개발자도 IT 서비스 운영에 참여하며, 다양한 모니터링 도구를 사용한다. 하지만 지난 수십 년 동안 IT 분야 모니터링 도구가 어떻게 발전해 왔는지 아는 개발자는 거의 없다. 모니터링 도구는 컴퓨터 시대의 초창기부터 존재했으며 지금도 여전히 IT의 개발과 운영 과정에서 중요한 분야다.
최초의 IBM 메인프레임 시스템으로 간주하는 IBM System/360은 1964년에 출시됐다. 메인프레임은 미국 우주 프로그램에 사용됐고, 맨 처음 달에 사람을 보냈을 때도 사용된 컴퓨터다.
초기 메인프레임은 백열전구가 들어간 패널을 가지고 있었는데, 각각의 백열전구 상태를 통해 컴퓨터 내부 특정 레지스터 비트의 온, 오프 상태를 알 수 있었다. 이 패널을 통해 컴퓨터를 운영하는 엔지니어가 장비 상태를 모니터링 했기 때문에 이 패널을 ‘모니터(Monitor)’라고 불렀다. 현재 컴퓨터의 디스플레이 장치를 모니터라고 부르는 이유도 초기 컴퓨터 디스플레이의 용도가 상태를 감시하는 것이었기 때문이다.
이런 문제를 해결하기 위해 1988년 SNMP(Simple Network Management Protocol) 버전 1이 세상에 나왔다. SNMP는 네트워크 장치 및 해당 기능을 관리하고 모니터링하는 데 사용되는 응용 프로그램 계층 프로토콜이다. SNMP는 네트워크 장치가 LAN(Local Area Network) 또는 WAN(Wide Area Network)으로 구성된 환경에서 관리 정보를 전달하는 공통된 방법을 제공한다. SNMP 프로토콜을 이용해 네트워크에 연결된 장비의 시스템 정보 및 트래픽 정보를 가져올 수 있다. 가장 최근의 SNMP 버전 3에는 SNMP 메시지를 인증 및 암호화하고 전송 중 패킷을 보호하는 보안 기능이 강화됐다.
오늘날 네트워크 모니터링 소프트웨어는 기본적으로 SNMP를 사용해 네트워크를 모니터링 한다. 패킷을 직접 분석하거나 벤더의 기술을 응용하는 경우도 있지만, SNMP를 사용한 모니터링은 가장 기본이라 볼 수 있다.
웹 애플리케이션 서버(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)’에서 확인할 수 있다.
- [마소 394호] 플라스크 효과적으로 사용하기
- [마소 394호] 스토리체인이 사이드체인을 선택하기까지
- [마소 394호] 모바일 앱 테스트 자동화용 디바이스팜 구축
- [마소 394호] 되돌아 보는 1만 개의 클라이언트 문제
- [마소 394호] 클릭만으로 도커 개발 환경을 완성시켜주는 애저 PaaS
- [마소 394호] DDD와 MSA로 쇼핑몰 구축하기
- [마소 394호] 이스티오 서비스 메시를 이용한 MSA 구축
- [마소 394호] 제대로 구성하는 마이크로서비스 아키텍처
- [마소 394호] 아마존 API 게이트웨이와 AWS 람다로 구성하는 다운로드 서버
- [마소 394호] AWS EC2와 트래비스CI를 활용한 무중단 배포 서비스
- [마소 394호] 스타트업의 좌충우돌 CI/CD 구성
- [마소 394호] AWS 이메일 서비스 써보니
- [마소 394호] 클라우드의 성능 품질 이야기
- [마소 394호] 클라우드 시대 토종 호스팅 업체의 변신
- [마소 394호] 데이터베이스의 게임 체인저, 오라클 클라우드
- [마소 394호] 알아두면 쓸데없는 신비한 TLS 1.3
- [마소 394호] 다시 보는 PaaS, 어디서 와서 어디로 가는가
- [마소 394호] 코드로 관리하는 인프라스트럭처, 테라폼
- [마소 394호] 더 웨더 컴퍼니의 데브옵스
- [마소 394호] 사설 클라우드의 끝판왕 오픈스택
- [마소 394호] 개발운영 퀀텀 점프를 위한 도커
- [마소 394호] 오픈스택 커뮤니티 동고동락
- [마소 394호] 데브옵스를 꿈꾸는 개발자를 위한 안내서
- [마소 394호] RxJava로 생각하기