반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
EMS Solution
Features
클라우드 관리
AI 인공지능
서버관리
데이터베이스 관리
네트워크 관리
트래픽 관리
설비 IoT 관리
무선 AP 관리
교환기 관리
운영자동화
실시간 관리
백업 관리
APM Solution
애플리케이션 관리
URL 관리
ITSM Solution
서비스데스크
IT 서비스 관리
Big Data Solution
SIEM
Dashboard
대시보드
Consulting Service
컨설팅 서비스
고객
레퍼런스
고객FAQ
문의하기
가격
자료실
카탈로그
사용자매뉴얼
회사소개
비전·미션
연혁
2016~현재
2000~2015
인증서·수상
투자정보
재무정보
전자공고
IR자료
새소식
공고
보도자료
오시는 길
채용
피플
컬처
공고
FAQ
블로그
열기
메인 페이지로 이동
블로그
기술이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
서버 모니터링 데이터의 3가지 활용 방법
[브레인즈 소식] ‘원격 서비스 응답 블로킹 대기 상태의 트랜잭션 제어 시스템 및 방법’ 특허 취득
오다인
2023.07.19
페이스북 공유하기
트위터 공유하기
링크드인 공유하기
블로그 공유하기
[Zenius Case#2] 서버관리, 서버가 왜 이렇게 느리지?
브레인즈컴퍼니는 지난 6월 27일, APM(Application Performance Management) 관련 특허를 취득했습니다. 2022년 12월에 출원 신청한 것으로, 명칭은 ‘원격 서비스 응답 블로킹 대기 상태의 트랜잭션 제어 시스템 및 방법’입니다.
이번에 출원한 특허는 기존 Zenius APM에서 트랜잭션을 추적하고, 처리 중인 트랜잭션을 종료시키는 기능을 고도화한 기술인데요. 특히 MSA(Micro Service Architecture) 환경에서 애플리케이션 성능을 모니터링하고 안정적인 서비스 운영 환경을 만들기 위해 개발되었습니다.
IT 서비스 구조가 Monolithic에서 MSA 형태로 변화함에 따라, IT 서비스를 구성하는 환경은 점점 복잡해지고 있습니다. 이전에는 단순히 하나의 큰 애플리케이션으로 서비스를 구성하고 있었다면, 현재는 여러 개의 작은 애플리케이션으로 서비스가 나뉘어 있고, 또 각각의 서비스들은 네트워크를 통해 복잡하게 연결되어 있는 형태죠. 이런 구조에서는 서비스 간 연계 구간에서의 지연이 전체 서비스의 장애를 유발할 가능성이 높아집니다.
APM에서는 웹 애플리케이션에서 병목을 일으키는 트랜잭션을 모니터링하고 제어할 수 있는 기능을 제공합니다. 하지만 WAS 영역보다 확장된 네트워크 측면에서의 응답 지연이 발생하는 경우에는 해당 트랜잭션을 중지시킬 수 없어 병목을 유발하고 전체 서비스의 성능 저하로 이어질 수 있죠.
이번에 취득한 특허 기술은 이런 이슈에 대한 즉각적인 병목 해소를 통해, 실질적인 서비스 품질을 향상시킬 수 있습니다. 또한, Micro Service Architecture 시대에 IT 서비스를 영위하는 기업에 더욱 효과적인 모니터링 환경을 제공하게 됩니다.
Zenius APM은 이번에 취득한 특허 기술을 통해 MSA 구조의 분산된 환경에서 최적화되어, 애플리케이션 품질을 향상시키고 IT 서비스 연속성을 확보해 고객 만족도가 높아질 것으로 기대됩니다. 브레인즈컴퍼니는 앞으로도 지속적인 기술 개발을 통해 레거시는 물론, 클라우드 네이티브 환경에서의 모니터링 툴 활용도를 극대화하고, IT 인프라 관리자의 고민을 덜 수 있는 서비스를 만들기 위해 끊임없이 노력하겠습니다.
#브레인즈컴퍼니
#APM
#제니우스
#Zenius
#MSA
#웹 애플리케이션
#트랜잭션
#WAS
오다인
프리세일즈팀
사업 수주를 위한 업무를 수행하며 Zenius의 위닝 포인트를 만들어 갑니다.
필진 글 더보기
목록으로
추천 콘텐츠
이전 슬라이드 보기
브레인즈컴퍼니, KB저축은행에 '제니우스 ITSM 3.0' 구축
브레인즈컴퍼니, KB저축은행에 '제니우스 ITSM 3.0' 구축
‘Zenius ITSM 3.0’ 성공적 시장 진입 향후 ITAM, PMS로 도메인 확장 브레인즈컴퍼니(대표 강선근)는 KB저축은행 차세대 시스템 구축 프로젝트에서 자사 ‘제니우스(Zenius) ITSM 3.0’으로 IT 서비스 체계 표준화 및 IT 관리업무 자동화 시스템을 구축했다고 3일 밝혔다. 이번 ITSM(IT Service Management) 구축으로 KB저축은행은 차세대 IT 서비스 플랫폼을 통해 IT 서비스에 대한 사용자 요청을 접수하고, 처리하는 과정과 그 이력을 단일 시스템에서 관리할 수 있게 됐다. 또 방화벽, 원장, 형상관리 등 10개의 시스템과 연동해 IT 관리업무를 자동화할 수 있게 됐다. Zenius ITSM 3.0은 로우코드 기반의 워크플로우 엔진과 구성정보데이터베이스(CMDB) 엔진을 탑재했으며, 워크플로우를 쉽게 생성하고 수정할 수 있는 프로세스 및 폼 디자이너를 포함하고 있다. 워크플로우는 기업마다 다른 IT 서비스를 각자 환경에 맞게 일의 순서와 역할을 손쉽게 편집할 수 있으며, 코딩없이 15개 이상의 다양한 폼 컴포넌트를 통해 업무 신청서를 쉽게 디자인할 수 있다. CMDB 엔진은 IT 서비스와 연관된 인프라, 소프트웨어, 다양한 문서 등을 생명주기에 따라 다양한 세부 항목으로 관리할 수 있다. 정희찬 ITSM 개발팀장은 “Zenius ITSM 3.0은 ITSM 구축 프로젝트 특성상 갖게 되는 시스템 통합(SI) 사업의 한계를 극복하기 위해 관리 프로세스를 모듈화함으로써 필요한 프로세스를 선택적으로 도입할 수 있다. 향후 유연하게 프로세스를 확장할 수 있는 플랫폼 개발에 역량을 집중한 제품”이라며 “다음 목표는 사용자 편의를 위한 부가기능을 강화하면서 Zenius ITSM의 워크플로우 엔진을 기반으로 ITAM(IT Asset Management), PMS(Projenct Management System) 등을 통해 도메인을 확장하는 것”이라고 말했다. 브레인즈컴퍼니는 올해를 기점으로 ITSM 수요가 가파르게 증가할 것으로 예상하고 있다. 2018년 신외감법 개정으로 내부회계관리제도가 감사로 상향 조정돼 많은 기업들이 내부회계관리제도의 '정보기술일반통제(ITGC)' 위험요소에 대응하기 위해 ITSM 도입을 고려하기 때문이다. 그러나 기업들이 ITSM 도입에 있어 도입 및 관리 비용에 부담을 느끼고 있는 실정이다. 이 가운데 이번 KB저축은행의 차세대 ITSM의 성공적인 공급은 Zenius ITSM 3.0이 다양한 고객의 요구사항을 보다 넓은 관점에서 충족시킬 수 있는 솔루션임을 입증한 것이다. 강선근 브레인즈컴퍼니 대표는 “2005년 첫 출시된 Zenius ITSM은 최근 로우코드 기반으로 고객이 직접 커스터마이징하고, 기존 제품 대비 쉽고 빠르게 고객의 요구를 반영할 수 있도록 업그레이드한 제품”이라며, “그 결과 수익성을 확보하면서 고객 편의성을 제고시킨 Zenius ITSM 3.0을 출시했고, 향후 소규모 기업이나 스타트업 등에서도 적은 비용으로 ITSM 솔루션 도입이 가능한 SaaS(Software as a Service, 서비스형 소프트웨어) 형태의 서비스 출시를 계획하고 있다”고 밝혔다.
2022.11.03
시련이 많았던 경험자의 CI/CD 간략 소개
시련이 많았던 경험자의 CI/CD 간략 소개
과거에는 근로자 1명이 기획/설계/구현 테스트까지 진행이 가능했다고 합니다. 하지만 최근에는 근로자 1명이 기획부터 테스트까지 진행하는 일은 거의 드물다고 볼 수 있습니다. OLD SCHOOL 지금 이 시간에도 많은 회사 내의 개발자들은 자신에게 주어진 기능 구현을 훌륭하게 완수하기 위해서 모니터를 째려보고 있습니다. 모니터를 째려보다가 자신이 작성한 내용을 다른 팀원에게 공유하고자 혹은 반대로 다른 팀원이 작성한 내용을 공유받고자 '형상 관리 시스템'을 사용하고 있습니다. CVS와 SVN으로 대표되는 이 시스템은 최근들어 Git을 많이 사용하는 추세라고 합니다. 필자 역시 여러 프로젝트에서 해당 시스템을 사용도 해보았고, 연동하여 다른 시스템을 구현한 경험이 있습니다. 하지만 프로젝트 마다 해당 시스템 사용에 있어서 몇몇 시련이 있었습니다. "차주에 전체 기능 리뷰가 있습니다. 각 파트 별로 코드 커밋해주세요." 라고 PM(Project Manager) 또는 PL(Project Leader)이 요청을 하면, 각 하위 PL(Part Leader)은 파트(Part)에 돌아가 파트원들에게 이 내용을 공유하고, 개별 개발자들은 자신이 작성한 코드를 관리 시스템에 커밋하게 됩니다. 잠시 후 형상 관리 시스템에서 작성 코드를 내려 받은 PL(Part Leader)은 아래와 같은 상황에 직면하게 됩니다. - 동료의 작성 코드에는 관심 없이, 본인의 작성물만 커밋하는 경우 - 별도의 공지 없이 이미 작성된 파일 등을 삭제하여 커밋하는 경우 - 약속되지 않은 환경이나 lib으로 작성한 코드를 커밋하는 경우 프로젝트에 따라 기간이 길어지거나 다른 여러 상황이 발생하면 위의 문제보다 더 많은 문제를 경험하게 됩니다. 각 파트 단위로 위와 같은 문제가 해결되고 정상적으로 컴파일, 빌드까지 완료되면, PL(Part Leader)들은 파트별로 단위테스트를 완료하고 결과가 정상적이면 결과를 품질관리자에게 통보합니다. 각 파트별로 완료 통보를 받은 품질관리자는 다시 관리 시스템에서 전체 작성물을 수동으로 내려받아 통합테스트를 진행합니다. 통합테스트까지 완료되었다면 해당 내용을 릴리즈관리자에게 통보합니다. 릴리즈관리자는 바뀐 부분만 찾아서 변경하면 시간적으로 적용이 빠르겠지만 '바뀐 부분만 변경하면 될까?'라는 의심으로 전체 작성물을 수작업으로 전처리(컴파일 & 빌드)하고 다시 수작업으로 릴리즈하게 됩니다. 만약 진행상의 이슈가 없다면 이제 기능 리뷰 준비가 완료됩니다. 단계별로 문제 없이 진행되고 모든 기능을 확인하였다고 하지만 기능 리뷰 혹은 데모만하면 꼭! 오류가 발생하여 난처한 상황이 종종 발생하곤 합니다. 필자 역시 이런 경우가 많았으며 그때마다 문제 부분을 찾기 위해 많이 고생했습니다. 아래의 개념은 아마도 저 같은 경험을 하고 있는 많은 사람들을 위한 것이 아닌가 싶습니다. CI (Continuous Integration, 지속적인 통합) '지속적인 통합'이란 개발 과정에서 생산되는 코드의 관리와 코드의 문법적인 오류 확인 및 기능 점검(=테스트)을 특정한 일정에 진행하는 것이 아니라 날마다 혹은 특정 시간마다 진행하여 코드 및 기능에 대한 품질을 유지하는 개념이라고 말할 수 있을 것입니다. 앞에서 언급했던 과거 모습을 개선하는 노력은 CI 라는 개념이 나오기 이전부터 많은 개발사 혹은 팀에서 그들만의 문화나 관습으로 처리하는 경우가 있었을 것입니다. 하지만 문제는 새로운 구성원이 생겼을 때 입니다. 조직 문화를 새로이 접하는 이들에게는 이를 설명하고 이해시키는 일은 시간과 노력이 드는 일이니까요. 하지만 이젠 일반적인 Java 개발팀에서는 SVN(or GitHub)+Jenkins+Maven+JUnit으로 구성하는 개발 환경을 사용하고 있습니다. 다만, 프로젝트 목표나 목적되는 환경에 따라 약간씩 다른 환경을 구성하기도 합니다. 그러나 대부분의 경우 Open Source 기반으로 CI 개념을 구성하는 경우가 많습니다. 이는 일단 무료라는 큰 장점과 많은 레퍼런스가 있어 구성하기 편리하고 "우린 Open Source인 SVN과 Jenkins를 사용합니다. 일단 자세한 개념과 동작 원리는 너트뷰 선생님께..." 라고 하며 짧은 노력으로 교육을 끝낼 수 있어 그런 것이 아닌가 합니다. CI 개념을 활용하는 개발 프로젝트에서는 UI 메뉴 혹은 구현 단위 기준으로 구분하여 개발파트나 개발자를 할당하고는 합니다. 각각의 개발자는 할당받은 구현 범위에 대한 문제를 개별적으로 개발 도구를 활용하여 구현하고 구현 내용을 형상 관리 시스템에 커밋합니다. 이런 과정을 다른 개발자들도 같이 수행한 후에 빌드 자동화 환경에서 컴파일 및 빌드 스크립트에 맞춰서 문법적으로 확인된 결과물을 만들고 이를 다시 기능이 확인이 가능한 테스트 스크립트에 맞춰서 테스까지 진행합니다. 만약 테스트 과정에서 비정상적인 결과가 발생할 경우, 해당 내용 수정 후 위의 작업을 다시 진행하게 됩니다. 이런 일련의 절차는 일정 시간 준위 단위로 수행되어 구현하고 있는 기능을 주기적으로 확인하는 과정을 수행합니다. 올바른 진행을 위하여 개발자 개개인에게 분장되는 업무의 크기가 비슷해야 한다고 생각됩니다. 개발자별로 업무의 크기가 서로 다른 겨우, 결과물이 정상적이라고 볼 수 없게 될 것이고 그렇게 된다면 테스트 결과 역시 믿을 수 없는 경우가 발생할 것입니다. CD (Continuous Delivery/Deploy, 지속적 제공/배포) 지속적인 통합(CI)을 사용하던, 기존의 개발 환경을 사용하던, 결국 작성된 결과물은 최종적으로 운영환경에 적용되어 사용작 혹은 타 시스템과 연결되어야 합니다. 그래야 제품 개발 또는 프로젝트가 완료됩니다. CD는 결과물을 운영환경에 적용하는 방식을 나타내는 환경으로써 결과물 적용 여부를 판단하는 행위를 담당하는 주체가 누구냐에 따라, Continuous Delivery와 Continuous Deploy로 구분됩니다. Continuous Delivery는 CI 환경을 통하여 자동으로 컴파일 및 빌드가 되고, 테스트된 결과물에 대해서 릴리즈 관리자가 적용 시점마다 테스트 결과 및 서비스 영향도를 판단하여 수동으로 적용하는 방식이며, Continuous Deploy는 결과물은 항상 옳고 서비스 영향도는 없다고 미리 판단하여 자동으로 적용하는 방식입니다. 아마도 대부분의 개발 환경에서는 Continuous Delivery로 적용하고 있기에 CD라고 표기되는 경우 Continuous Delivery를 의미하는 경우가 많을 것입니다. 소프트웨어 솔루션을 제작하는 개발팀에서는 아마도 Continuous Delivery로 또한 MSA 기반의 서비스를 제공하는 개발팀에서는 Continuous Deploy를 사용하는 편이 여러 관계를 보았을 때 유리하다고 판단합니다. 하지만, 개발팀의 업무 성격과 제품 혹은 서비스의 출시 시기 등이 CD 방식을 결정하는 가장 중요한 요소가 될 것입니다. 지금까지 CI/CD 도입 배경과 내용을 필자의 경험을 바탕으로 간략하게 정리하였습니다. 개발자들이 자기가 맡은 기능 혹은 프로세스에만 전념할 수 있는 훌륭하고 편리한 개발 환경 및 적용 환경이 언제 어떻게 나타나게 될지 궁금합니다. 가능하다면, 많이 바꿔서 따라가기 귀찮은 시니어들과 새롭게 따라가야하는 주니어 개발자 모두에게 즐거운 환경이 등장했으면 합니다. 감사합니다.
2023.08.22
다음 슬라이드 보기