반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
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
블로그
열기
메인 페이지로 이동
블로그
최신이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
최신이야기
검색
기술이야기
가트너부터 딜로이트까지, 2024 IT트렌드 총정리
기술이야기
가트너부터 딜로이트까지, 2024 IT트렌드 총정리
지난해는 AI를 중심으로 IT 전 분야에서 혁신적인 변화가 있었고, 올 2024년에는 변화의 속도가 더 빨라질 것으로 예상됩니다. 따라서 이와 같은 빠른 변화를에 얼마나 잘 대처하는지가 점점 더 중요해지고 있는데요. 변화를 더 자세하고 빠르게 파악하기 위해서 가트너, 딜로이트, 포레스터 리서치가 발표한 2024 IT 트렌드의 핵심 내용을 모아봤습니다. 。。。。。。。。。。。。 가트너, AI가 가져올 구체적인 변화에 주목하다 가트너는 AI TRiSM부터 Machine Customers까지 총 10개의 주제로 2024년 IT 트렌드를 정리했습니다. 특히 AI와 클라우드를 통한 산업에서의 구체적인 변화에 주목했는데요. 자세한 내용을 살펴보겠습니다. [1] AI TRiSM: AI의 신뢰, 위험 및 보안 관리 AI TRiSM(AI Trust, Risk, and Security Management)은 인공지능 시스템의 신뢰성, 위험, 보안을 관리하는 프레임워크입니다. AI가 윤리적이고 공정하며 투명해야 함을 의미하며, 잠재적 위험을 식별하고 완화하는 데 중점을 둡니다. 보안 관리는 AI 시스템을 사이버 공격과 데이터 유출로부터 보호합니다. AI TRiSM은 의료·금융·자율주행 차량 등, 다양한 분야에서 AI의 안전하고 책임 있는 사용을 보장하는 데 필수적입니다. 이를 통해서 AI 기술의 지속 가능한 발전과 사회적 신뢰를 유지할 수 있습니다. [2] CTEM: 지속적인 위협 노출 관리 Continuous Threat Exposure Management(CTEM)은 사이버 보안 분야에서 조직의 지속적인 위협 노출을 관리하는 전략입니다. 이 방법론은 실시간 모니터링, 자동화된 위험 평가, 적응적 대응 전략을 포함하며 장기적으로 비즈니스의 연속성을 보장하는데 기여합니다. 예를 들어 금융 서비스 회사는 네트워크와 시스템을 지속적으로 스캔하여 취약점을 탐지하고, 감지된 위협에 대해 우선순위를 매겨 신속하게 대응해야 합니다. 또한 소프트웨어 개발 회사는 개발 중인 소프트웨어와 인프라를 모니터링하여 보안 취약점을 조기에 발견하고, 자동화된 도구를 사용해 코드의 취약점을 수정해야 합니다. [3] Sustainable Technology: 지속 가능한 기술 지속 가능한 기술은 환경 영향을 줄이고 지속 가능성을 촉진하는 혁신 및 관행을 포함합니다. IIoT(산업용 사물 인터넷) 센서와 AI를 사용하여 공급망 작업을 최적화하고, 탄소 배출을 줄이며 전반적인 장비 효율성을 향상시키는 산업이 좋은 예입니다. 또한 자급자족 LED 조명, 전기 교통, 태양 에너지, 탄소 포집 및 저장 기술 등의 지속 가능한 기술과 관행도 포함됩니다. 가트너는 또한 지속 가능한 기술이 위험 감소, 운영 효율성 향상, 경쟁 우위 획득, 인재 유치, 환경 및 사회적 책임 강화와 같은 비즈니스 이점을 제공한다고 강조합니다. [4] Platform Engineering: 플랫폼 엔지니어링 플랫폼 엔지니어링은 개발자와 사용자가 쉽게 사용할 수 있는 도구, 기능 및 프로세스 세트를 제공하는 방식입니다. 사용자의 생산성을 높이고 부담을 줄이는데 중점을 둡니다. 플랫폼 엔지니어링은 사용자의 특정 요구와 비즈니스 요구에 맞게 플랫폼을 수정합니다. 전담 제품 팀은 재사용 가능한 도구와 적절한 기능을 제공하며, 사용자 친화적인 인터페이스 솔루션을 제공합니다. 자동화된 프로세스 및 의사 결정을 위한 기초를 제공하며, 복잡한 상황에서도 디지털 개발을 가속화하게 하는 Be Informed 플랫폼이 좋은 예입니다. [5] AI-Augmented Development: AI 증강 개발 소프트웨어 개발 과정에서 AI를 활용하여 개발자의 작업을 돕고, 테스트 플랫폼과 문서 작성을 지원하는 것을 뜻합니다. GitHub Copilot, Replit GhostWriter, Amazon CodeWhisperer와 같은 AI 기반 코드 생성 서비스가 좋은 예입니다. 이러한 AI 기반 코딩 도우미를 사용하여 업무의 효율을 높일 수 있지만, AI가 오류를 발생시킬 수 있고 독창적인 코드를 생성할 수 없기에 개발자의 역할은 여전히 중요합니다. [6] Industry Cloud Platforms: 산업 클라우드 플랫폼 Industry Cloud Platforms은 특정 산업에 특화된 기능을 제공하는 클라우드 서비스입니다. SaaS(Software as a Service), PaaS(Platform as a Service), IaaS(Infrastructure as a Service)를 결합하여 업계별 맞춤형 기능을 제공합니다. 구체적으로 네 가지의 서비스를 예로 들 수 있습니다. ◾ AWS for Healthcare AWS는 의료 산업에 특화된 클라우드 서비스를 제공하여 의료 데이터 관리, 환자 관리, 의료 연구 등을 지원합니다. ◾ Microsoft Cloud for Financial Services 금융 산업에 맞춤화된 클라우드 솔루션을 제공하여 은행업, 보험 업계에서 사용되고 있습니다. ◾ GCP for Retail Google은 소매 산업에 특화된 클라우드 서비스를 통해 고객 데이터 분석, 재고 관리, 전자상거래 솔루션 등을 지원합니다. ◾ IBM Cloud for Telecommunications 통신 산업에 최적화된 클라우드 서비스를 제공하여 네트워크 운영, 고객 서비스 향상, 신기술 적용 등을 지원합니다. 이러한 산업별 클라우드 플랫폼은 기업이 보다 효율적으로 운영하고 혁신을 가속화하는 데 도움을 줍니다. [7] Intelligent Applications: 지능형 애플리케이션 Intelligent Applications은 인공지능(AI)과 머신러닝 기술을 활용하여 데이터를 분석하고, 사용자 행동을 예측하는 등의 기능을 제공합니다. 자동화된 의사결정, 사용자 맞춤형 경험 제공, 그리고 비즈니스 프로세스의 효율성 향상을 위해 설계되었습니다. 예를 들어 고객 서비스를 위한 AI 기반 챗봇, 데이터 분석을 통해 사용자에게 맞춤형 추천을 제공하는 소매 애플리케이션, 또는 실시간 의료 데이터 분석을 제공하는 헬스케어 애플리케이션 등이 있습니다. Salesforce Einstein, Google Cloud AI, IBM Watson, Microsoft Azure AI가 지능형 애플리케이션에 해당합니다. [8] Democratized Generative AI: 민주화된 생성 AI Democratized Generative AI는 인공지능의 생성 능력을 널리 사용할 수 있게 하는 개념으로, 비전문가도 쉽게 사용할 수 있는 AI 도구와 플랫폼을 의미합니다. 창작물 생성, 데이터 분석, 예측 모델링 등 다양한 분야에서 사용됩니다. 구체적인 서비스나 회사로는 OpenAI의 GPT-, Google의 DeepMind, Adobe의 Sensei와 같은 플랫폼들이 이에 해당합니다. 이러한 도구들은 사용자가 복잡한 알고리즘을 직접 다루지 않고도 AI의 혜택을 누릴 수 있게 해줍니다. [9] Augmented Connected Workforce: 증강 연결된 노동력 기술을 활용하여 직원들의 작업 능력을 향상시키고 원격 협업을 강화하는 전략입니다. 가상 현실, 증강 현실, 인공지능 등을 포함하는 다양한 기술을 활용하여 직원들이 더 효율적이고 효과적으로 협업하고 작업할 수 있도록 지원합니다. Microsoft의 HoloLens와 같은 증강 현실 기기나 Slack, Microsoft Teams와 같은 협업 플랫폼이 좋은 예입니다. 이러한 기술들은 직원들이 시간과 장소의 제약 없이, 효과적으로 협업하고 작업할 수 있는 환경을 만들어줍니다. [10] Machine Customers: 기계 고객 기계나 소프트웨어가 독립적으로 결정을 내리고 트랜잭션을 수행하는 시나리오를 말합니다. 예를 들어 IoT(사물 인터넷) 기기나 자동화 시스템이 소비자 역할을 수행하여 자동으로 주문하거나, 서비스를 요청하는 것입니다. Amazone Dash의 예시 소모품의 사용량을 체크하여 필요할 때 자동으로 주문하는 Amazon의 Dash Service가 대표적인 예입니다. 이러한 기술은 자동화된 공급 체인 관리와 효율적인 재고 관리 등에 기여하며, 비즈니스와 소비자 모두에게 편리함을 제공합니다. 딜로이트, 6가지 트렌드에 주목하다 딜로이트(Deloitte)는 2024 IT 트렌드를 아래와 같은 여섯 개의 주제로 정리했습니다. [1] 공간 컴퓨팅과 메타버스 메타버스는 기업의 주요 도구로 자리 잡고 있으며, 공간 컴퓨팅 기술도 점점 더 중요한 역할을 할 예정입니다. 디지털 트윈, 5G, 클라우드, 엣지, AI 기술에 대한 투자가 이 변화를 주도하고 있습니다. [2] 생성형 AI 생성형 AI는 비즈니스를 개선하고 혁신을 촉진하는 강력한 도구로, 전략적 계획과 특정 비즈니스 요구에 초점을 맞추어 구현되고 있습니다. 기업은 이 기술을 통해 각 분야에서 높은 경쟁력을 확보할 수 있습니다. 사용자의 시청 패턴과 선호도를 분석하여, 개인화된 추천 콘텐츠를 제공하는 Netflix와 Spotify가 가장 기본적이고 좋은 예입니다. [3] 새로운 컴퓨팅 방식의 도입 비즈니스는 기존 인프라를 더 효율적으로 활용하고, 최첨단 하드웨어를 추가하여 프로세스를 가속화하고 있습니다. 일부 기업은 이전 컴퓨팅을 넘어서 클라우드, 엣지, 양자 컴퓨팅 등 새로운 컴퓨팅 방식을 모색하고 있습니다. [4] 개발자 경험 강화(DevOps를 넘어 DevEx로) 기술 인재를 유치하고 유지하기 위해 회사들은 개발자 경험에 초점을 맞추고 있습니다. Github Copilot 같은 코드 자동 완성 및 분석 도구의 도입, 통합 개발 환경(IDE) 최적화, 컨테이너화 및 오케스트레이션 도구 도입 등이 이에 해당합니다. 이러한 노력은 결국 최종 사용자의 경험을 향상시켜 비지니스 성과를 높여줄 예정입니다. [5] 합성 미디어 시대의 진실 방어 AI의 부상으로 인해 악의적인 딥페이크 콘텐츠가 증가함에 따라, 각 기업과 조직들은 유해 콘텐츠를 식별하고 잠재적 공격을 예측하기 위한 방법을 도입하고 있습니다. 특히 2024년은 미국 대통령 선거 등 중요한 이벤트가 많기에 중요한 이슈로 떠오를 예정입니다. [6] 기술적 부채에서 기술적 웰니스로 각 회사와 조직은 기존 코어 시스템, 인프라, 데이터, 애플리케이션을 포함한 노후화된 시스템을 현대화해야 합니다. 이를 위해 정기적인 점검과 예방적 관리에 중점을 두는 새로운 접근 방식이 필요합니다. 포레스터 리서치, 생성형 AI와 디지털 혁신에 주목하다 포레스터 리서치에 따르면 전 세계 기술 분야에 대한 투자는 5.3% 증가할 것으로 예상됩니다. 이 중 금융 서비스와 헬스케어가 가장 빠른 성장세를 보일 것이고, 클라우드 컴퓨팅을 포함한 IT 서비스와 소프트웨어 분야는 2027년까지 가장 높은 비중을 차지할 예정입니다. 또한 기업이 위험을 줄이고 경쟁력을 확보하기 위해선 생성형 AI, 그리고 녹색 및 디지털 혁신 등에 주목해야 합니다. 생성형 AI 생성형 AI는 2024년에 중요한 역할을 할 것으로 예상됩니다. 대형 컨설팅 회사들은 생성형 AI에 큰 규모의 투자를 할 것이며, 해당 기업들은 경쟁력을 높이기 위해 AWS, Microsoft Azure, GCP 등과 파트너십을 맺을 것으로 예상됩니다. 이제 각 기업이 생성형 AI를 활용하여 실질적인 이윤을 추구하기 시작할 것이기 때문에, 2024년을 '의도적 AI 시대(era of intentional AI)의 원년'이라고도 말할 수 있습니다. 녹색 및 디지털 혁신 데이터 센터의 에너지 효율을 높이기 위한 노력이 진전을 보이고 있습니다. 2030년까지 데이터 센터를 탄소 중립으로 만들겠다는 약속이 강화되고 있습니다. 이는 지속 가능하고 환경친화적인 기술로의 전환의 시작을 뜻합니다. 기술 리더들의 도전 기술 분야의 리더들이 인재를 발굴하고 비즈니스 전략과 기술을 조화시키는데 어려움을 겪을 것으로 예상됩니다. 또한 AI와 관련된 기술의 수요가 빠르게 증가할 것이기에, 관련된 기술과 경험을 기르는 것도 매우 중요해지고 있습니다. 마지막으로 포레스터는 기업들의 경쟁력 유지와 성장 촉진을 위해 위와 같은 트렌드를 빠르게 받아들여야 한다고 강조했습니다. 매튜 구아리니 포레스터 리서치 부사장은, "전체 기술 전략을 핵심까지 현대화하고 조직과 운영을 크게 향상시켜야 성과를 얻을 수 있다"라고 말했습니다. 。。。。。。。。。。。。 가트너, 포레스터 리서치, 딜로이트가 전망한 2024 IT 트렌드를 살펴봤습니다. 트렌드를 아는 것에서 그치는 것이 아니라 발 빠르게 대응하는 것이 가장 중요합니다. 브레인즈컴퍼니는 트렌드에 빠르고 효과적으로 대응할 수 있도록, 제니우스(Zenius)를 통해 쿠버네티스(Kubernetes)를 비롯한 프라이빗/퍼블릭/하이브리드 클라우드 환경, 온-프레미스 환경 모두를 완벽하게 관리할 수 있는 서비스를 제공하고 있습니다. 또한 브레인즈컴퍼니의 자회사인 에이프리카는 AI 비즈니스를 위한 쿠버네티스 기반의 AI 개발 통합 플랫폼 솔루션과, 멀티 클라우드 통합 관리 플랫폼(CMP) 솔루션을 제공하고 있습니다(?에이프리카 솔루션 자세히 보기). 힘차게 시작한 2024년, 올 한 해는 또 얼마나 큰 변화가 있을까요? 이 글을 읽으시는 모두가 변화에 앞서가서 성공 스토리를 만들 수 있기를 기원합니다.
2024.01.19
기술이야기
클라우드 전환과 하이브리드 클라우드가 성공하려면?
기술이야기
클라우드 전환과 하이브리드 클라우드가 성공하려면?
정부와 공공기관, 그리고 금융권과 대기업 등 모든 분야에서 클라우드 전환이 가속화되고 있습니다. 이에 따라서 가트너(Gartner)는 2018년 약 2.1조 원이었던 국내 클라우드 시장 규모가 2024년에는 약 '6조 원'에 이를 것으로 내다봤습니다. 。。。。。。。。。。。。 1. 클라우드 전환 단계 ▪초창기: 소규모 Workload가 시범적으로 전환되는 시기 ▪과도기: 인프라, 네이티브 앱 등 주요 Workload가 전환되는 시기 ▪정착기: 모든 Workload가 클라우드에서 개발/구축되는 시기 클라우드 전환은 크게 세 단계로 나누어서 진행됩니다. 대부분의 기업과 기관이 현재 '클라우드 전환 과도기'에 접어든 가운데, 몇 가지 작지 않은 이슈로 인한 어려움을 겪고 있습니다. 2. 클라우드 송환? 클라우드에서 On-Premise로 복귀?! IDC는 최근, "향후 2년 내 프라이빗 클라우드(Private Cloud) 또는 비 클라우드 환경으로의 이전을 계획하고 있는 기업의 비중이 70%가 넘는 것으로 나타났으며, 이러한 현상은 더욱 심화될 전망이다"라고 발표했습니다. '클라우드 송환(Cloud Repatriation)'이라고도 부를 수 있는 이 같은 현상은, 주로 클라우드의 높은 비용·성능 문제·보안 및 규제·공급자 Lock-in 등이 주요 원인으로 지적되고 있습니다. 이와 같은 클라우드 전환 과도기에서의 어려움을 극복하고 효율성을 높이기 위해, '하이브리드 클라우드'로의 전환이 새로운 트렌드로 자리 잡았습니다. 3. 유연하게 활용한다! ‘하이브리드 클라우드’로의 전환 트렌드 하이브리드 클라우드(Hybrid Cloud)는 퍼블릭·프라이빗 클라우드와 대형 IDC 센터와 같은, 온프레미스(On-Premise) 환경을 조합하여 사용하는 것을 말합니다. ⓒ디지털 서비스 이용 지원 시스템 현재 87% 이상의 기업이 2가지 이상의 멀티 클라우드를 사용하며, 72% 이상은 하이브리드 클라우드를 사용하는 것으로 나타났습니다. 하이브리드 클라우드의 장점 ▪다양한 환경을 조합하여 유연하게 리소스를 확장하거나 축소 가능 ▪민감정보를 프라이빗 클라우드에 유지하여 보안성 강화 ▪서로 다른 클라우드 환경의 장점의 조합 및 활용 가능 하이브리드 클라우드는 위와 같은 분명한 장점이 있기에, 계속해서 많은 기업과 기관이 사용할 것으로 예상됩니다. 하지만 하이브리드 클라우드도 반드시 극복해야 할 한계와 문제점이 있습니다. 하이브리드 클라우드의 한계는 크게 세 가지로 나눠볼 수 있는데요. 4. 하이브리드 클라우드의 세 가지 한계, 그리고 극복 방안 관리의 복잡성 Complexity On-Premise, 하이브리드 클라우드, 퍼블릭 클라우드 등은 모두 서로 다른 인프라 구성과 특성을 보유하고 있습니다. 따라서 다양한 CSP와 Legacy 시스템 등을 종합적으로 관제하기 위한 모니터링 기술이 필요합니다. 정책의 분산화 Decentralization 각 CSP의 독자적인 기술과 운영환경에 따라, 기업의 IT 인프라 관리 정책이 분산화될 우려가 있습니다. 따라서 서로 다른 API 환경에 대응할 수 있는 중립적인 모니터링 접근 방식이 필요합니다. 서비스 품질 이슈 Quality 이기종 환경에서의 실시간 성능 모니터링 부재로, 서비스 품질 및 성능 문제가 발생할 수 있습니다. 따라서 실시간 상태 및 성능 지표 모니터링을 통한 최적의 프로비저닝 역량 확보가 중요합니다. 결국 하이브리드 클라우드의 세 가지 한계를 극복할 수 있는 '성공적인 모니터링 전략'이 필요합니다. 5. 하이브리드 클라우드 환경에서의 성공적인 모니터링 전략 앞서 살펴본 것처럼 하이브리드 클라우드의 효율을 높이고 한계를 극복하기 위해선, 성공적인 클라우드 & On-Premise 통합 모니터링이 필요합니다. 통합 모니터링을 통해서 다양한 관리 Point를 단일화하고, 일관된 IT 정책을 적용하며, 다양한 관점별 View를 통한 데이터 가시성을 확보할 수 있습니다. 또한 각 환경에 대한 실시간 성능 지표 모니터링과 신속한 장애 감지 및 원인 분석을 통해, 높은 서비스 품질을 유지할 수 있습니다. 주요 Point에 대해서 자세히 살펴본다면 다음과 같습니다. l 단일 Framework 기반의 통합 모니터링 환경 구성 성공적인 모니터링을 위해서는 Public/Private 클라우드와 On-Premise를 아우르는 단일 Framework 기반의 통합 모니터링 환경을 구성해야 합니다. 다양한 환경에 대한 통합 모니터링 시스템을 구축하여, 대시보드와 토폴로지 맵 등을 통해 분산된 IT 리소스와 서비스 정보를 한눈에 볼 수 있어야 하는 것이죠. l 퍼블릭 클라우드 모니터링: 통합 관리 및 운영 가시성 확보 제니우스(Zenius)의 클라우드 서비스 맵 이용 중인 클라우드 서비스 전체 및 개별 단위의 주요 지표 상세 모니터링으로, 가시성을 확보해야 합니다. 이를 통해서 다양한 서비스의 주요 지표를 관리, 이용 서비스 간의 연관관계 관리, 과금(Billing) 관리, 즉각적인 장애 관리를 할 수 있습니다. l 프라이빗 클라우드 모니터링: 개별적인 구성 환경을 고려한 모니터링 각 기업과 공공기관 개별적인 클라우드 구성 환경을 고려하여, 클라우드 인프라 자원을 관리하고 활용도를 높이기 위한 모니터링 전략도 필요합니다. 위의 설명처럼 쿠버네티스(Kubernetes), 컨테이너(Container), SDN 등 프라이빗 클라우드 환경을 구성하는 요소를 다각적으로 관리하여 IT 인프라 자원의 활용도를 향상시켜야 합니다. l MSA 기반 애플리케이션 모니터링 IDC에 따르면 2025년에 출시되는 앱의 90% 이상이 '클라우드 네이티브'로 구현될 전망이라고 합니다. 클라우드 네이티브의 핵심은 'MSA(Micro Service Architecture)' 방법론으로의 전환입니다. 애플리케이션을 효과적으로 실행·배포·활용하기 위한 핵심요소는 'Container'이죠. 따라서 MSA 환경에서의 성공적인 애플리케이션 관리를 위해서는 실시간 모니터링, 분산 시스템 관제, 서비스 수요 변화 대응 이 세 가지가 가장 중요합니다. 위 도표에 정리된 것처럼 컨테이너 기반의 마이크로 서비스 모니터링, 복잡화된 시스템 간 트랜잭션 분석 및 가시화, 오토스케일링 자동 대응을 통한 관제 연속성 확보 전략을 구축한다면 성공적으로 MSA 기반의 애플리케이션 모니터링을 할 수 있습니다. l 레거시 환경 모니터링 마지막으로 On-premise로 자체 보유하고 있는 레거시 장비와 프라이빗 클라우드 장비가 있는 전산실의 성공적인 모니터링을 위해서는, 먼저 On-premise 환경을 고려한 최적의 포인트 솔루션과 통합 플랫폼 기반 모니터링이 확보되어야 합니다. 또한 안정적인 On-Premise 환경 운영을 위해 전산실 부대설비(UPS, 항온 항습기 등), 환경감시(온/습도, 누수 등)에 대한 레거시 환경 맞춤형 관리가 가능해야 합니다. 물리/가상 자원 간의 그룹화 관리 기능, 다양한 자원 간의 이벤트 연관 설정 및 분석 기능도 성공적인 레거시 환경 모니터링을 위한 필수조건입니다. 6. 성공적인 모니터링 솔루션 선택 기준은? 클라우드 전환기, 하이브리드 클라우드 환경에서 성공적인 모니터링을 위한 루션 선택 기준은 1) 기술력이 있는지 2) 검증된 솔루션인지 3) 믿을 수 있는 기업인지 이렇게 세 가지로 정리할 수 있습니다. 하나, 기술력이 있는 솔루션인가? 클라우드와 레거시 통합을 위한 프레임워크 기반의 솔루션인지, 그리고 여러 환경에 존재하는 IT 자원을 통합적으로 가시화할 수 있는지, 변화에 쉽게 대응할 수 있는 사용자 맞춤 설계형 대시보드를 제공하는지를 꼭 살펴봐야 합니다. 브레인즈컴퍼니 제니우스(Zenius)의 퍼블릭 클라우드 서비스 관제 예시 또한 AI 기술을 통해 장애를 사전에 예방하는 제니우스(Zenius) 처럼, 서비스 장애로 인한 손실을 방지하기 위한 사전 장애 감지 및 대응도 지원하는지 꼭 살펴봐야 합니다. 업무 효율과 편의성을 높이기 위한 오토스케일링 자동 대응, 장애/이벤트 오토리커버리 등 운영 자동화 기능도 필수 요소입니다. 둘, 검증된 솔루션인가? 클라우드 서비스 보안인증(CSAP), 마켓플레이스 등록 등 클라우드 환경에서의 성능 검증 절차 등 거친 솔루션인지도 중요하게 살펴봐야 합니다. 또한 다수의 공공기관 및 다양한 산업군에서 사용되고 있는지도 중요한 판단 기준입니다. 셋, 믿을 수 있는 기업의 솔루션인가? 마지막으로 모니터링 서비스를 개발 및 운영한 업력, 재무 상태 안정성, 전문 인력 보유 등으로 지속적인 지원이 가능한 기업의 솔루션인지를 검토해 봐야 합니다. 。。。。。。。。。。。。 브레인즈컴퍼니는 전통적인 IT 인프라 모니터링 시장에서의 경험을 바탕으로, 하이브리드 환경에서의 성공적인 모니터링을 수행하고 있습니다. 이제 필수가 된 클라우드 전환, 제대로 된 솔루션 선택을 통해 성공적으로 진행하시기 바랍니다!
2024.01.18
기술이야기
쿠버네티스와 Helm 등 CNCF의 주요 프로젝트
기술이야기
쿠버네티스와 Helm 등 CNCF의 주요 프로젝트
지난 포스팅을 통해 정리한 것처럼 CNCF는 클라우드 네이티브 생태계의 활성화를 위해, 다양한 오픈소스 프로젝트를 개발하고 공급하고 있습니다. 또한 프로젝트 채택 단계부터 사용 빈도까지의 성숙도를 관리하기 위한, 프로세스 체계를 보유하고 있는데요. 이번 시간에는 CNCF의 주요 프로세스인 쿠버네티스(K8s), Helm 등과 CNCF 프로세스에 대해서 알아보고자 합니다. 。。。。。。。。。。。。 CNCF 프로젝트 프로세스 2023년 10월 기준으로 약 170여 개의 CNCF 프로젝트가 진행 중인데요. 이들 프로젝트는 성숙도에 따라서 샌드박스(Sandbox), 인큐베이팅(Incubating), 졸업(Graduated)으로 나뉩니다. 성숙도 수준에 대한 평가는 CNCF 위원회 멤버들에 의해서 결정되며, 졸업(Graduated) 단계의 프로젝트로 인정받기 위해서는 3분의 2 이상의 찬성 표가 필요합니다. ▲프로젝트 성숙도 단계 Step1. 샌드박스(Sandbox) CNCF의 새로운 프로젝트가 채택되면 Sandbox 단계에서 시작합니다. 이 단계에서는 프로젝트가 CNCF의 가이드라인과 정책에 부합되는지를 확인하는 절차를 주로 거칩니다. Step2. 인큐베이팅(Incubating) Sandbox를 통과한 프로젝트는 Incubating 단계로 집입하며, 이 단계에서는 프로젝트의 커뮤니티와 기술적 성숙도를 더욱 강화하도록 합니다. 해당 프로젝트의 커뮤니티의 규모와 다양성을 평가하고 기능들의 안정성을 검증합니다. Step3. 졸업(Graduated) Incubating 단계를 성공적으로 통과한 프로젝트는 Graduated 단계로 올라갑니다. 높은 수준의 품질과 안정성이 보장되어야 이 단계에 올라갈 수 있는 거죠. 커뮤니티가 활발하게 유지되고 관련자의 참여가 적극적으로 이루어져야 하며, 실제 사용 사례에서 성공한 경험들이 존재해야 합니다. Step4. 사용 사례 검증 Graduated 프로젝트 중 실제로 다양한 산업에서 사용되고, 기업과 조직이 해당 프로젝트를 많이 채택하는지를 평가하여, 지속적인 성장 가능성과 성숙도를 평가합니다. CNCF에서 관리하는 프로젝트 영역은 꽤 넓고 다양한데요. 애플리케이션 개발을 위한 도구부터 컨테이너 오케스트레이션, 서비스 프로비저닝, 모니터링 도구 등 소프트웨어 개발부터 운영까지를 위한 도구들이 존재합니다. 이제부터는 가장 성공적인 프로젝트인 쿠버네티스를 포함하여, Incubating 단계 이상의 프로젝트를 알아보고자 합니다. CNCF의 주요 프로젝트 쿠버네티스(kubernetes) 쿠버네티스는 CNCF에서 최초로 Graduated 단계에 진입한 프로젝트입니다. 컨테이너 오케스트레이션 기능을 통해, 애플리케이션 컨테이너 기반으로 자동화하고 확장할 수 있는 플랫폼을 제공합니다. A. 컨테이너 오케스트레이션 기능 컨테이너화된 애플리케이션을 자동으로 배포·확장하고 관리하는 기능을 제공합니다. 애플리케이션의 변경이 필요할 경우, 개발자가 애플리케이션을 빠르게 수정 및 배포하고 운영할 수 있게 합니다. B. 스케일링 기능 리소스 사용량이나 사용자 트래픽 증가에 따라 자동으로 애플리케이션을 확장·축소하는 오토 스케일링 기능을 제공합니다. C. 롤백 기능 문제가 발생된 애플리케이션의 경우, 롤백 기능을 제공하여 서비스 장애에 신속히 대응합니다. Helm Helm은 쿠버네티스 환경에서 애플리케이션을 관리하기 위한 도구로 사용됩니다. Helm은 차트라고 불리는 패키지로 애플리케이션을 패키징 하는데요. 이 차트에는 애플리케이션의 설치부터 관리에 필요한 모든 것을 포함합니다. 쉽게 말하면 이 차트라는 기능을 통해 애플리케이션을 탬플릿화하고, 배포하며, 롤백 및 공유하는 역할을 하는 프로젝트입니다. Envoy ▲Envoy를 사용하는 주요 업체 리스트 ⓒenvoyproxy.io Envoy는 클라우드 네이티브 환경에서 애플리케이션의 네트워크 트래픽을 관리하고, 제어하기 위한 프로젝트입니다. 프록시 기능을 수행하고, 클라이언트 서버 간의 통신을 관리하며, 애플리케이션 간의 통신의 보안 향상시킵니다. 여러 애플리케이션 사이에서 부하 분산을 자동화하여 가용성과 성능을 향상시킬 수 있도록 합니다. 부하 분산을 함에도 불구하고 특정 시스템에 부하가 생겨 장애 발생이 생길 경우, 트래픽을 가중치에 따라 다른 시스템으로 분산시키는 역할을 합니다. Containerd Containerd는 쿠버네티스 환경에서 컨테이너를 만들고 실행하는 데 도움을 주는 프로젝트입니다. 개발자가 컨테이너를 만들고 실행시키는 역할을 하며, 필요할 때는 중지하거나 삭제하는 작업을 지원합니다. 컨테이너 실행에 필요한 파일과 설정을 모아 놓은 이미지를 다운로드하고, 저장하며, 불러오는 역할과 같은 이미지 관리 기능도 제공하고 있습니다. Prometheus Prometheus는 시스템이나 애플리케이션의 동작을 실시간으로 모니터링하고, 이상 상황이 발생할 경우 알림을 줄 수 있는 도구입니다. 다양한 데이터를 수집하고 기록하여 차후 분석 용도로 활용할 수 있습니다. 또한 핵심 지표들을 유형 및 종류별로 제공하여, 다각적인 관점에서의 관찰을 지원합니다. 시스템의 리소스부터 애플리케이션의 동작 및 응답 상태를 적시에 확인하게 해줍니다. Fluentd ▲Fluentd 개념 설명 ⓒfluentd.org Fluentd는 다양한 시스템에서 발생되는 로그 데이터를 수집·처리·전송하는 데이터 수집 도구로서, 스플렁크(SPLUNK)와 유사한 역할을 수행하는 프로젝트입니다. 다양한 소스에서 발생되는 로그를 수집할 수 있을 뿐만 아니라, 원하는 목적지의 저장소까지 전송하는 역할을 수행합니다. 예를 들어 Syslog 등을 실시간 수집하고, 이를 Elasticsearch나 Amazon S3 등의 원하는 저장소로 목적지를 설정할 수 있게 합니다. 。。。。。。。。。。。。 지금까지 살펴본 것처럼, CNCF에서 클라우드 네이티브 생태계 활성화를 위해 다양한 프로젝트를 진행하고 있는데요. 브레인즈컴퍼니 역시 클라우드 네이티브 모니터링을 위한 다양한 제품과 기능 등을 속속 출시하고 있습니다. 대표 제품인 제니우스(Zenius)를 통해 클라우드 네이티브의 핵심요소인 컨테이너(Docker)의 상태와 리소를 실시간으로 모니터링할 수 있습니다. MSA 환경을 만들기 위한 필수 도구인 쿠버네티스(K8s)의 Cluster·Node·Pod 등의 구성과 변화를 관찰하며, 이상 상황 알림을 통해 선제적 장애 대응 또한 가능합니다. Zenius에 대해 더 자세히 알고 싶으시다면, 바로 아래 링크를 클릭해 주세요! ?더보기 Zenius로 클라우드 네이티브 모니터링하기 CNCF 세 가지 핵심가치(1탄)도 있어요
2024.01.03
기술이야기
클라우드 네이티브의 핵심! CNCF의 세 가지 핵심가치
기술이야기
클라우드 네이티브의 핵심! CNCF의 세 가지 핵심가치
최근 디지털 트랜스포매이션(Digital Transformation)이 IT 트렌드로 자리 잡았습니다. 기업과 조직은 빠르게 변화하는 환경에 대응하고 경쟁에서 앞서기 위해 '클라우드 네이티브 컴퓨팅' 기술을 채택하고 있는데요. 여기서 클라우드 네이티브 컴퓨팅 기술을 연구 및 발전시키고, 생태계를 촉진하는데 중추적인 역할을 하는 커뮤니티가 바로 'CNCF(Cloud Native Computing Foundation)'입니다. 현재 CNCF에서는 Google, Intel, Azure 등 700여 곳 이상의 회원사들이 활동에 참가하고 있습니다. 이번 시간에는 CNCF가 정확히 무엇이고, 추구하는 핵심가치와 주요 프로젝트에 대해 자세히 알아보겠습니다. 。。。。。。。。。。。。 CNCF(Cloud Native Computing Foundation)란 CNCF는 2015년 12월에 리눅스 재단에 의해서 출범된 비영리 단체로, 네이티브 컴퓨팅 기술의 채택을 촉진하는 오픈소스 소프트웨어 재단입니다. CNCF는 클라우드 네이티브 컴퓨팅 플랫폼에서 사용하며, 확장 가능한 애플리케이션을 개발하는데요. 이와 관련된 기술인 컨테이너, 마이크로서비스, 서비스 메쉬 등의 발전을 촉진하여 이러한 기술 패턴을 누구나 이해하고 활용할 수 있도록 하는 것이 목표입니다. ▲총 24개의 CNCF Platinum Members 이러한 클라우드 네이티브 컴퓨팅 환경을 대중화하기 위해 Google Cloud, AWS, MS Azure, Cisco, IBM, Apple, Oracle, Red Hat, VMware, SAP 등 유수의 기업들이 플래티넘 회원사로 참여하여 뜻을 같이 하고 있습니다. CNCF의 세 가지 핵심 가치 CNCF의 핵심가치는 1) 클라우드 네이티브 기술의 촉진 2) 오픈소스 프로젝트 생태계 육성 3) 기술의 표준화 수립으로 정리할 수 있습니다. 이 세 가지 핵심 가치를 더 자세하게 살펴볼까요? CNCF 핵심가치1 : 클라우드 네이티브 기술의 촉진 CNCF는 현대적이고 미래 지향적인 '클라우드 네이티브 기술의 촉진'을 중요한 핵심 가치로 규정하고 있는데요. 이는 CNCF가 오늘날의 IT 생태계의 중심에 서서, 클라우드 네이티브 기술을 지속적으로 연구 및 개발하여 새로운 디지털 전환의 시대를 선도하고자 하는 의지가 담겨 있다고 볼 수 있습니다. CNCF는 기존 온 프레미스(On-Premise) 환경, 그리고 모놀리식(Monolithic)한 개발 환경에서 탈피한 컨테이너, 마이크로서비스, 서비스 메시, 서버리스 등. 보다 혁신적이고 미래지향적인 기술 영역을 보급하고 대중화하기 위한 노력과 지원을 아끼지 않습니다. ▲기존 모놀리식 아키텍처와 마이크로서비스 아키텍처 비교 또한 디지털 트랜스포메이션 과정에서 클라우드 환경으로의 전환이 더욱 효율적으로 이루어질 수 있도록, 클라우드 네이티브 기술과 기업들의 서비스 모델을 재구성하기 위한 방법들을 안내하고 있습니다. 이렇게 새로운 서비스 모델 구축을 통해 민첩성과 효율성을 강화하여, 빠르게 변화하는 IT서비스의 수요에 기민하게 대응하고 고객 요구에 부응할 수 있도록 지원합니다. 여기서 계속 언급되고 있는 '클라우드 네이티브'는 정확히 무엇을 뜻할까요? CNCF의 활동에 대한 이해도를 높이기 위해, 클라우드 네이티브의 의미를 짚어보겠습니다! ?클라우드 네이티브(Cloud Native)란? 클라우드 네이티브는, 클라우드 컴퓨팅 환경에서 현대적 애플리케이션을 구축·배포·관리할 때의 소프트웨어 접근 방식입니다. 기업과 조직은 고객의 요구를 충족하기 위해 신속하게 업데이트할 수 있는 확장성과 유연성, 그리고 복원력이 뛰어난 애플리케이션을 구축하고자 합니다. 이를 위해 클라우드 네이티브에서 사용되는 기술들은, IT 서비스에 영향을 미치지 않고 애플리케이션을 신속하게 변경합니다. 또한 리소스를 효율적으로 활용하여 빠르게 변화에 대응할 수 있도록 지원하고 있습니다. 위의 개념을 '클라우드 컴퓨팅'과 비교한다면 보다 더 쉽게 이해할 수 있는데요. 클라우드 컴퓨팅은, 클라우드 서비스 제공 업체가 단순히 리소스와 인프라를 클라우드 형태로 제공하는 방식입니다. 여기서 서비스 제공 방식은 기존 '모놀리식' 방식과 크게 다르지 않습니다. ▲클라우드 네이티브의 핵심요소 ⓒPivotal 클라우드 네이티브는 마이크로서비스 아키텍처(MSA)와 컨테이너를 기반으로, IT 서비스의 확장·변경 등에 대응이 용이한 환경입니다. 예를 들어 Ex1) 서비스 수요가 폭증하거나 장애가 생겼을 경우 Ex2) 자동적으로 애플리케이션을 확장하거나 장애가 발생했을 경우에는 대체 가능한 모델을 바로 적용하여 Fail-Over가 손쉽게 이루어질 수 있도록 합니다. CNCF에서는 위 그림과 같이 클라우드 네이티브의 핵심 요소를 마이크로서비스, 컨테이너, 애플리케이션의 개발·통합·배포의 의미를 내포하는 DevOps, CI/CD의 개발 방법론을 포함하여 설명하고 있습니다. CNCF 핵심가치2 : 오픈소스 프로젝트 생태계 육성 CNCF는 다양하고 혁신적인 '오픈소스 프로젝트'를 개발·공급·대중화하여, 클라우드 네이티브 생태계를 활성화하는데 큰 기여를 하고 있습니다. 또한 클라우드 네이티브 컴퓨팅 환경을 구성하고 효율적으로 운영하기 위해, 다양한 오픈소스를 개발하고 있는데요. 누구나 이와 같은 기술들을 이용할 수 있도록 지원합니다. 가장 성공적인 프로젝트는 2018년 8월에 컨테이너 오케스레이션 플랫폼인 'Kubernetes' 프로젝트이며, 컨테이너 생성·실행·종료 등의 역할을 하는 'Containerd', 시스템 모니터링 및 경고 역할을 하는 'Prometheus' 그리고 여러 시스템의 트래픽을 균등하게 분배하여 로드밸런싱을 제공하는 'Envoy' 등이 있습니다. 이처럼 클라우드 네이티브 생태계 활성화를 위한 다양한 프로젝트를 실행하며 배포하고 있습니다. ▲CNCF 개발 완료된 프로젝트 이외에도 클라우드 네이티브 커뮤니티인 이벤트·웨비나·워크샵 등을 활성화하여, 온오프라인 영역에서 개발자들 간의 교류를 원활하게 합니다. 개발자들이 오픈소스 프로젝트를 효과적으로 활용할 수 있도록, 사용법에 대한 교육과 튜토리얼을 제공하기도 합니다. 이를 통해 많은 기업과 이용자들이 클라우드 네이티브 환경에 손쉽게 접근할 수 있도록 지원하고 있습니다. CNCF 핵심가치3 : 기술의 표준화 수립 CNCF는 클라우드 네이티브 관련 기술의 무분별한 확장과 사용으로 인한 혼란을 방지하고자, 기술의 표준화를 촉진하고 정책의 일관성을 확보하는 노력 또한 지속하고 있는데요. 기술의 안정성과 품질 확보를 위해 재단 자체적으로 테스트와 벤치마킹 등을 수행하고, Best Practice를 공유하여, 기술의 표준화와 성숙도를 유지합니다. 이 외에도 CNCF는 새로운 기술의 적용 가능성과 성숙도를 평가하고, 클라우드 관련 기술을 보유한 회원사 및 파트너와의 협력을 촉진합니다. 이처럼 다양한 형태로 클라우드 네이티브 생태계의 지속적인 발전을 지원하고 있습니다. 。。。。。。。。。。。。 이번 시간에는 CNCF의 정의와 핵심가치를 알아보았는데요. CNCF는 앞에서 소개해 드린 내용처럼, 클라우드 네이티브 생태계 활성화를 위해 다양한 노력을 기울이고 있습니다. 브레인즈컴퍼니 역시 클라우드 네이티브 모니터링을 위한 다양한 제품과 기능들을 속속 출시하고 있으니, 많은 관심 부탁드립니다. 다음 시간에는 [CNCF의 핵심 프로젝트] 주제로 돌아오겠습니다!
2023.12.27
회사이야기
[전시회] 브레인즈컴퍼니가 소프트웨이브2023에서 주목받은 이유
회사이야기
[전시회] 브레인즈컴퍼니가 소프트웨이브2023에서 주목받은 이유
지난번 시간에는 「소프트웨이브2023」 전시회에 브레인즈컴퍼니가 참가하여, 전반적인 현장 스케치를 담았었는데요. 두 번째 이야기에서는 1) 브레인즈컴퍼니와 제니우스(Zenius)를 구체적으로 어떻게 알렸는지 2) 참관객분들의 반응은 어땠는지를 자세하게 살펴보려고 합니다. 브레인즈컴퍼니가 참가하여 대성황을 이루었던 소프트웨이브2023. 그날의 생생한 사진과 리얼한 후기도 있으니 주목해 주세요! 。。。。。。。。。。。。 선근님 인터뷰 국내 바이어 VIP 그룹 투어 전시회 첫날이었던 29일(수), 과기부 장관·국회의원·주요기업 임원진 등 주요 VIP 대상으로 브레인즈컴퍼니를 소개하는 시간이 있었습니다. 소개는 브레인즈 그룹 대표인 선근님께서 진행해 주셨어요! 선근님께서는 브레인즈컴퍼니·에이프리카 회사와 제품 소개를 시작으로, “앞으로 인공지능(AI)와 클라우드 분야를 선두하는 기업으로 거듭나겠다."라는 멋진 포부도 밝혀주셨습니다. 이번 소프트웨이브2023에서 브레인즈컴퍼니는, 다양한 콘텐츠로 참관객분들께 다가가려고 노력했는데요. 특히 프론트월, 백월 공간으로 나누어 설명한 부분이 좋은 반응을 얻었습니다. 참관객분들의 이목을 사로잡은 대시보드 제품별 브로슈어, 대시보드, 구축사례 안내 “대시보드가 너무 예뻐요” 프론트월에서 가장 많이 언급된 Best 답변 1위랍니다! 많은 참관객분들께서 제니우스의 통합 대시보드와 서비스 종합상황판 대시보드 등을 요리조리 살펴보셨는데요. “통합관제는 가시성이 무엇보다 중요하다고 생각해요. 그런 의미에서 제니우스의 대시보드는 가시성도 뛰어나고, 고객사 성격에 맞는 커스터마이징도 가능하며, UI적인 면도 우수하네요. 무엇보다 대시보드가 너무 눈에 띄어서 홀린 듯 부스에 들어올 수밖에 없었어요(웃음)” 라며 브레인즈컴퍼니와 제니우스 제품에 칭찬을 아낌없이 해주셨습니다! 이처럼 제니우스의 대시보드는 고객사 IT 업무 및 서비스 운영 현황을 한눈에 파악할 수 있도록 구성하고 시각화했으며, 고객사별 최적의 관제 화면을 구현해 드리고 있어요. 공공기관·대기업·금융권 등 1,000여 개의 성공적인 구축사례 안내를 통해 제니우스 제품에 신뢰성을 더했답니다! 제니우스 핵심제품을 한눈에 제니우스 제품별 소개, 시연 안내 백월 공간에서는 브레인즈컴퍼니의 4가지 핵심 제품을 직관적으로 확인할 수 있었는데요. 제니우스 EMS, APM, ITSM, SIEM을 파트별 담당자 엔지니어분들께서 제품 안내를 도와드렸습니다. 제니우스 EMS 제품을 통해 참관객분들께 통합관리 관제의 중요성, 실제 사례, 각 인프라별 관제의 중요성 등을 전달드렸었는데요. “실제 사례를 직접 눈으로 확인해 보니, 우리 회사에 도입하면 장애 예측이나 장애 시 대응에 편리할 것 같아요.”와 같은 반응이 대부분 차지했을 정도로 호응도가 좋았습니다. 제니우스 APM 또한, 사용자 관점에서 응답 시간관리가 점점 중요해지고 있음에 따라 EMS와 연계해서 사용할 수 있다는 ‘접근성’ 면에서 좋은 반응을 보여주셨는데요. “여러 제품을 쓰지 않아도, 제니우스 하나면 모든 관제가 가능하네요! APM을 도입해서 사용하면 한눈에 관리가 편할 것 같아요.”와 같은 뿌듯한 피드백을 주셨답니다. 。。。。。。。。。。。。 3일 동안 소프트웨이브2023 전시회를 통해 많은 참관객·고객 사분들과 마주하고 소통하며, 브레인즈컴퍼니와 자사 제품을 더 널리 알릴 수 있던 기회였습니다. 특히 브레인즈컴퍼니와 제니우스 제품에 대해 이미 관심을 갖고 방문해 주신 참관객분들이 많다는 점에서 뿌듯하기도 했답니다. 다시 한번 브레인즈컴퍼니와 제니우스 제품에 뜨거운 관심 주셔서 감사드립니다?♀️ 앞으로도 브레인즈컴퍼니는 고객분들께 좀 더 적극적으로 다가가기 위한 행사, 콘텐츠 등을 보여드릴게요. 여러분들의 많은 기대와 성원 부탁드리겠습니다! ?더보기 소프트웨이브2023 1탄도 있어요
2023.12.14
회사이야기
[전시회] 브레인즈컴퍼니 ‘소프트웨이브 2023’에서 새로운 비전 제시
회사이야기
[전시회] 브레인즈컴퍼니 ‘소프트웨이브 2023’에서 새로운 비전 제시
브레인즈컴퍼니가 11월 29일(수)부터 12월 1일(금)까지 삼성동 코엑스에서 국내 최대 소프트웨어(SW) 전시회인 「소프트웨이브 2023(소프트웨어 대전)」에 참가했어요. 자회사인 AI 전문기업 ‘에이프리카’와 함께 “AI, 클라우드 네이티브의 창을 열다. 디지털 플랫폼을 위한 Brainz Group”이라는 슬로건 아래 IT 분야의 새로운 비전을 제시하기 위해 참가한 것인데요. 「소프트웨이브 2023」 전시회는 참관객 3만 명, 국내외를 대표하는 320개 사, 557개 홍보 부스가 참가할 정도로 뜨거운 관심 아래 진행되었어요. 브레인즈컴퍼니와 에이프리카는 참관객분들께 자사 핵심 제품을 다채롭고 직관적으로 보여드리기 위해 세미나, 이벤트, 이 밖에도 다양한 콘텐츠를 마련했답니다. 3일 동안 많은 참관객분들과 마주하는 자리여서 더더욱 설레었던 소프트웨이브 2023 전시회. 그 현장감을 담은 후기 바로 시작할게요! 。。。。。。。。。。。。 브레인즈컴퍼니 부스 탐험 브레인즈컴퍼니와 에이프리카의 부스는 멀리서 봐도 한눈에 띨 정도로 웅장했는데요! 부스 곳곳에 브레인즈컴퍼니와 에이프리카의 제품을 다양한 형태로 구성해 보았어요. 참관객분들과 가장 처음 마주하는 안내데스크, 핵심 제품인 데모 영상과 대시보드 영상, 세미나 공간까지! 무엇보다 브레인저가 여러분들을 기다리고 있었답니다? 특히 데모 영상과 대시보드 영상을 통해 제니우스(Zenius)의 핵심제품인 EMS·APM·ITSM·SIEM을 직관적으로 소개해 드릴 수 있었는데요. 제품별 담당 엔지니어가 제니우스를 데모화면과 함께 직접 설명해 드리고 시연해 드리는 자리를 마련해서, 참관객 분들께 좋은 반응을 얻었어요! 브레인즈컴퍼니 x 에이프리카 세미나 Brainz Group Tech Talk 2023 브레인즈컴퍼니는 에이프리카와 함께 「Brainz Group Tech Talk 2023」 이름으로 세미나를 진행하기도 했는데요. ‘인공지능(AI) & 클라우드(Cloud)’를 성공적으로 디지털 전환하기 위한 네 가지 주제를 선보여드렸습니다. ▲광주과학기술원 사례로 본 대규모 AI 플랫폼 구축방안 ▲MLOps와 DevOps를 활용한 프라이빗 LLM 구축방안 ▲클라우드 전환기의 성공적인 IT 인프라 모니터링 방안 ▲디지털 플랫폼 정부의 클라우드 네이티브 구현 사례를 참관객분들께 보여드리는 자리를 가졌답니다. 이 밖에도 QR코드를 통해 온라인 설문 참여를 해주신 참관객분들에 한해, 스타벅스 커피 쿠폰 이벤트도 진행했어요. 이처럼 다양한 콘텐츠로 채워진 브레인즈컴퍼니 부스에 많은 참관객들이 몰리며 대 성황을 이루었습니다! 。。。。。。。。。。。。 소프트웨이브 2023 전시회를 통해 많은 고객분들과 마주하고, 저희 제품을 다양한 각도에서 알릴 수 있어 뿌듯하고 행복했던 시간이었어요. 자회사인 에이프리카와 함께해서 더더욱 뜻깊었답니다. 3일 동안 브레인즈컴퍼니와 에이프리카 큰 관심 보내주셔서 감사드리며, 앞으로도 IT 인프라 통합모니터링 분야뿐만 아니라 인공지능(AI) & 클라우드(Cloud) 분야에서 지속적으로 차별화된 서비스를 보여드릴게요! PS. 3일 동안 진행한 소프트웨이브 2023 전시회인 만큼 아직도 못다 한 얘기가 아직도 많아요. 다음에는 소프트웨이브 2023 못다 한 이야기 시즌2 콘텐츠로 돌아올게요-! To be continued…
2023.12.06
회사이야기
브레인즈컴퍼니 ‘2023 소프트웨어대전’ 참가
회사이야기
브레인즈컴퍼니 ‘2023 소프트웨어대전’ 참가
브레인즈컴퍼니가 「2023 대한민국 소프트웨어대전」에 참가하여 IT 인프라 통합관리의 새로운 비전을 제시할 예정이에요. 자세한 내용은 다음과 같아요! 2023 대한민국 소프트웨어대전은요 2023 대한민국 소프트웨어대전은 2016년에 첫 개최된 대표적인 소프트웨어 ICT 비즈니스 박람회인데요. 올해는 총 330개사가 패키지SW·IT서비스·융합SW·인터넷SW·게임콘텐츠SW의 큰 분류에 맞춰 참가할 예정이에요(*총 570개 부스 규모) [2023 대한민국 소프트웨어대전] ▪일시: 2023년 11월 29일(수) ~ 12월 1일(금), 10:00~17:00 ▪장소: 삼성동 코엑스 A홀(*브레인즈컴퍼니 부스 C32번) ▪후원: 과학기술정보통신부, 교육부, 행정안전부, 산업통상자원부, 중소벤처기업부, 서울특별시 ▪홈페이지: 바로가기 --------------------------------------------------------------- 2023 소프트웨어대전에서 브레인즈컴퍼니는요 브레인즈컴퍼니는 이번 2023 소프트웨어대전에서 “AI, 클라우드 네이티브의 창을 열다. 디지털 플랫폼을 위한 Brainz Group”이라는 슬로건으로, 자회사인 AI전문기업 '에이프리카'와 함께 참가해요. 온프레미스, 클라우드 그 어떤 IT 환경도 완벽하게 통합관리할 수 있는 ‘제니우스(Zenius)’ 또한 선보일 예정인데요. 제니우스의 핵심 제품인 EMS·APM·ITSM·SIEM의 세부적인 특장점을 다양한 콘텐츠를 통해 직접 경험하실 수 있어요! [Brainz Group Tech Talk 2023] ▪장소: 삼성동 코엑스 A홀(*브레인즈컴퍼니 부스 C32번) ▪주제(세부내용 변동 가능) > 클라우드 네이티브 정보시스템 구축 방안 > Private LLM 모델 구축 방안 > 클라우드 네이티브 애플리케이션 구축 방안 > 성공적인 IT 인프라 모니터링 방안 --------------------------------------------------------------- 에이프리카와 함께 성공적인 AI&Cloud, 디지털 전환을 위한 'Brainz Group Tech Talk 2023' 세미나 또한 진행할 예정이에요. 2023 소프트웨어대전 참관 방법은 아래와 같아요. 2023 소프트웨어대전 참관 방법 하단 링크를 통해 [사전등록] 하시면 ‘무료’로 참관하실 수 있어요. 2023 소프트웨어대전 브레인즈컴퍼니 x 에이프리카 부스에 방문하셔서 IT 기술의 현재와 미래를 만나 보세요? ?2023소프트웨어대전 무료로 참가하기
2023.11.15
기술이야기
메모리 누수 위험있는 FinalReference 참조 분석하기
기술이야기
메모리 누수 위험있는 FinalReference 참조 분석하기
Java에서 가장 많이 접하는 문제는 무엇이라 생각하시나요? 바로 리소스 부족 특히 ‘JVM(Java Virtual Machine) 메모리 부족 오류’가 아닐까 생각해요. 메모리 부족 원인에는 우리가 일반적으로 자주 접하는 누수, 긴 생명주기, 다량의 데이터 처리 등 몇 가지 패턴들이 있는데요. 오늘은 좀 일반적이지 않은(?) 유형에 대해 이야기해 볼게요! Java 객체 참조 시스템은 강력한 참조 외에도 4가지 참조를 구현해요. 바로 성능과 확장성 기타 고려사항에 대한 SoftReference, WeakReference, PhantomReference, FinalReference이죠. 이번 포스팅은 FinalReference를 대표적인 사례로 다루어 볼게요. PART1. 분석툴을 활용해 메모리 누수 발생 원인 파악하기 메모리 분석 도구를 통해 힙 덤프(Heap Dump)를 분석할 때, java.lang.ref.Finalizer 객체가 많은 메모리를 점유하는 경우가 있어요. 이 클래스는 FinalReference와 불가분의 관계에요. 나눌 수 없는 관계라는 의미죠. 아래 그림 사례는 힙 메모리(Heap Memory)의 지속적인 증가 후 최대 Heap에 근접 도달 시, 서비스 무응답 현상에 빠지는 분석 사례인데요. 이를 통해 FinalReference 참조가 메모리 누수를 발생시킬 수 있는 조건을 살펴볼게요! Heap Analyzer 분석툴을 활용하여, 힙 덤프 전체 메모리 요약 현황을 볼게요. java.lang.ref.Finalizer의 점유율이 메모리의 대부분을 점유하고 있죠. 여기서 Finalizer는, 앞에서 언급된 FinalReference를 확장하여 구현한 클래스에요. JVM은 GC(Garbage Collection) 실행 시 해제 대상 객체(Object)를 수집하기 전, Finalize를 처리해야 해요. Java Object 클래스에는 아래 그림과 같이 Finalize 메서드(Method)가 존재하는데요. 모든 객체가 Finalize 대상은 아니에요. JVM은 클래스 로드 시, Finalize 메서드가 재정의(Override)된 객체를 식별해요. 객체 생성 시에는 Finalizer.register() 메서드를 통해, 해당 객체를 참조하는 Finalizer 객체를 생성하죠. 그다음은 Unfinalized 체인(Chain)에 등록해요. 이러한 객체는 GC 발생 시 즉시 Heap에서 수집되진 않아요. Finalizer의 대기 큐(Queue)에 들어가 객체에 재정의된 Finalize 처리를 위해 대기(Pending) 상태에 놓여있죠. 위 그림과 같이 참조 트리(Tree)를 확인해 보면, 많은 Finalizer 객체가 체인처럼 연결되어 있어요. 그럼 Finalizer 객체가 실제 참조하고 있는 객체는 무엇인지 바로 살펴볼까요? 그림에 나온 바와 같이 PostgreSql JDBC Driver의 org.postgresql.jdbc3g.Jdbc3gPreparedStatement인 점을 확인할 수 있어요. 해당 시스템은 PostgreSql DB를 사용하고 있었네요. 이처럼 Finalizer 참조 객체 대부분은 Jdbc3gPreparedStatement 객체임을 알 수 있어요. 여기서 Statement 객체는, DB에 SQL Query를 실행하기 위한 객체에요. 그렇다면, 아직 Finalize 처리되지 않은 Statement 객체가 증가하는 이유는 무엇일까요? 먼저 해당 Statement 객체는 실제로 어디서 참조하는지 살펴볼게요. 해당 객체는 TimerThread가 참조하는 TaskQueue에 들어가 있어요. 해당 Timer는 Postgresql Driver의 CancelTimer이죠. 해당 Timer의 작업 큐를 확인해 보면 PostgreSql Statement 객체와 관련된 Task 객체도 알 수도 있어요. 그럼 org.postgresql.jdbc3g.Jdbc3gPreparedStatement 클래스가 어떻게 동작하는지 자세히 알아볼까요? org.postgresql.jdbc3g.Jdbc3gPreparedStatement는 org.postgresql.jdbc2.AbstractJdbc2Statement의 상속 클래스이며 finalize() 메서드를 재정의한 클래스에요. Finalize 처리를 위해 객체 생성 시, JVM에 의해 Finalizer 체인으로 등록되죠. 위와 같은 코드로 보아 CancelTimer는, Query 실행 후 일정 시간이 지나면 자동으로 TimeOut 취소 처리를 위한 Timer에요. 정해진 시간 내에 정상적으로 Query가 수행되고 객체를 종료(Close) 시, Timer를 취소하도록 되어 있어요. 이때 취소된 Task는 상태 값만 변경되고, 실제로는 Timer의 큐에서 아직 사라지진 않아요. Timer에 등록된 작업은, TimerThread에 의해 순차적으로 처리돼요. Task는 TimerThread에서 처리를 해야 비로소 큐에서 제거되거든요. 이때 가져온 Task는 취소 상태가 아니며, 처리 시간에 아직 도달하지 않은 경우 해당 Task의 실행 예정 시간까지 대기해야 돼요. 여기서 문제점이 발생해요. 이 대기 시간이 길어지면 TimerThread의 처리가 지연되기 때문이죠. 이후 대기 Task들은 상태 여부에 상관없이, 큐에 지속적으로 남아있게 돼요. 만약 오랜 시간 동안 처리가 진행되지 않는다면, 여러 번의 Minor GC 발생 후 참조 객체들은 영구 영역(Old Gen)으로 이동될 수 있어요. 영구 영역으로 이동된 객체는, 메모리에 즉시 제거되지 못하고 오랜 기간 남게 되죠. 이는 Old(Full) GC를 발생시켜 시스템 부하를 유발하게 해요. 실제로 시스템에 설정된 TimeOut 값은 3,000초(50분)에요. Finalizer 참조 객체는 GC 발생 시, 즉시 메모리에서 수집되지 않고 Finalize 처리를 위한 대기 큐에 들어가요. 그다음 FinalizerThread에 의해 Finalize 처리 후 GC 발생 시 비로소 제거되죠. 때문에 리소스의 수집 처리가 지연될 수 있어요. 또한 FinalizerThread 스레드는 우선순위가 낮아요. Finalize 처리 객체가 많은 경우, CPU 리소스가 상대적으로 부족해지면 개체의 Finalize 메서드 실행을 지연하게 만들어요. 처리되지 못한 객체는 누적되게 만들죠. 요약한다면 FinalReference 참조 객체의 잘못된 관리는 1) 객체의 재 참조를 유발 2) 불필요한 객체의 누적을 유발 3) Finalize 처리 지연으로 인한 리소스 누적을 유발하게 해요. PART2. 제니우스 APM을 통해 Finalize 객체를 모니터링하는 방법 Zenius APM에서는 JVM 메모리를 모니터링하고 분석하기 위한, 다양한 데이터를 수집하고 있어요. 상단에서 보았던 FinalReference 참조 객체의 현황에 대한 항목도 확인할 수 있죠. APM 모니터링을 통해 Finalize 처리에 대한 문제 발생 가능성도 ‘사전’에 확인 할 수 있답니다! 위에 있는 그림은 Finalize 처리 대기(Pending)중인 객체의 개수를 확인 가능한 컴포넌트에요. 이외에도 영역별 메모리 현황 정보와 GC 처리 현황에 대해서도 다양한 정보를 확인 할 수 있어요! 이상으로 Finalize 처리 객체에 의한 리소스 문제 발생 가능성을, 사례를 통해 살펴봤어요. 서비스에 리소스 문제가 발생하고 있다면, 꼭 도움이 되었길 바라요! ------------------------------------------------------------ ©참고 자료 ◾ uxys, http://www.uxys.com/html/JavaKfjs/20200117/101590.html ◾ Peter Lawrey, 「is memory leak? why java.lang.ref.Finalizer eat so much memory」, stackoverflow, https://stackoverflow.com/questions/8355064/is-memory-leak-why-java-lang-ref-finalizer-eat-so-much-memory ◾ Florian Weimer, 「Performance issues with Java finalizersenyo」, enyo, https://www.enyo.de/fw/notes/java-gc-finalizers.html ------------------------------------------------------------
2023.10.12
기술이야기
카프카를 통한 로그 관리 방법
기술이야기
카프카를 통한 로그 관리 방법
안녕하세요! 저는 개발4그룹에서 제니우스(Zenius) SIEM의 로그 관리 기능 개발을 담당하고 있는 김채욱 입니다. 제가 하고 있는 일은 실시간으로 대용량 로그 데이터를 수집하여 분석 후, 사용자에게 가치 있는 정보를 시각화하여 보여주는 일입니다. 이번 글에서 다룰 내용은 1) 그동안 로그(Log)에 대해 조사한 것과 2) 최근에 CCDAK 카프카 자격증을 딴 기념으로, 카프카(Kafka)를 이용하여 어떻게 로그 관리를 하는지에 대해 이야기해 보겠습니다. PART1. 로그 1. 로그의 표면적 형태 로그(Log)는 기본적으로 시스템의 일련된 동작이나 사건의 기록입니다. 시스템의 일기장과도 같죠. 로그를 통해 특정 시간에 시스템에서 ‘어떤 일’이 일어났는지 파악할 수도 있습니다. 이렇게 로그는 시간에 따른 시스템의 동작을 기록하고, 정보는 순차적으로 저장됩니다. 이처럼 로그의 핵심 개념은 ‘시간’입니다. 순차적으로 발생된 로그를 통해 시스템의 동작을 이해하며, 일종의 생활기록부 역할을 하죠. 시스템 내에서 어떤 행동이 발생하였고, 어떤 문제가 일어났으며, 유저와의 어떤 교류가 일어났는지 모두 알 수 있습니다. 만약 시간의 개념이 없다면 어떻게 될까요? 발생한 모든 일들이 뒤섞이며, 로그 해석을 하는데 어려움이 생기겠죠. 이처럼 로그를 통해 시스템은 과거의 변화를 추적합니다. 똑같은 상황이 주어지면 항상 같은 결과를 내놓는 ‘결정론적’인 동작을 보장할 수 있죠. 로그의 중요성, 이제 조금 이해가 되실까요? 2. 로그와 카프카의 관계 자, 그렇다면! 로그(Log)와 카프카(Kafka)는 어떤 관계일까요? 우선 카프카는 분산 스트리밍 플랫폼으로서, 실시간으로 대용량의 데이터를 처리하고 전송하는데 탁월한 성능을 자랑합니다. 그 중심에는 바로 ‘로그’라는 개념이 있는데요. 좀 더 자세히 짚고 넘어가 보겠습니다. 3. 카프카에서의 로그 시스템 카프카에서의 로그 시스템은, 단순히 시스템의 에러나 이벤트를 기록하는 것만이 아닙니다. 연속된 데이터 레코드들의 스트림을 의미하며, 이를 ‘토픽(Topic)’이라는 카테고리로 구분하죠. 각 토픽은 다시 *파티션(Partition)으로 나누어, 단일 혹은 여러 서버에 분산 저장됩니다. 이렇게 분산 저장되는 로그 데이터는, 높은 내구성과 가용성을 보장합니다. *파티션(Partition): 하드디스크를 논리적으로 나눈 구역 4. 카프카가 로그를 사용하는 이유 로그의 순차적인 특성은 카프카의 ‘핵심 아키텍처’와 깊게 연결되어 있습니다. 로그를 사용하면, 데이터의 순서를 보장할 수 있어 대용량의 데이터 스트림을 효율적으로 처리할 수 있기 때문이죠. 데이터를 ‘영구적’으로 저장할 수 있어, 데이터 손실 위험 또한 크게 줄어듭니다. 로그를 사용하는 또 다른 이유는 ‘장애 복구’입니다. 서버가 장애로 인해 중단되었다가 다시 시작되면, 저장된 로그를 이용하여 이전 상태로 복구할 수 있게 되죠. 이는 ‘카프카가 높은 가용성’을 보장하는 데 중요한 요소입니다. ∴ 로그 요약 로그는 단순한 시스템 메시지를 넘어 ‘데이터 스트림’의 핵심 요소로 활용됩니다. 카프카와 같은 현대의 데이터 처리 시스템은 로그의 이러한 특성을 극대화하여, 대용량의 실시간 데이터 스트림을 효율적으로 처리할 수 있는 거죠. 로그의 중요성을 다시 한번 깨닫게 되는 순간이네요! PART2. 카프카 로그에 이어 에 대해 설명하겠습니다. 들어가기에 앞서 가볍게 ‘구조’부터 알아가 볼까요? 1. 카프카 구조 · 브로커(Broker) 브로커는 *클러스터(Cluster) 안에 구성된 여러 서버 중 각 서버를 의미합니다. 이러한 브로커들은, 레코드 형태인 메시지 데이터의 저장과 검색 및 컨슈머에게 전달하고 관리합니다. *클러스터(Cluster): 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합 데이터 분배와 중복성도 촉진합니다. 브로커에 문제가 발생하면, 데이터가 여러 브로커에 데이터가 복제되어 데이터 손실이 되지 않죠. · 프로듀서(Producer) 프로듀서는 토픽에 레코드를 전송 또는 생성하는 *엔터티(Entity)입니다. 카프카 생태계에서 ‘데이터의 진입점’ 역할도 함께 하고 있죠. 레코드가 전송될 토픽 및 파티션도 결정할 수 있습니다. *엔터티(Entity): 업무에 필요한 정보를 저장하고 관리하는 집합적인 것 · 컨슈머(Consumer) 컨슈머는 토픽에서 레코드를 읽습니다. 하나 이상의 토픽을 구독하고, 브로커로부터 레코드를 소비합니다. 데이터의 출구점을 나타내기도 하며, 프로듀서에 의해 전송된 메시지를 최종적으로 읽히고 처리되도록 합니다. · 토픽(Topic) 토픽은 프로듀서로부터 전송된 레코드 카테고리입니다. 각 토픽은 파티션으로 나뉘며, 이 파티션은 브로커 간에 복제됩니다. 카프카로 들어오는 데이터를 조직화하고, 분류하는 방법을 제공하기도 합니다. 파티션으로 나눔으로써 카프카는 ‘수평 확장성과 장애 허용성’을 보장합니다. · 주키퍼(ZooKeeper) 주키퍼는 브로커를 관리하고 조정하는 데 도움을 주는 ‘중앙 관리소’입니다. 클러스터 노드의 상태, 토픽 *메타데이터(Metadata) 등의 상태를 추적합니다. *메타데이터(Metadata): 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터 카프카는 분산 조정을 위해 주키퍼에 의존합니다. 주키퍼는 브로커에 문제가 발생하면, 다른 브로커에 알리고 클러스터 전체에 일관된 데이터를 보장하죠. ∴ 카프카 구조 요약 요약한다면 카프카는 1) 복잡하지만 견고한 아키텍처 2) 대규모 스트림 데이터를 실시간으로 처리하는 데 있어 안정적이고 장애 허용성이 있음 3) 고도로 확장 가능한 플랫폼을 제공으로 정리할 수 있습니다. 이처럼 카프카가 큰 데이터 환경에서 ‘어떻게’ 정보 흐름을 관리하고 최적화하는지 5가지의 구조를 통해 살펴보았습니다. 이제 카프카에 대해 조금 더 명확한 그림이 그려지지 않나요? 2. 컨슈머 그룹과 성능을 위한 탐색 카프카의 가장 주목할 만한 특징 중 하나는 ‘컨슈머 그룹의 구현’입니다. 이는 카프카의 확장성과 성능 잠재력을 이해하는 데 중심적인 개념이죠. 컨슈머 그룹 이해하기 카프카의 핵심은 ‘메시지를 생산하고 소비’ 하는 것입니다. 그런데 수백만, 심지어 수십억의 메시지가 흐르고 있을 때 어떻게 효율적으로 소비될까요? 여기서 컨슈머 그룹(Consumer Group)이 등장합니다. 컨슈머 그룹은, 하나 또는 그 이상의 컨슈머로 구성되어 하나 또는 여러 토픽에서 메시지를 소비하는데 협력합니다. 그렇다면 왜 효율적인지 알아보겠습니다. · 로드 밸런싱: 하나의 컨슈머가 모든 메시지를 처리하는 대신, 그룹이 부하를 분산할 수 있습니다. 토픽의 각 파티션은 그룹 내에서 정확히 하나의 컨슈머에 의해 소비됩니다. 이는 메시지가 더 빠르고 효율적으로 처리된다는 것을 보장합니다. · 장애 허용성: 컨슈머에 문제가 발생하면, 그룹 내의 다른 컨슈머가 그 파티션을 인수하여 메시지 처리에 차질이 없도록 합니다. · 유연성: 데이터 흐름이 변함에 따라 그룹에서 컨슈머를 쉽게 추가하거나 제거합니다. 이에 따라 증가하거나 감소하는 부하를 처리할 수 있습니다. 여기까지는 최적의 성능을 위한 ‘카프카 튜닝 컨슈머 그룹의 기본 사항’을 다루었으니, 이와 관련된 ‘성능 튜닝 전략’에 대해 알아볼까요? 성능 튜닝 전략 · 파티션 전략: 토픽의 파티션 수는, 얼마나 많은 컨슈머가 활성화되어 메시지를 소비할 수 있는지 영향을 줍니다. 더 많은 파티션은 더 많은 컨슈머가 병렬로 작동할 수 있음을 의미하는 거죠. 그러나 너무 많은 파티션은 *오버헤드를 야기할 수 있습니다. *오버헤드: 어떤 처리를 하기 위해 간접적인 처리 시간 · 컨슈머 구성: *fetch.min.bytes 및 *fetch.max.wait.ms와 같은 매개변수를 조정합니다. 그다음 한 번에 얼마나 많은 데이터를 컨슈머가 가져오는지 제어합니다. 이러한 최적화를 통해 브로커에게 요청하는 횟수를 줄이고, 처리량을 높입니다. *fetch.min.bytes: 한 번에 가져올 수 있는 최소 데이터 사이즈 *fetch.max.wait.ms: 데이터가 최소 크기가 될 때까지 기다릴 시간 · 메시지 배치: 프로듀서는 메시지를 함께 배치하여 처리량을 높일 수 있게 구성됩니다. *batch.size 및 *linger.ms와 같은 매개변수를 조정하여, 대기 시간과 처리량 사이의 균형을 찾을 수 있게 되죠. *batch.size: 한 번에 모델이 학습하는 데이터 샘플의 개수 *linger.ms: 전송 대기 시간 · 압축: 카프카는 메시지 압축을 지원하여 전송 및 저장되는 데이터의 양을 줄입니다. 이로 인해 전송 속도가 빨라지고 전체 성능이 향상될 수 있습니다. · 로그 정리 정책: 카프카 토픽은, 설정된 기간 또는 크기 동안 메시지를 유지할 수 있습니다. 보존 정책을 조정하면, 브로커가 저장 공간이 부족해지는 점과 성능이 저하되는 점을 방지할 수 있습니다. 3. 컨슈머 그룹과 성능을 위한 실제 코드 예시 다음 그림과 같은 코드를 보며 조금 더 자세히 살펴보겠습니다. NodeJS 코드 중 일부를 발췌했습니다. 카프카 설치 시에 사용되는 설정 파일 *server.properties에서 파티션의 개수를 CPU 코어 수와 같게 설정하는 코드입니다. 이에 대한 장점들을 쭉 살펴볼까요? *server.properties: 마인크래프트 서버 옵션을 설정할 수 있는 파일 CPU 코어 수에 파티션 수를 맞추었을 때의 장점 · 최적화된 리소스 활용: 카프카에서는 각 파티션이 읽기와 쓰기를 위한 자체 *I/O(입출력) 스레드를 종종 운영합니다. 사용 가능한 CPU 코어 수와 파티션 수를 일치시키면, 각 코어가 특정 파티션의 I/O 작업을 처리합니다. 이 동시성은 리소스에서 최대의 성능을 추출하는 데 도움 됩니다. · 최대 병렬 처리: 카프카의 설계 철학은 ‘병렬 데이터 처리’를 중심으로 합니다. 코어 수와 파티션 수 사이의 일치는, 동시에 처리되어 처리량을 높일 수 있습니다. · 간소화된 용량 계획: 이 접근 방식은, 리소스 계획에 대한 명확한 기준을 제공합니다. 성능 병목이 발생하면 CPU에 *바인딩(Binding)되어 있는지 명확하게 알 수 있습니다. 인프라를 정확하게 조정할 수도 있게 되죠. *바인딩(Binding): 두 프로그래밍 언어를 이어주는 래퍼 라이브러리 · 오버헤드 감소: 병렬 처리와 오버헤드 사이의 균형은 미묘합니다. 파티션 증가는 병렬 처리를 촉진할 수 있습니다. 하지만 더 많은 주키퍼 부하, 브로커 시작 시간 연장, 리더 선거 빈도 증가와 같은 오버헤드도 가져올 수도 있습니다. 파티션을 CPU 코어에 맞추는 것은 균형을 이룰 수 있게 합니다. 다음은 프로세스 수를 CPU 코어 수만큼 생성하여, 토픽의 파티션 개수와 일치시킨 코드에 대한 장점입니다. 파티션 수와 컨슈머 프로세스 수 일치의 장점 · 최적의 병렬 처리: 카프카 파티션의 각각은 동시에 처리될 수 있습니다. 컨슈머 수가 파티션 수와 일치하면, 각 컨슈머는 특정 파티션에서 메시지를 독립적으로 소비할 수 있게 되죠. 따라서 병렬 처리가 향상됩니다. · 리소스 효율성: 파티션 수와 컨슈머 수가 일치하면, 각 컨슈머가 처리하는 데이터의 양이 균등하게 분배됩니다. 이로 인해 전체 시스템의 리소스 사용이 균형을 이루게 되죠. · 탄력성과 확장성: 트래픽이 증가하면, 추가적인 컨슈머를 컨슈머 그룹에 추가하여 처리 능력을 증가시킵니다. 동일한 방식으로 트래픽이 감소하면 컨슈머를 줄여 리소스를 절약할 수 있습니다. · 고가용성과 오류 회복: 컨슈머 중 하나가 실패하면, 해당 컨슈머가 처리하던 파티션은 다른 컨슈머에게 자동 재분배됩니다. 이를 통해 시스템 내의 다른 컨슈머가 실패한 컨슈머의 작업을 빠르게 인수하여, 메시지 처리가 중단되지 않습니다. 마지막으로 각 프로세스별 컨슈머를 생성해서 토픽에 구독 후, 소비하는 과정을 나타낸 소스코드입니다. ∴ 컨슈머 그룹 요약 컨슈머 그룹은 높은 처리량과 장애 허용성 있는 메시지 소비를 제공하는 능력이 핵심입니다. 카프카가 어떤 식으로 운영되는지에 대한 상세한 부분을 이해하고 다양한 매개변수를 신중하게 조정한다면, 어떠한 상황에서도 카프카의 최대 성능을 이끌어낼 수 있습니다! ------------------------------------------------------------ ©참고 자료 · Jay Kreps, “I Hearts Logs”, Confluent · 위키피디아, “Logging(computing)” · Confluent, “https://docs.confluent.io/kafka/overview.html” · Neha Narkhede, Gwen Shapira, Todd Palino, “Kafka: The Definitive Guide” ------------------------------------------------------------
2023.09.19
기술이야기
[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
회사이야기
[행사] 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
1
2
3
4
5
6
7
8
9
10