반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
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
블로그
열기
메인 페이지로 이동
블로그
최신이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
최신이야기
검색
기술이야기
[Zenius Case#2] 서버관리, 서버가 왜 이렇게 느리지?
기술이야기
[Zenius Case#2] 서버관리, 서버가 왜 이렇게 느리지?
평온한 오후 퇴근 준비가 한창인데 불길한 전화가 걸려 옵니다. “서비스가 먹통이어서 확인 좀 해야 하는데 서버가 엄청 버벅거리고 반응이 느려요!! 이거 왜 이러죠??” 왜!! 도대체 왜!! 한 번쯤은 겪어보았을 급작스러운 Linux 서버의 상태 이슈! 불행하게도 무척이나 다양한 원인으로 인해 발생하게 됩니다. 우리의 목표는 이 다양한 원인 중 실제 발생 원인을 빠르게 특정하는 것! 기본적인 항목들의 체크리스트를 통해 빠르게 원인을 파악 해 봅시다. Linux 서버 상태 이슈 체크리스트 1. 서버의 CPU 부하 확인하기 2. BUFFER, CACHE, SWAP 상태 확인하기 3. 디스크 상태 확인하기 Zenius를 통한 데이터 추이 분석!! 장애의 발생은 순식간에 일어나지만, 장애 발생 시점의 데이터만을 확인해서는 원인을 파악하기가 쉽지 않은 경우가 많습니다. Zenius를 활용하여 앞서 정한 체크리스트를 빠르게 확인해 봅시다. 1. 서버의 CPU 부하 확인하기 - CPU 부하 확인의 Point는 Load Average Load Average는 CPU 사용 대기 중인 프로세스와 I/O 완료를 대기하고 있는 프로세스의 수를 의미합니다. 따라서, Load Average가 높다는 것은 CPU가 바쁘며 시스템에 걸리는 부하가 있다는 뜻입니다. 화면과 같이 1분, 5분, 15분의 로드 평균을 확인 해 보도록 합시다. 1분 로드 평균은 순간적으로 증가하는 경우가 있지만, 5분 15분 데이터상에도 이전과 비교하였을 때 높은 수치를 보인다면, CPU의 부하가 의심스러운 상황입니다. 그렇다면 CPU의 사용률과 I/O 대기율은 어떨까요? user가 사용한 CPU 사용률은 일정하지만, Iowait 수치가 올라간 것을 볼 수 있습니다. 이 경우 CPU의 리소스 부족이기보다는 I/O로 인한 부하로 판단할 수 있고, 자세히는 메모리나 프로세스의 현황 확인이 필요한 경우입니다. 반대로 user 수치가 높은 경우에는 물리적인 CPU 자체의 리소스 부족이라 볼 수 있습니다. 2. BUFFER, CACHE, SWAP 상태 확인하기 - 메모리 사용률과 Swap, Buffer, Cache 메모리 사용률이 높다 = 서버에 부하가 있다?? 답은 No !! Linux 서버의 메모리 사용률은 Buffer/Cache의 사용량이 포함되어 표현되게 됩니다. 따라서, 우리는 그 추이를 통하여 이슈를 확인하는 것이 중요합니다. 위의 검은 바탕의 그래프는 메모리 사용률이 높지만, 일정한 수치를 유지하고 있습니다. 이런 경우 서버의 메모리 사용은 안정적인 영역에서 이루어진다고 판단이 가능합니다. 그 이유는 실제 메모리 사용량과 Buffer/Cache에 할당량의 수치가 할당 가능한 수치 내에서 이루어지기 때문에 사용률이 유지된다고 볼 수 있기 때문입니다. 반면 흰 바탕의 그래프는 메모리 사용률이 점차 증가하며 결국 100%까지 도달한 것을 확인할 수 있는데요, 이경우에는 프로세스가 연산에 필요한 공간을 할당받지 못하여 프로세스 행이 발생하게 됩니다. 그렇다면 Buffer Cache Swap은 어떨까요? 먼저 Buffer Cache에 관해 확인 해 보도록 하겠습니다. *Buffer – 메타데이터를 메모리에 저장. *Cache – Page Cache, Slab을 메모리에 저장. 쉽게 말해, 둘 다 용도에 맞는 정보를 저장하여 수행 속도에 도움을 주는 영역입니다. 메모리 사용량이 늘어나면 이 Buffer, Cache 영역이 줄어들게 되고, 저장 영역이 줄어든다는 것은 속도가 떨어져 성능 저하로 이어지게 됩니다. 아래 그래프는 메모리 사용률이 올라가고 있는 상태의 서버 데이터입니다. 다음으로 이 시점의 Buffer, Cache의 영역을 확인해 보겠습니다. 추이 그래프를 통해 메모리 사용률이 올라갈수록 Buffer, Cache 영역이 줄어드는 것을 확인할 수 있습니다. 그렇다면 이 시점의 I/O는 어떨까요? 보시는 바와 같이 Iowait 수치가 급격히 올라갔음을 확인 할 수 있으므로, “메모리 사용률의 상승은 Buffer, Cache 영역을 줄어들게 하여 속도 저하를 발생시킨다.” 라는 결론을 도출할 수 있습니다. 또한, 메모리 사용률의 상승은 Swap에도 영향을 끼치게 됩니다. *Swap – 디스크 공간에 할당하여 메모리 역할로 사용하는 공간. 따라서, Swap 영역의 사용은 실제 메모리가 아닌 디스크를 사용하기 때문에 속도 저하가 발생 됩니다. 위 그래프는 Swap 사용률이 증가하고 있는 서버의 데이터입니다. 이 시점의 디스크의 상태를 보면 Read와 Write가 점차 Swap과 동일하게 상승하는 것을 볼 수 있습니다. 이렇게 메모리 대신 디스크 영역을 사용하면서 속도가 저하하게 되는 것입니다. 3. 디스크, 확인하기 - Mount Point 별 디스크 사용량, 작업량 추이 확인 디스크의 여유 공간이 없으면 시스템이 파일 생성을 못 하게 되고 결국엔 서버의 운영에 영향을 끼치게 됩니다. 각각의 마운트 지점의 사용률을 체크하여 여유 공간을 확보하는 것이 필요합니다. 디스크의 사용량이 급작스럽게 늘어난 경우는 신규 파일이 업로드되었다거나, 로그파일이 급작스럽게 많이 쌓이는 경우가 있습니다. 그렇기에 각 Mount Point의 사용률을 확인하고 해당 지점의 이슈 사항을 파악하는 것이 가장 좋습니다. 위 그래프와 같이 1시간 이내에 /data 지점의 사용률이 급등하였다면, 해당 지점에 쌓이는 데이터나 로그파일이 급격하게 증가한 것이므로 확인이 필요합니다. 다음으로는 디스크 사용 추이를 확인 해 보도록 하겠습니다. 서버에서 사용하는 물리 디스크는 각각의 성능의 한계가 있습니다. 이 한계를 직관적으로 확인할 수 있는 데이터로는 Disk Busy Rate(작업률)와 Disk Wait Rate(대기율)이 있는데요, Read 및 Write의 양이 한계치까지 치솟게 된다면 Busy Rate 값이 증가하게 되고, 이에 따른 Wait Rate 가 늘어나면서 서버의 성능 저하를 불러오게 됩니다. 어떻게 관리해야 할까? 앞서 확인한 서버의 상태 이슈들, 물론 급작스럽게 발생하는 경우는 어쩔 수 없지만 미리 대비가 가능한 것들은 Zenius-EMS를 이용하여 임계치 기반의 사전 모니터링과, 모니터링 페이지를 통한 직관적인 관리가 가능합니다. 각각의 항목들에 세부적으로 단계별 임계치를 걸어서 서버의 상태 이슈를 사전에 인지하고, 요약 페이지를 통해 빠르게 상태를 파악하여 우리의 퇴근 시간을 사수해 보는 건 어떨까요?
2023.08.08
기술이야기
서버 모니터링 데이터의 3가지 활용 방법
기술이야기
서버 모니터링 데이터의 3가지 활용 방법
서버는 기업의 핵심 시스템과 데이터를 보관하고, 애플리케이션과 서비스를 호스팅하며, 비즈니스에 필요한 작업을 수행합니다. 이러한 서버가 원활하게 작동하지 않거나 성능 이슈가 발생할 경우, 업무 중단, 데이터 손실, 고객 서비스 저하 등 심각한 문제가 발생할 수 있습니다. 따라서 서버의 안정적인 운영과 성능 관리는 비즈니스의 지속 가능성과 경쟁력에 직결되는 중요한 요소입니다. 서버 모니터링은 이러한 서버의 상태와 동작을 지속적으로 감시하고, 성능 및 이상 상황을 식별하는 프로세스입니다. 이를 통해 시스템 관리자나 운영팀은 잠재적인 문제를 사전에 감지하고 조치를 취할 수 있습니다. 서버 모니터링을 통해 수집하는 데이터는 다양합니다. CPU 사용률, 메모리 사용량, 디스크 공간, 응답 시간, 서비스 가용성, 로그데이터 등 다양한 데이터를 통해 서버의 상태와 동작을 감시합니다. 앞에 언급한 데이터들 외에도 네트워크 연결 상태, 서비스 상태, 프로세스 실행 상태 등 다양한 데이터를 모니터링할 수 있으며, 서버의 운영 환경과 요구사항에 따라 수집되는 데이터의 종류가 달라질 수 있습니다. 이렇게 수집한 데이터들은 어떻게 활용할 수 있을까요? 먼저 병목 현상 식별, 리소스 확장 등을 통해 성능 최적화를 하는 데에 활용될 수 있습니다. 관리자는 수집한 모니터링 데이터를 분석하여 병목 현상을 식별할 수 있습니다. CPU 사용률이 지나치게 높거나 메모리 사용량이 극단적으로 증가하는 경우에는 해당 자원에 대한 최적화가 필요하다는 사실을 인지할 수 있습니다. 또 데이터를 분석하여 서버 리소스의 부족을 파악하고, 필요한 경우 리소스를 확장할 수 있습니다. 예를 들어, CPU 부하가 높다면 CPU를 추가로 할당하거나, 메모리 부족이 발생하면 메모리 용량을 늘릴 수 있습니다. 리소스뿐만 아니라 프로세스의 동작 또한 최적화할 수 있습니다. 특정 프로세스가 많은 CPU 사용량을 차지하고 있다면 해당 프로세스를 최적화하여 자원 사용을 줄일 수 있습니다. 디스크 I/O의 경우 역시 성능을 분석하여 디스크 병목 현상을 확인할 수 있습니다. 그 후 필요에 따라 디스크 용량을 확장하거나 디스크 성능을 향상시킬 수 있습니다. 디스크 공간이 부족한 경우 쓰기 작업을 최적화하여 디스크 공간을 효율적으로 활용할 수 있습니다. 두 번째로 용량 계획에 참고할 수 있습니다. 예를 들어, 서버 모니터링 데이터를 사용하여 트래픽 패턴을 분석하고 예측할 수 있습니다. 특정 시간대에 트래픽이 증가하는 경향을 발견할 수 있다면 해당 시간대에 필요한 용량을 예측하여 서버 리소스를 적절히 조정할 수 있습니다. 이를 통해 예상되는 트래픽 증가에 대비하여 서버의 용량을 조정하고 성능을 유지할 수 있습니다. 또 서버 모니터링 데이터를 사용하여 서버의 성능 패턴을 분석할 수 있습니다. 예를 들어, 특정 시간대에 서버의 응답 시간이 급격히 증가하는 경향을 발견할 수 있다면 해당 시간대에 용량이 부족한 것으로 예상할 수 있습니다. 이를 기반으로 용량을 조정하거나 추가 리소스를 할당하여 성능을 최적화할 수 있습니다. 예비 용량 계획 역시 수립할 수 있습니다. 예를 들어, 서버의 CPU, 메모리, 디스크 사용량 등을 모니터링하고 기준치를 설정한 후, 해당 기준치에 도달하거나 근접할 때 추가 용량을 확보하는 계획을 세울 수 있습니다. 이를 통해 예상치 못한 용량 부족 상황을 방지하고 서버의 안정성과 성능을 유지할 수 있습니다. 마지막으로 장애 예측 및 대응에 활용할 수 있습니다. 서버 모니터링 데이터를 실시간으로 분석하여 이상 상황을 감지하고 경고를 발생시킬 수 있습니다. 예를 들어, CPU 사용률, 메모리 사용량, 디스크 I/O, 네트워크 트래픽 등을 모니터링하고 미리 설정한 임계값을 초과하는 경우에는 이상 상황으로 판단하고 관리자에게 경고 알림을 보내도록 설정할 수 있습니다. 이를 통해 잠재적인 장애 상황을 사전에 인지하고 대응할 수 있습니다. 혹은 서버 모니터링 데이터를 사용하여 이전의 장애 패턴을 분석하고 예측할 수 있습니다. 예를 들어, 특정 작업이나 트래픽 패턴에 따라 일정한 주기로 장애가 발생했던 경우, 해당 패턴을 파악하여 동일한 상황에서 장애가 발생할 가능성을 예측할 수 있습니다. 이를 기반으로 예방적인 조치를 취하거나 대응 전략을 수립하여 장애를 예방하거나 대응할 수 있습니다. 로그 분석을 통해 서버 모니터링 데이터와 로그 파일을 연계하여 장애 분석 및 대응이 가능합니다. 로그 파일에는 서버 동작 상태, 오류 메시지, 경고 등이 기록되어 있으므로, 장애 발생 시 해당 로그를 분석하여 장애의 원인을 찾고 대응할 수 있습니다. 로그 분석을 통해 예상치 못한 동작, 오작동, 예외 상황 등을 식별하여 이에 대한 조치를 취할 수 있습니다. 서버 모니터링 데이터는 다양한 방식으로 수집되고, 성능 최적화, 용량 계획, 장애 예측 및 대응 등 여러가지 방식으로 활용됩니다. 이를 바탕으로 IT 인프라 관리자와 서버를 사용하는 이용자들이 원활하고 안정적으로 서버를 이용할 수 있도록 도와줍니다.
2023.07.04
회사이야기
2023년 상반기 협력업체 상생 세미나 성료…”신규 기능 소개, 상생 지속 도모”
회사이야기
2023년 상반기 협력업체 상생 세미나 성료…”신규 기능 소개, 상생 지속 도모”
지난 21일 본사 8층 대회의실에서 ‘2023년 상반기 협력업체 상생 세미나’를 진행했습니다. 브레인즈컴퍼니는 급변하는 IT인프라 시장 환경에 적극 대응하고 협력사와의 협력을 더욱 강화하기 위해 협력업체 상생 세미나를 운영하고 있습니다. 올해부터 세미나를 상, 하반기 2회 실시하기로 하였는데요, 기존에 EMS를 설치 및 활용하는 교육 중심에서 제니우스의 새로운 기능을 소개하는 중심으로 세미나에 변화를 주었습니다. 이날 행사는 먼저 프리세일즈팀에서 회사 소개를 하였고, 이어서 Technical Consulting 팀 정채린 차장이 제니우스 8.0의 신규 기능을 소개하였는데요, 20개 이상의 신규 기능에는 WNMS, ERMS, 웹토폴로지 등이 포함되어 있습니다. 그리고 막간을 이용해 통합로그관리, Zenius LogManager을 소개하는 시간도 가졌습니다. WNMS는 분산된 AP 장비의 상태를 한 곳에서 통합 모니터링할 수 있을 뿐만 아니라, AP 장비의 Up/Down 링크, WAN Traffic 등을 실시간으로 모니터링하고, AP 장비의 부하를 효율적으로 컨트롤하도록 접속자 수, 사용자 수, 최대 동시접속자 수 등의 근거데이터를 모니터링하고 자료로 확보할 수 있습니다. ERMS(Event Relation Management System)은 문제 원인 추적을 위한 이벤트의 연관성을 분석하는 기능입니다. 기존 서비스맵의 기능에 AND/OR, 이상 등의 다양한 연산조건 및 통보기능을 추가하여 개별적 이벤트가 아닌 복합적인 이상 상황을 감지할 수 있습니다. 웹토폴로지는 기존에는 CS 형식으로 제공되었던 토폴로지맵의 활용도를 높이기 위해 Web기반으로 구현하여 오버뷰와 함께 활용할 수 있도록 구현하였습니다. 마지막은 클라우드 모니터링을 소개하고 시현을 통해 클라우드 가상화 자원을 모니터링하여 가상 자원의 적절한 운영 효율성을 향상시킬 수 있는지 선 보였습니다. 이번 세미나에는 영진인포텍, 한신정보, 시원 등 협력업체 관계자뿐만 아니라 디와이, 더존비즈온 같은 고객사에서도 참여했습니다. 참여한 협력업체는 이런 형식의 세미나가 자주 있었으면 좋겠다, 그리고 정기적인 온라인 교육을 희망한다는 의견을 주셨습니다. 반면 참여한 고객사는 제니우스 8.0으로 업그레이드를 결정하는 데 많은 도움이 되었다고 합니다. 세미나를 주관한 소감은 “제품 중심으로 소개하는 세미나는 처음인데 예상보다 질문이 많았고 관심이 뜨거운 것을 보고 앞으로 제품을 소개하는 기회를 자주 가지면 좋겠다”입니다. 참여해 주신 모든 분께 감사 인사 전합니다.
2023.06.23
회사이야기
강선근 대표이사, ‘중소기업인 대회’ 산업포장 수상
회사이야기
강선근 대표이사, ‘중소기업인 대회’ 산업포장 수상
강선근 브레인즈컴퍼니 대표이사가 20일 중소기업DMC타워에서 열린 ‘중소기업인 대회’에서 산업포장을 수상했습니다. 올해 34회째를 맞은 중소기업인 대회는 일자리, 수출, 사회기여 등 한국경제 발전에 공헌한 중소/벤처기업인의 성과를 되짚어 보고, 자긍심을 높이는 중소 기업계 최대 축제입니다. 중소기업인 대회는 기술력 뿐만 아니라 재무적 실적과 사회 공헌에 얼마나 이바지 했는지를 종합적으로 평가하며 일회성 공적이 아닌 얼마나 꾸준한 업적이 쌓았는지를 보고 수상자를 선발합니다. 강선근 대표이사는 IT 인프라 통합관리 솔루션, Zenius(제니우스)의 우수한 기술력으로 관제 분야의 국산화 및 국내 SW산업 수준을 향상시킨 공로를 인정 받았습니다. 또한 교육 기관에 기부금 전달 및 산학 협력 업무협약을 체결해 소프트웨어산업 인재 양성에 힘쓰고 있는 점을 인정받아 산업포장을 수상하게 되었습니다. △기술력: 다양한 이기종 IT 인프라에 대한 통합관리 시스템 Zenius EMS를 기반으로, 웹 애플리케이션 성능 모니터링 Zenius APM, 통합로그관리 Zenius SIEM , IT서비스 관리 Zenius ITSM 등으로 구성된 소프트웨어 발전 기여 △실적: 공공기관, 관제부분 실적 1위 △사회공헌: 산학 협력 등 일자리 창출 이번 행사는 서울지방중소벤처기업청과 중소기업중앙회 서울지역본부가 공동 주최하고 서울시가 후원하였습니다.
2023.06.21
회사이야기
[행사] Picnic with BRAINZER
회사이야기
[행사] Picnic with BRAINZER
5월의 마지막 날에 BB데이가 열렸습니다! 이번 BB데이는 '피크닉'을 콘셉트로 진행됐습니다. 한강에서 볼법한 텐트, 웨건, 피크닉 바구니, 테이블 등이 브레인즈에 채워졌는데요. 음식 역시 피크닉에 맞춰 바베큐와 과일, 치즈, 와인 등으로 준비했습니다. 8층 라운지에 일찍 올라온 브레인저들이 역대급이라는 입소문을 내며...... 많은 브레인저들이 함께했습니다! 이번에도 빠짐없이 신규 입사자들이 참석해, 타 부서 브레인저들과 교류하며 뜻깊은 시간을 보냈습니다. 브레인저들의 소통 창구로 자리잡은 BB데이! 다음 달에 또 새로운 모습으로 찾아오겠습니다.
2023.06.02
회사이야기
제 6회 브레인즈컴퍼니 패밀리데이
회사이야기
제 6회 브레인즈컴퍼니 패밀리데이
브레인즈컴퍼니는 2015년부터 따뜻한 봄이 오면, '패밀리데이'를 개최하고 있습니다. 패밀리데이는 브레인저들의 가족을 초청해 1박2일 간 함께 연휴를 즐기는 행사입니다. 한 번 참석한 가족들은 다음 패밀리데이를 손꼽아 기다릴 정도로 만족도가 높은 행사인데요. 코로나로 인해 잠시 중단됐던 패밀리데이가 지난 5월 20~21일 양일간 홍천 대명 비발디파크에서 열렸습니다! 가족들이 도착하기 전, 도우미로 나선 브레인저들이 행사장을 세팅했습니다. 헹사장에 도착한 가족들은 간식박스와 음료를 비롯한 웰컴키트를 수령하고, 뽑기를 통해 상품도 함께 받아갔습니다. 또, 차후에 진행될 로또 게임과 행운권 추첨을 위해 사전 등록도 진행했습니다. 브레인즈에서 준비한 웰컴키트와 선물을 한 아름씩 안고 가족사진도 찰칵! 2인 가족부터 3대가 모두 총출동한 가족까지, 약 100여명의 브레인저와 가족들이 참석했습니다. 모두 빠짐없이 추억을 남길 수 있도록 폴라로이드로도 사진을 제공했어요. 본격적인 행사를 시작하기 앞서, 브레인저와 그 가족들이 함께 단체사진을 촬영했습니다. 환한 표정의 참가자들! 기분좋게 행사가 시작됐습니다. 이번 행사는 영업그룹의 막내, 석빈님이 진행했습니다. 행사장 앞 무대에 잔뜩 쌓인 경품들 보이시나요? 첫 번째로, "사회자를 이겨라, 가위바위보!" 게임이 진행됐습니다. 많은 경쟁자를 물리치고 20여명이 무대 앞으로 나와 사회자와 겨뤘고, 최후의 4인이 남았습니다. 그 중 미모를 한껏 뽐내던 꼬마숙녀가 우승해 가족들의 환호를 받으며 상품을 차지했습니다! 다음으로 '청기백기' 게임이 진행됐는데요. 초등학교 입학 전 유아들이 먼저 참여했습니다. 아이들이 참여하다 보니, 마음 약한 사회자는 탈락을 쉽게 외치지 못해 곤혹을 치뤘습니다. 이어, 초등부 게임이 진행됐고 치열한 경쟁 끝에 경품을 차지할 수 있었습니다. 다음으로 중고등부! 이전 게임들에 비해 월등한 실력을 보여줘 우승자를 가리기 어려웠는데요. 결국 최후의 2인이 가위바위보를 통해 상품을 가져갔습니다. 마지막으로 남녀를 나눠 성인부 게임이 진행됐습니다. 한치의 양보도 없이 진행된 게임의 승자는 브레인저들이 차지했습니다. 성인 여성부 게임에서는 브레인저의 가족들이 우승하며 경품을 나눠갔습니다. 다음으로, 가족이 모두 함께 즐길 수 있는 '파스타면&마시멜로우 탑 쌓기' 게임이 진행됐는데요. 5분 간 파스타면과 마시멜로우를 잘 조합해 가장 높이 탑을 쌓은 가족 3팀에게 경품을 증정했습니다. 이어서, OX 퀴즈를 풀었습니다. 어린 아이들 눈높이에 맞춰 다양한 문제가 출제됐고, 패자부활전을 거쳐 최후의 4인이 남았는데요. 승자는 ITSM 팀장인 희찬님이 차지했습니다. 이번에는 가족들의 단합력을 높여줄 다각 달리기! 2, 3, 4인 가족으로 나눠 게임이 진행됐습니다. 1그룹 브레인저들이 모두 승리를 거머쥐었네요. 행사장 입장 때 제출했던 로또를 맞히기 위해, 자녀들이 나와 각 번호의 풍선을 터뜨리는 게임이 진행됐습니다. 브레인저들이 옆에서 원하는 번호를 부르며 코치하고, 아이들이 열심히 다트핀을 던졌습니다. 총 3팀의 가족들이 경품을 가져갔어요. 마지막 게임은 아이들이 가장 기다린 '보물찾기'였는데요. 도우미들이 행사 시작 전 건물 근처에 많은 보물을 숨겨뒀고, 한 명도 빠짐없이 상품을 가져갈 수 있었습니다. 평소 갖고 싶던 선물이 나오자, 활짝 웃음 짓던 아이들! 행사 중 가장 행복한 모습을 보여, 보는 이들도 절로 미소가 나왔네요. 게임이 끝난 후, 행운권 추첨이 시작됐습니다. 최연소 참가자인 인프라웹팀 보람님의 쌍둥이 딸도 추첨에 참여해 눈길을 끌었습니다. APM팀의 진광님 가족이 1등 및 여러 상품을 휩쓸어가며 부러움을 샀어요. 행사가 끝난 후, 가족별로 모여 브레인즈에서 제공한 한우 불고기를 먹으며 오붓한 시간을 보냈습니다. 이후 각자 숙소에서 자유시간을 갖고, 다음날 오전 역시 브레인즈 측에서 마련한 조식을 먹은 후 집으로 돌아갔습니다. 이번 행사에 참석한 브레인저들이 마음 따뜻해지는 이야기를 전해왔습니다. "사춘기에 접어든 큰 아이와 서먹했는데, 기분 전환이 됐는지 좀 나아졌네요. 즐거운 시간이었어요." "매년 아주 만족하며 행사에 참석하고 있습니다. 준비해주신 도우미분들께 감사드리고, 좋은 행사 계속 됐으면 해요." "동료들의 가족들을 보니, 무엇인가 알 수 없는 책임감이 더 생기는 것 같아요. 예전에는 나만 잘하면 되지라고 생각했는데 저와 협업하는 분이 누군가의 아버지이고 어머니라는 것을 느끼며, 더 많이 배려해야 겠다는 생각을 했습니다." "코로나로 잠정 중지됐다 오랜만에 다시 열려서 기뻐요. 1박 2일 동안 가족들이 행복해하는 모습을 보며 저도 행복했어요. 맛있는 음식과 깔끔한 숙소 그리고 멋지게 행사 준비한 도우미들이 있어 더욱 즐거운 시간을 보낼 수 있었어요."
2023.05.26
사람이야기
신입 개발자의 브레인즈컴퍼니 합류 여정
사람이야기
신입 개발자의 브레인즈컴퍼니 합류 여정
안녕하세요. 저는 개발 2그룹 인프라웹팀의 신입 개발자 홍유석입니다. 2023년 1월 30일에 합류해 벌써 3달이 훌쩍 지났네요. 제가 브레인즈에 지원 후 서류 합격을 하고, 코딩 테스트와 인터뷰를 준비해야 했을 때, 관련 정보나 후기가 거의 없어 어떻게 준비해야 할지 많이 고민했던 기억이 납니다. 그래서 이 글이 브레인저를 꿈꾸시는 분들에게 조금이나마 도움이 됐으면 하는 마음으로, 브레인즈컴퍼니 지원부터 합격 후 입사 준비 과정까지의 제 경험을 이야기해 드리려 합니다. ----------------------------------------------------- 합류 과정 브레인즈컴퍼니 합류 과정은 지원서를 제출하는 ‘서류 지원’, 기본적인 코딩 능력을 갖추고 있는지 확인하기 위한 ‘코딩 테스트’, 기술 역량을 확인하기 위한 ‘인터뷰’, 그리고 앞에 모든 과정을 통과한 후 입사에 필요한 서류를 준비하고 제출하는 ‘프리 보딩’ 순으로 진행됐습니다. 지금부터 각각의 과정이 어떻게 진행됐고, 무엇을 준비하면 좋을지 좀 더 자세히 전달해 드리도록 하겠습니다. 서류 지원 저는 채용 사이트를 통해서 브레인즈컴퍼니의 공고를 확인하고 지원하게 됐습니다. 지원 서류에 크게 정해진 형식이 없었기 때문에 이력서 겸 포트폴리오를 작성해 제출했습니다. 이때 지원 서류를 작성하며 가장 신경 썼던 부분이 적정한 분량으로 저의 역량을 잘 드러나게 하는 것이었습니다. 지금까지 개발자를 준비하며 많은 것들을 경험하고 공부했지만 이러한 내용들을 모두 담으면 지원 서류가 너무 길어지게 됐습니다. 또, 이러한 점은 여러 지원자들의 서류를 검토하는 분들에게 읽기 힘든 지원 서류가 될 수 있다고 생각해 제 역량을 잘 드러낼 수 있는 프로젝트를 선택해 내용을 구성했습니다. 프로젝트에 대한 내용을 담을 때도 모든 내용을 담지 않고 제가 맡은 부분에서 문제를 어떻게 해결했는지를 중심으로 작성했습니다. 코딩 테스트 코딩 테스트 안내는 굉장히 빠르게 이뤄졌습니다. 서류 지원 이틀 후에 채용 담당자분이 전화와 메일로 테스트 방법과 시간에 대해 자세한 안내를 해 주셨습니다. 코딩 테스트는 온라인 플랫폼에 원하는 시간에 접속해 정해진 시간 동안 문제를 푸는 방식으로 진행됐습니다. 총 50분의 시간이 주어졌으며 SQL, Java, Javascript, HTML, JQuery 등으로 이뤄진 10문제를 해결해야 했습니다. 50분에 10문제를 풀어야 하는 만큼 오래 고민해야 하는 문제가 아닌 기본적인 개념을 잘 이해하고 있는지 확인하는 문제들이었습니다. 따라서 평소에 기본기를 잘 다져 놓으시거나 짧게라도 코딩 테스트를 준비해 보셨다면 큰 어려움 없이 문제를 해결하실 수 있을 것으로 생각됩니다. 추가로 브레인즈컴퍼니의 코딩테스트를 푸는 방법에 대한 팁을 좀 더 드리자면, 시간이 짧기 때문에 자신있는 문제들을 먼저 풀어 점수를 확보하고, 잘 모르는 문제들은 나중에 도전해 보면서 부분 점수를 확보하는 방법을 추천해 드립니다. 면접 면접에 대한 안내 역시 빠르게 이뤄졌습니다. 코딩 테스트 후 바로 다음 날 채용 담당자분이 연락을 주셨고 면접 날짜와 시간을 조율해 3일 후 면접을 보게 됐습니다. 면접까지 남은 시간 동안에는 지금까지 공부했던 내용들을 다시 정리하고, 회사 사이트에 들어가 회사가 무슨 일을 하고 어떠한 가치관을 중요하게 여기는지 파악하며 면접을 준비했습니다. 면접은 회사에서 오프라인으로 1시간 30분 동안 이뤄졌으며, 인사 면접과 기술 면접을 담당하시는 두 분이 면접관으로 들어오셨습니다. 기억나는 질문을 정리해 보자면, ∙ 자기소개 ∙ 앞서 본 코딩 테스트에 대한 질문 ∙ 지원서 기반의 질문 ∙ 기본 CS 지식에 대한 질문 ∙ 인성 및 회사 문화에 관련된 질문이 주어졌습니다. 질문 대부분이 실제로 겪은 문제, 또는 특정 상황에서 주어진 문제를 어떻게 해결할 수 있는지 물어보고 있었기 때문에 문제 해결 방법과 이유를 잘 전달하기 위해 노력했습니다. 물론 모든 질문들에 대답할 수 있었던 것은 아니었습니다. 모르는 질문 또한 있었으며 이러한 경우 아는 만큼 대답하되 모르는 것을 아는 척하지 않으려 노력했습니다. 면접이 끝난 후 들었던 생각은 “면접관분들의 배려로 편안한 분위기에서 면접이 진행돼, 준비한 내용들을 잘 전달할 수 있었다”라는 것입니다. 따라서 면접을 보게 되시는 분들이 기본적인 CS 지식을 열심히 공부하셨고, 자신이 한 프로젝트의 내용을 잘 정리해 준비하셨다면 좋은 결과를 얻으실 수 있을 것으로 생각됩니다. 합격 안내와 프리 보딩 합격 안내까지도 빠르게 이뤄졌습니다. 면접 당일 오후 5시 정도에 전화 연락과 오퍼 레터를 메일로 받았습니다. 이후 저 또한 입사를 결정해 첫 출근 날짜를 정하고 입사 수락 메일을 보냈습니다. 첫 출근까지 9일 정도의 여유 시간이 있었기에 가족들과 시간을 보내는 등 충분한 휴식을 취하면서 입사 준비를 했습니다. 프리 보딩의 경우, 브레인즈의 인사 담당자가 보낸 안내 메일에 따라 첫 출근 전까지 필요한 서류들을 준비하고, 프로필 사진 및 자기소개를 메일로 보내는 형태로 진행됐습니다. 인사 담당자가 안내도 상세히 해 주셨고, 준비해야 할 것들도 간단했기에 큰 어려움 없이 필요한 것들 모두 첫 출근까지 준비할 수 있었습니다. 글을 마치며 이 글을 쓰고 있는 지금 저는 브레인즈컴퍼니에서 근무한지 어느덧 3개월이 지나, 수습 기간을 잘 마무리하고 정직원이 됐습니다. 첫 출근부터 지금까지 과제와 실제 업무를 수행하고 신입 사원 공유 회의에 참여하며, 회사의 서비스와 업무 프로세스를 파악하는 시간을 가졌습니다. 실수도 많고 부족한 점도 많았지만 항상 자신의 일처럼 도와주는 좋은 팀원분들 덕분에 잘 적응하고 성장할 수 있었습니다. 제 글이 브레인즈컴퍼니 입사를 목표로 하는 분들에게 도움이 됐으면 좋겠습니다. 그리고 원하는 결과를 얻어 회사의 좋은 팀원분들과 함께 일하면서 서로의 성장을 도와주게 되길 바라며, 브레인즈컴퍼니의 합류 과정에 대한 글을 마무리하도록 하겠습니다. 시간 내어 긴 글 읽어주셔서 감사합니다.
2023.05.02
회사이야기
[행사] 1주년 맞이한 BB데이
회사이야기
[행사] 1주년 맞이한 BB데이
BB데이가 1주년을 맞이했습니다. (그 동안의 BB데이 보러가기) 지난해 4월 처음 발을 내딛었던 BB데이는 1년 간 빠짐없이 이어져 오며, 매달 브레인저 간 소통의 장을 만들어왔습니다. BB데이에서는 신규 직원을 소개하기도 하고, 다른 층에 근무해 평소 이야기 나눌 기회가 없는 팀과 교류할 기회도 가질 수 있었습니다. 또, 개발자와 일반 직군 사이의 벽도 허물며 지난달 해외 워크숍에서 여행 메이트가 되기도 했고, 업무적으로도 도움을 받을 수 있었습니다. 이번 4월 BB데이에서도 어김없이 신규 직원들이 참석해, 타 부서의 브레인저와 교류하며 함께 1주년을 축하하는 시간을 가졌습니다. BB데이하면 빠질 수 없는 술과 음식! 항상 인기 많은 치킨, 처음 시켜보는 마라샹궈와 궁합이 좋은 고량주, 그리고 1주년을 축하하기 위해 성수 맛집 오복떡집에서 공수해 온 떡까지 알차게 준비해 봤어요. 1년 간 BB데이를 운영해 온 담당자가 촛불을 불고, 브레인저들이 박수로 답례해줬습니다. 이후 1주년 맞이 특별 행운권 뽑기 시간을 가졌습니다. 앞에서 아무도 행운을 가져가지 못하고, 마지막으로 인프라웹팀만이 남은 상태! 인프라웹팀은 뽑기 전 당첨자가 팀에 커피를 쏘기로 해, 행운이 벌칙으로 바뀌는 상황이 벌어졌습니다. 당첨자는 도영님과 예지님이었는데요. 이후에 동료들과 회사 앞 스타벅스에 모여있는 걸 목격했습니다. 이번달에도 서로 웃고 즐기며 한 달을 기분좋게 마무리할 수 있었어요. BB데이는 앞으로도 쭈~~~~~~욱 계속됩니다!
2023.04.27
기술이야기
옵저버빌리티 향상을 위한 제니우스 대표 기능들
기술이야기
옵저버빌리티 향상을 위한 제니우스 대표 기능들
이번 블로그에서는 지난 블로그에서 다루었던 옵저버빌리티를 구현하기 위한 오픈 소스들은 어떤 것들이 있는지 간략히 알아보고, 제니우스(Zenius-EMS)에서는 옵저버빌리티 향상을 위해서 어떤 제품들을 제공하고 있는 지 살펴보겠습니다. 옵저버빌리티 구현을 위해 널리 활용되는 대표적인 오픈소스로는 아래 네 가지 정도를 들 수 있습니다. l Prometheus: 메트릭 수집 및 저장을 전문으로 하는 도구입니다. Prometheus는 강력한 쿼리 기능을 가지고 있으며, 다양한 기본 메트릭을 제공하며 데이터 시각화를 위해 Grafana와 같은 도구와 통합될 수 있습니다. 또한 이메일, Slack 및 PagerDuty와 같은 다양한 채널을 통해 알림을 보낼 수 있습니다. l OpenTelemetry: 에이전트 추가 없이 원격으로 클라우드 기반의 애플리케이션이나 인프라에서 측정한 데이터, 트레이스와 로그를 백엔드에 전달하는 기술을 제공합니다. Java, Go, Python 및 .NET을 포함한 다양한 언어를 지원하며 추적 및 로그에 대한 통합 API를 제공합니다. l Jaeger: 분산 서비스 환경에서는 한번의 요청으로 서로 다른 마이크로서비스가 실행될 수 있습니다. Jaeger는 서비스 간 트랜잭션을 추적하는 기능을 가지고 있는 오픈 소스 소프트웨어입니다. 이 기능을 통해 애플리케이션 속도를 저해하는 병목지점을 찾을 수 있으며 동작에 문제가 있는 애플리케이션에서 문제의 시작점을 찾는데 유용합니다. l Grafana: 시계열 메트릭 데이터를 시각화 하는데 필요한 도구를 제공하는 툴킷입니다. 다양한 DB를 연결하여 데이터를 가져와 시각화 할 수 있으며, 그래프를 그릴 수도 있습니다. 시각화한 그래프에서 특정 수치 이상일 때 알람 기능을 제공하며 다양한 플러그인으로 기능확장이 가능합니다. ------------------------------------------------- 오픈 기술을 이용해 Do It Yourself 방식으로 옵저버빌리티를 구현한다면 어떨까요? 직접 옵저버빌리티를 구현하기 위해서는 먼저 필요한 데이터를 수집해야 합니다. 필요한 데이터가 무엇인지, 어떤 방식으로 수집할지 결정하고 Prometheus, OpenTelemetry 같은 도구들을 이용해 설치 및 설정합니다. 이 단계는 시간이 가장 오래 걸리고, 나중에 잘못된 구성이나 누락이 발견되기도 합니다. 다음 단계는 데이터 저장입니다. 이 단계에서 주의할 점은 예전처럼 여러 소스에서 수집한 데이터를 단순하게 저장하는 것이 아니라, 전체적인 관점에서 어떤 이벤트가 일어나는지를 추적이 가능하도록 데이터 간의 연결과 선후 관계를 설정하는 것입니다. 어려운 점은 새로운 클라우드 기술을 도입하거나 기존의 인프라나 애플리케이션에서 변경이 발생할 때마다 데이터를 계속해서 정리를 해야 하는데, 이를 위해 플랫폼을 지속적으로 수정하고 구성을 추가해야 한다는 것입니다. 마지막으로 부정확한 경고들은 제거해야 합니다. 비즈니스 상황과 데이터는 계속해서 변화하기 때문에 이에 맞게 베이스 라인을 지속적으로 확인하고, 임계치를 조정해서 불필요한 알람이나 노이즈 데이터가 생기는 것을 방지해야 합니다. 결론적으로 직접 옵저버빌리티를 구현하는 것은 처음에는 쉬워 보여도 고급 인력과 많은 시간을 확보해야 하며, 별개로 시간이 지남에 따라서 효율성과 확장성이 떨어진다는 점을 감안하면 대부분의 기업은 감당하기 어렵다고 할 수 있습니다. 그렇다면, Zenius(제니우스) EMS는 옵저버빌리티를 어떻게 확보하고 있을까요? 옵저버빌리티 향상을 위한 가장 기본적인 기능은 토폴로지맵 또는 대시보드입니다. 다양한 인프라의 물리적 논리적 연결구조들을 한 눈에 시각적으로 파악할 수 있도록 해야 합니다. Zenius는 각 인프라별 상황을 한 눈에 볼 수 있는 오버뷰와 시스템 전체를 조망할 수 있는 토폴로지맵, 그리고 서비스 별 상황들을 감시할 수 있는 대시보드 등 크게 세가지의 뷰어(Viewer)를 제공합니다. 인프라의 구성 상황에 따라 다층적으로 구성되어 고객들이 인프라에서 일어나는 상황을 즉각 알 수 있도록 해 줍니다. 이러한 뷰어들은 기존 ‘모니터링’의 개념에서 ‘옵저버빌리티’ 개념으로 진화화면서 좀 더 다층적, 다양화되는 형태로 진화하고 있습니다. 또한, Zenius는 기존의 각 인프라별로 단순히 감시를 설정하는 방식이 아닌 다양한 인프라로부터의 로그와 메트릭 정보를 이용해 어떤 상관관계가 있는지 분석하는 ‘복합감시’라는 서비스가 기본적으로 탑재돼 있습니다. 복합감시를 대표 기능에는 ERMS(Event Relation Management System), 스냅샷 그리고 조치 자동화 등을 들 수 있습니다. l ERMS 기능은 로깅, 메트릭 정보와 장비의 상태를 이용해 새로운 감시 기준을 만들어, 의미있는 이벤트를 생성해 사용자에게 개별 장비 수준이 아닌 서비스 관점에서 정확한 상황 정 보를 제공합니다. l 스냅샷은 서비스 동작에서 이벤트가 발생했을 때, 당시 상황을 Rawdata 기반으로 그대로 재현하는 기능으로 SMS, DBMS, APM, NMS 등 모든 인프라를 동시에 볼 수 있습니다. l 조치 자동화는 ERMS를 자동운영시스템과 연동해, 특정 상황에서 자동으로 스크립트를 실행해 제어하는 기능입니다. 트레이싱 기능은 APM에서 제공하는 기능으로, WAS(Web Application Server)에 인입되고 처리되는 모든 트랜잭션들을 실시간으로 모니터링하고 지연되고 있는 상황을 토폴로지 뷰를 통해 가시적으로 분석할 수 있습니다. 사용자는 토폴로지 뷰를 통해 수행 중인 액티브 트랜잭션의 상세정보와 WAS와 연결된 DB, 네트워크 등 여러 노드들 간의 응답속도 및 시간들을 직관적으로 파악할 수 있습니다. 제니우스의 또 다른 옵저버빌리티는 인공지능 기반의 미래 예측 기능으로 미래 상황을 시각적으로 보여줍니다. 인프라 종류에 상관없이 인공신경망 등 다양한 알고리즘을 통해 미래 데이터를 생성하고, 장애발생 가능성을 빠르게 파악해 서비스 다운타임이 없도록 도와줍니다. 또한 이상 탐지 기능은 보안 침해 또는 기타 비정상적인 활동을 나타낼 수 있는 시스템 로그, 메트릭 및 네트워크 트래픽의 비정상적인 패턴을 식별할 수 있습니다. 이상탐지 알고리즘은 시간이 지남에 따라 시스템 동작의 변화에 적응하고 새로운 유형의 위협을 식별하는 방법을 학습할 수 있습니다. 이상과 같이 Zenius(제니우스) EMS는 최고의 옵저버빌리티를 제공하기 위해서 연구개발에 매진하고 있습니다. 옵저버빌리티 향상을 위한 다양한 기능/제품들은 고객의 시스템과 조직 상황에 맞게 선별적으로 사용될 수 있습니다.
2023.04.19
기술이야기
옵저버빌리티 확보를 위한 대표 정보 소스 3가지
기술이야기
옵저버빌리티 확보를 위한 대표 정보 소스 3가지
지난 블로그에서는 옵저버빌리티가 기존 모니터링과 어떻게 다른지 비교해봤습니다. 간략히 되짚어보면, 옵저버빌리티란 IT 환경이 다양해지고 기업의 서비스가 점점 복잡해짐에 따라 빠르게 문제를 찾아 해결하기 위해 서비스의 내부 상태와 동작을 이해하는 능력입니다. 옵저버빌리티는 IT 인프라별로 어떤 것이 문제라는 기준을 중심으로 모니터링하는 기존 방식에서 벗어나 모든 데이터를 실시간으로 수집하고 분석하여 IT시스템의 근본 원인에 접근하고, IT 운영 전문가의 노하우를 바탕으로 각 메트릭별 상관관계를 분석해 미래의 장애를 예측하는 인사이트를 강조합니다. 이번 블로그에서는 옵저버빌리티 확보에 가장 기본이자 중요한 정보 소스인 로깅, 메트릭, 트레이싱을 중심으로 알아보겠습니다. 이 세가지 소스는 시스템의 정확한 모니터링을 보장하고, 문제가 발생할 때 무엇이 잘못됐는지 근본원인을 추적하고, 전체 기능을 개선하는 데 도움이 되는 방법들입니다. 물론 이 세가지 방법만으로 옵저버빌리티가 확보됐다고 할 수는 없습니다. 옵저버빌리티 확보를 위해서는 로깅, 메트릭, 트레이싱을 통합해 이벤트의 상관관계를 분석하고, 데이터 시각화로 사용자에게 인사이트를 제공하는 능력이 추가돼야 합니다. l Logging : 시스템 내에서 발생하는 이벤트를 인지하고 향후 분석을 위해 저장하는 프로세스 l Metric : 응답 시간 또는 오류율과 같은 시스템 성능을 설명하는 숫자 값 l Tracing: 개발자가 병목 현상과 성능 문제를 식별할 수 있도록 서비스 호출 경로와 시간을 추적하는 프로세스 Logging 로깅은 로그를 남기는 것으로 로그를 수집하고, 저장하는 프로세스입니다. 로깅은 시스템 동작을 이해하고 문제를 진단하는 데 필요한 것으로, 향후 분석을 위해 저장하는 데이터인 만큼 올바른 세부 기준에 따라 의미가 있는 로그를 추출하는 것이 필요합니다. 그리고 예를 들어 웹 애플리케이션에 문제가 발생한 경우 로그를 남기는데, 메트릭을 통해서는 이 문제를 발견할 수 없으므로 그래서 로그는 중요합니다. 로그의 수집은 간단한 텍스트 파일에서 ELK(Elasticsearch, Logstash, Kibana)처럼 정교한 프레임워크에 이르기까지 다양한 형태를 취할 수 있습니다. 그래서 로그는 정형화하기 어렵고 그 양이 방대함으로 로그를 수집, 저장하고 분석할 때 다음과 같은 사항을 유의해야 합니다. l 과도한 로깅은 스토리지 비용을 증가시키고 로그의 검색 효율을 떨어뜨릴 수 있습니다. 따라서 어떤 데이터를 기록하고, 어떤 데이터를 기록하지 않을지 필터링하는 것이 중요합니다. l 장기간 보관할 필요가 없는 로그 효율적인 로깅 시스템을 위한 로그 보관 정책이 필요합니다. l 로그에는 인사이트를 제공할 수 있는 모든 컨텍스트 정보가 포함돼야 합니다. l 로깅은 다른 프로세스에 영향을 미치지 않도록 비동기 방식이어야 합니다. l 민감한 데이터가 로그에 남겨지지 않도록 마스킹을 해야 합니다. 그럼 로그 분석을 통해 알 수 있는 정보는 무엇이 있을까요? l 시스템의 상태: 로그에는 어떤 액션을 수행했는지, 어떤 데이터가 처리됐는지, 또 어떤 오류가 발생했는지 등의 정보가 담겨 있으므로 이러한 정보를 분석해 시스템의 상태를 파악할 수 있습니다. l 이슈 파악: 로그에는 어떤 오류가 발생했고, 어떤 요청이 실패했는지, 어떤 리소스가 부족한지 등의 정보가 담겨 있으므로 이러한 정보를 분석해 이슈를 파악하고, 빠르게 대응할 수 있습니다. l 보안성 강화: 로그에는 로그인 시도, 권한 부여, 보안 이벤트 발생 등의 정보가 담겨 있으므로 이러한 정보를 분석해 보안 이슈를 파악하고, 보안성을 강화할 수 있습니다. Metric 로그가 텍스트라면 메트릭은 단순한 수치입니다. 메트릭은 시스템의 상태를 측정하고, 모니터링하는데 사용되는 숫자 측정값입니다. 조금 더 자세히 설명하면, 메트릭은 측정 항목을 정의하고 해당 항목을 수치로 측정해, 그 결과를 보고하고 시스템이 정상적으로 동작하는지 확인하거나 장애를 빠르게 감지하기 위한 소스입니다. 메트릭의 측정 대상은 CPU 사용률, 메모리 사용률, 네트워크 트래픽 등 인프라의 성능이나 초당 수신하는 요청수, 응답에 걸린 시간, 사용자에게 오류를 다시 보낸 응답 수 등 애플리케이션의 상태와 관련돼 있습니다. 메트릭을 통한 수집 가능한 범위는 모니터링 도구 사용 여부에 따라 달라집니다. 일반적인 방식은 에이전트를 이용해 모니터링 대상으로부터 데이터를 수집하는 것으로, 수집할 메트릭을 정의하기가 유연하고 성능이나 안정성 등의 이슈에 대한 정보도 수집할 수 있는 장점이 있습니다. 에이전트를 사용하지 않고 운영 체제나 애플리케이션에서 제공하는 메트릭 수집 API를 사용하는 방식도 있는데, 수집하는 메트릭이 비교적 제한적입니다. 단순히 메트릭을 수집하는 것만으로 시스템을 모니터링하기에 충분하지 않습니다. 메트릭 데이터를 잘 활용하기 위해서는 분석 방법이 중요한데, 분석을 위해서는 몇가지 단계를 거쳐야 합니다. l 먼저, 데이터를 시각화하여 쉽게 이해할 수 있는 형태로 변환해야 합니다. 차트나 그래프, 대시보드 등을 통해 데이터의 패턴과 추세를 파악할 수 있으며, 시스템의 상태를 실시간으로 모니터링할 수 있습니다. l 다음으로, 데이터를 분석하여 시스템의 문제를 식별합니다. 예를 들어, 응답 시간이 지연되는 경우, 이를 발생시키는 주요 요인을 파악하여 시스템을 개선해야 합니다. 이를 위해 데이터를 세분화하여 요소를 파악하고, 문제를 식별하는 데 도움이 되는 경향성을 찾아야 합니다. l 마지막으로 이전 데이터와 비교하고 평가에 활용합니다. Metric 데이터를 분석할 때는 이전 데이터와 비교하여 시스템의 개선 정도를 파악하는 것이 중요하고, 이를 통해 시스템의 성능 개선 여부를 판단하고, 추가적인 개선 방안을 모색할 수 있습니다. Tracing 트레이싱은 분산 시스템에서의 서비스 호출 경로와 시간을 추적하는 기술입니다. 즉, 서비스 간의 호출 관계와 시간 정보를 추적해 각 서비스의 응답 시간을 파악하고, 이를 시각화해 병목 현상을 파악할 수 있습니다. 트레이싱은 크게 세 가지 구성 요소로 이뤄져 있습니다. l Trace: Trace는 서비스 간의 호출 경로와 시간 정보를 담고 있는 데이터 레코드입니다. Trace는 Span과 Trace ID, Parent Span ID 등의 정보를 가지며, 각 Span은 서비스 내부에서의 호출 관계와 시간 정보를 담고 있습니다. l Span: 분산 추적에서 가장 기본이 되는 논리 단위로 여러 개의 span 이 모여 trace를 완성한다는 개념입니다. 각각의 Span은 작업이름, 시작 시간과 종료 시간, key value 형태의 tags 와 Logs, span contexts를 가지고 있습니다. Span contexts는 분산추적을 하기위해 Trace 구간에서 종속된 Span을 구별할 수 있는 Span id와 Trace id를 말합니다. l Collector: Collector는 Trace 정보를 수집하고 저장하는 역할로, Trace 정보를 수집하기 위한 에이전트와 수집된 Trace 정보를 저장하고 분석하기 위한 Backend로 이뤄져 있습니다. (출처: [MSA] OpenTracing, 분산추적(Distributed Tracing) 과 Span context, KSR의 저장소) 이렇게 옵저버빌리티를 구현하기 위한 로깅, 매트릭, 트레이싱 등 세 가지의 중요한 정보 소스들을 다루기 위해서는 여러가지 기술들이 조합되어야 합니다. 다음 블로그에서는 그와 같은 정보 소스들을 다루어 옵저버빌리티를 구현하기 위해서 널리 사용되는 대표적인 오픈 소스들을 알아보고 Zenius-EMS에서는 옵저버빌리티 향상을 위해서 어떤 기능들을 제공하고 있는지 살펴보겠습니다.
2023.04.19
회사이야기
[브행시] 신규 직원 환영&부서 간 소통
회사이야기
[브행시] 신규 직원 환영&부서 간 소통
매달 진행되고 있는 브레인저의 행복한 시간, 브행시! 분기 마지막 주에는 선근님과 신규 직원들이 함께 점심식사를 하는데요. 최근 브레인즈컴퍼니의 다양한 부서에 새로운 얼굴들이 찾아왔습니다. 사원부터 팀장까지, 회의실에 한가득 모여 선근님과 도란도란 이야기를 나누며 서로에 대해 알아가는 시간을 가졌습니다. 부서 간 브행시에서는 여직원들끼리 모여 소통하는 시간을 가졌습니다. 브레인즈컴퍼니는 남직원 비율이 높은 편이지만, 점점 여직원들도 늘어나고 있는데요. 주니어급 직원들끼리 두 차례에 걸쳐 식사를 진행했습니다. 이날은 해외 워크숍을 앞두고 있던터라, 숙소는 누구와 쓰게 될지, 서로의 여행 계획은 어떻게 되는지 등에 대한 이야기를 나눴습니다. 이번 주에 진행된 또 다른 브행시! 같은 층에서 근무하고 있는 인프라코어팀과 인프라웹팀이 한 자리에 모였어요. 이날 모인 브레인저들은 차장급 이상에 장기근속자 분들이 대부분이었는데요. 모두 편하게 대해 주셔서 화기애애한 분위기 속에서 따뜻한 시간을 보낼 수 있었습니다. 이제 브행시를 진행한 지 1년이 됐습니다. 모든 부서가 한 번 이상씩 브행시에 참여하면서 소통해나가고 있는데요. 함께 하지 못해 본 부서들이 서로 밥 한끼 할 때까지, 브행시는 앞으로도 쭈욱~~~~~ 계속됩니다!!!!
2023.04.11
기술이야기
클라우드 송환(Cloud Repatriation): 클라우드에서 다시 온프레미스로
기술이야기
클라우드 송환(Cloud Repatriation): 클라우드에서 다시 온프레미스로
다시 온프레미스로 복귀하려는 움직임 2022년 발표된 IDC 조사 결과에 의하면, 미국 기업의 71%가 향후 2년내에 ‘클라우드 송환’ 계획이 있다고 합니다. 실제 일부 애플리케이션을 클라우드에서 빼내 자체 데이터센터로 다시 가지고 오는 기업이 늘고 있습니다. 우리나라의 경우 ‘클라우드 전환’이 업계의 화두가 되고 있지만, 클라우드 전환을 10년 넘게 경험하고 있는 미국의 경우에는 이제 ‘클라우드 송환’이 또 다른 화두가 되고 있습니다. 클라우드 송환(Cloud repatriation)은 기업이 클라우드 환경에서 운영하던 애플리케이션, 데이터, 서비스 등을 온프레미스 환경으로 되돌리는 것을 말합니다. 이는 퍼블릭 클라우드가 비즈니스 민첩성을 향상시킬 수 있지만, 특정한 상황에서 온프레미스보다 퍼블릭 클라우드의 지출 비용이 더 크다는 사실을 기업이 깨달으면서 해당 애플리케이션 등을 온프레미스로 복귀시키려는 IT 전략입니다. 클라우드 송환 현상은 IT 비용과 성능을 비롯한 여러 측면에서 클라우드가 항상 최선의 해결책은 아니라는 인식을 바탕으로 확대되는 추세이며 이제 기업이 비용, 성능, 보안의 극대화를 위해 기존 환경과 새로운 환경 사이에서 자연스러운 워크로드 분산을 시작했다는 의미이기도 합니다. 미처 몰랐던 클라우드 서비스의 문제점 클라우드를 채택한 기업이 클라우드 송환을 선택하는 이유는 다음과 같은 문제가 있기 때문입니다. 첫째, 클라우드 비용 문제입니다. 2022년 클라우드 현황(Flexera 2022 State of the Cloud Report) 보고서에 따르면, 클라우드 비용의 30% 정도가 낭비되고 있습니다. 클라우드 서비스가 표면적으로 내세우는 클라우드의 가장 큰 장점이 비용 절감임에도 불구하고, 클라우드 전환 OPEX(operational expenses)가 기존 CAPEX(capital expenses) 대비 더 낫다고 단정하기 어렵습니다. 초기에는 클라우드의 비용이 저렴하게 느껴지지만, 가상머신(VM)과 컨테이너 인스턴스에서 처리하는 작업이 늘어날수록 비용도 더해지기 때문입니다. 워크로드가 증가하는 스타트업은 클라우드를 통해 유연성을 확보하는 것이 비용면에서 유리하겠지만, 예측 가능한 수준의 워크플로우를 갖고 있는 기업이라면 얘기가 달라집니다. 특히, 클라우드에서는 인터넷 대역폭 및 스토리지 요금 등 추가적인 비용이 발생할 수 있습니다. 둘째, 보안 문제입니다. 기업은 클라우드 제공자가 제공하는 기본적인 보안 기능 외에도 보안 문제에 대한 책임을 직접 지게 됩니다. 또, 기업은 자체 보안 정책을 준수해야 하며, 이를 클라우드 환경에 적용하는 것이 쉽지 않습니다. 특히 복잡한 멀티클라우드 환경에서는 견고하게 클라우드 보안 아키텍처를 구축하기 어렵고 외주 처리에 따라 많은 비용이 듭니다. 셋째, 성능 문제입니다. 클라우드에서는 다른 기업과 리소스를 공유하기 때문에 성능 문제가 발생할 수 있습니다. 또, 클라우드 환경에서 애플리케이션 및 데이터를 조작하는 데 필요한 대역폭이 충분하지 않을 경우 성능 문제가 발생할 수 있습니다. 따라서 기업은 성능 문제로 인해 클라우드 송환을 선택할 수 있습니다. 넷째, 제어 문제입니다. 클라우드에서는 기본적으로 클라우드 제공자가 인프라 관리와 보안을 담당합니다. 이는 기업이 클라우드 환경에서는 많은 경우 애플리케이션, 데이터, 서비스 등을 직접 제어할 수 없다는 것을 의미합니다. 따라서, 기업이 직접 컨트롤하지 못해서 문제가 발생한다고 느낄 때에는 클라우드 송환을 선택할 수 있습니다. 클라우드 송환의 이점 클라우드 송환(Cloud repatriation)은 기업에게 여러 가지 이점을 제공합니다. 첫째, 기업은 애플리케이션, 데이터, 서비스 등을 직접 관리할 수 있습니다. 이는 기업이 보안 및 규정 준수와 같은 중요한 문제를 직접 다룰 수 있도록 해주며, 제어력을 높임으로써 IT 부서가 잠재적 문제에 대비해 인사이트와 더 나은 계획을 수립할 수 있게 해줍니다. 클라우드에서는 기본적으로 클라우드 제공 업체가 인프라 관리와 보안을 담당하기 때문에, 이를 직접 제어할 수 없습니다. 클라우드 송환에 적합한 케이스는 정적인 기능을 제공하며 사용량이 많은 애플리케이션입니다. 비용이 고정되고 예측 가능한 애플리케이션은 온프레미스 환경에서 관리하는 편이 더 효과적입니다. 둘째, 기업은 클라우드 비용을 절감할 수 있습니다. 한때 퍼블릭 클라우드가 모든 문제의 해답이라고 생각했다가 퍼블릭 클라우드의 비용 특성과 이점이 기업의 상황과는 맞지 않는다는 사실을 깨닫게 됩니다. 2~3년에 걸쳐 추가되는 비용을 감안하면 퍼블릭 클라우드를 계속 사용할 만한 매력은 시간이 갈수록 희석됩니다. 기업은 반복적으로 발생하는 클라우드 운영 비용을 줄이거나 없애는 방법으로 많은 비용을 절감할 수 있습니다. 예를 들어, 어떤 기업의 데이터가 여러 사이트에서 발생하고 그 양이 많다면 클라우드 환경에서 데이터를 보관하고 이동시키는 데 많은 비용이 발생할 수 있습니다. 또 다른 예로 영상을 불러오고 저장하는 작업이 빈번한 영상 제작 기업의 경우, 클라우드 서버에서 병목현상이 발생할 수 있고 내부 LAN처럼 10Gbps 속도로 데이터를 옮기려면 그 비용이 저렴하지 않을 수 있습니다. 비용 외에도 데이터 이동에 많은 시간이 소모되며 이로 인해 데이터를 필터링해 최소한의 데이터만 저장해야 하는 불편함이 있습니다. 한편, 메모리와 디스크 리소스 비용이 계속 하락하면서 기업의 온프레미스 투자가 유리해지고 있습니다. 더불어 클래스 메모리 및 SDN(소프트웨어 정의 네트워크)과 같은 비용에 도움을 주는 솔루션을 활용하면, 한때 퍼블릭 클라우드의 큰 매력이었던 유연성, 확장성, 중복성의 간극이 상당부분 사라집니다. 셋째, 기업은 데이터 보호와 백업을 더욱 쉽게 할 수 있습니다. 클라우드 업체도 데이터 프라이버시에 대해 엄격하지만 온프레미스 환경에서 데이터를 저장하고 백업 받고 복구하는 것보다 더 안전할 수 없습니다. 물론 민감한 정보를 로컬 환경에 저장하는 것 역시 문제 제기가 있겠지만 최소한 고객 데이터가 사라졌을 때 무엇을 어떻게 해야 하는지 알 수 있습니다. 규정 준수 측면에서도 각 국마다 개인정보보호 규정이 달라 우발적인 규정 위반 가능성이 있습니다. 이러한 우려를 줄이는 방법은 애플리케이션을 특정 위치의 온프레미스 환경에서 실행하는 것입니다. 넷째, 대역폭 문제에서 자유로운 장점이 있습니다. 클라우드 환경에서 빅데이터 시스템을 활용하는 기업은 빅데이터 시스템에서 생성되는 데이터가 높은 대역폭을 요구하면서 자사 데이터 센터보다 훨씬 더 많은 운용 비용을 지불합니다. 컴퓨팅은 온디맨드이므로 탄력적인 클라우드가 유리할 수 있지만 스토리지는 매일 매초 비용이 계속 증가하고 있는 사실을 알아야 합니다. 클라우드냐 온프레미스냐 고려할 점 클라우드 송환은 비용면에서 매력적이지만 매우 도전적인 과제입니다. 클라우드 서비스 공급자는 일반적으로 클라우드에서 빠져나오기 상당히 어렵게 계약하고, 해체됐거나 아예 존재하지 않던 온프레미스 환경을 준비하기 위해 기업의 재무와 조직 운영에 큰 영향을 미치기 때문입니다. 게다가 애플리케이션을 온프레미스 데이터센터로 마이그레이션하는 경우 기업은 클라우드의 확장성, 유연성, 가용성, 탄력성을 유지하기 힘들고 자체 데이터센터가 클라우드에 비해 더 안전하다는 보장을 하기도 어렵습니다. 따라서 이런 경우에는 애플리케이션에서 실행 중인 환경에 대한 종속성이 있는 부분과 단순히 데이터를 관리하는 부분을 분리하면 혼란을 최소화할 수 있습니다. 처음부터 클라우드 환경을 고려해 서비스를 설계했다면, 워크로드를 다시 데이터센터로 되돌리기 위해서는 어느 정도의 재설계가 필요하며 빅데이터에 의존하는 기업은 상당한 마이그레이션 작업을 각오해야 합니다. 이처럼 클라우드 송환은 매우 어려운 과제입니다. 따라서 처음부터 워크로드를 퍼블릭 클라우드로 이전하는데 매우 신중한 입장을 취하는 것이 가장 중요합니다. 그래서 최근에는 기업들이 클라우드 환경을 고수하는 것보다는 필요한 경우 클라우드와 온프레미스 환경을 융합하는 하이브리드 클라우드 전략을 선택하는 경향이 있습니다. 모든 서비스를 클라우드로 전환하는 것이 아니라, 단기간에 트래픽이나 사용자가 급속히 늘어날 가능성이 있거나, 클라우드 서비스를 활용해 서비스를 빠르게 런칭해야 하는 경우로 한정하는 것이 필요합니다. 우리나라에서도 많은 기업들이 이미 클라우드가 갖고 있는 단점들을 경험하고 온프레미스로 전환하고 있습니다만, ‘클라우드 전환’이라는 큰 물결 아래 ‘클라우드 송환(Cloud Repatriation)’에 대한 논의는 제한적입니다. 우리나라의 클라우드 전환율이 세계시장과 비교해 볼 때 현저히 낮지만, 오히려 클라우드 환경의 문제를 이미 경험한 나라들의 교훈을 미리 받아들인다면 학습비용을 줄일 수 있을 것으로 기대합니다. Zenius-EMS는 고객들이 레거시 시스템에서부터 클라우드 네이티브 시스템에 이르기까지 다양한 관점의 서버모니터링을 할 수 있도록 지원합니다. 대규모 인프라가 존재하는 데이터센터 및 클라우드 환경에서 대용량 데이터 처리에 대한 높은 성능을 확인할 수 있습니다. 고유의 특허 기술을 통해 수천대의 장비에서 발생되는 데이터들을 안정적으로 수집하고 빠르게 처리할 수 있습니다. [출처] John Edwards, "클라우드의 온프레미스 송환이 타당한 5가지 경우", IT WORLD, 2019.04.16 Steven J. Vaughan-Nichols, "모두가 '클라우드' 외칠 때 '로컬 서버' 선택해야 하는 이유, IT WORLD, 2022.07.27 Andy Patrizio, "기업 71%, 2년 이내 클라우드에서 온프레미스로 복귀할 것", IT WORLD, 2022.06.29 Clint Boulton, "'전진 위한 후퇴'··· 클라우드서 온프레미스로 송환하는 기업들", CIO Korea, 2020.03.30 Brian Adler, "Cloud Computing Trends: Flexera 2022 State of the Cloud Report", flexera, 2022.03.21
2023.04.07
1
2
3
4
5
6