반복영역 건너뛰기
주메뉴 바로가기
본문 바로가기
제품/서비스
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
블로그
열기
메인 페이지로 이동
블로그
최신이야기
블로그
최신이야기
사람이야기
회사이야기
기술이야기
다양한이야기
SMS를 통한 서버관리는 꼭 이렇게 해야만 한다?!
네트워크 정보 수집 프로토콜의 모든 것 (SNMP, RMON, ICMP, Syslog)
임형섭
2024.03.04
페이스북 공유하기
트위터 공유하기
링크드인 공유하기
블로그 공유하기
무선 AP를 WNMS를 통해 올바르게 관리하는 방법
지난 포스팅을 통해
NMS의 기본 개념
과
NMS의 구성요소와 역할
에 대해서 살펴보았는데요. 오늘은
네트워크 정보 수집을 위한 다양한 프로토콜
에 대해서 자세히 알아보겠습니다.
네트워크 프로토콜(Network Protocol)은 네트워크에 연결된 장비 간의 메시지 흐름을 통제하고 관리하는 기본적인 절차와 규칙을 정한 규약입니다.
웹 브라우저, 파일 전송, 이메일 송수신, 미디어 스트리밍 등과 같은 모든 온라인 활동을 가능하게 하기 때문에 네트워크 정보 전달의 핵심요소라고 할 수 있죠.
이번 시간에는 주요
네트워크 프로토콜인 ICMP, SNMP
를 중점적으로 알아보겠습니다.
ㅣICMP는 무엇이고 어떻게 동작하는가?
ICMP(Internet Control Message Protocol)는 주로 네트워크의 경로상의 문제나, 호스트(단말)의 문제 등을 파악할 때 사용하는 프로토콜인데요. 대표적인 서비스가 ping입니다. 구체적인 동작원리를 살펴보면 다음과 같습니다.
오류 보고
◾ 네트워크에서 데이터를 보낼 때 오류가 발생하면, 오류를 발생시킨 장비(예: 라우터, 스위치)는 오류 정보를 담아 ICMP 메시지를 처음 보낸 사람에게 전송합니다. 이를 통해 무엇이 잘못됐는지 정확히 파악하고 문제를 해결할 수 있습니다.
◾ 예를 들어 한 컴퓨터에서 인터넷을 통해 데이터를 보내는데, 그 데이터가 목적지에 도달하지 못하면 ICMP가 '이 주소로는 데이터를 배달할 수 없어!'라고 알려주는 역할을 하죠. 이렇게 사용자나 네트워크 관리자가 문제를 알리고 대응할 수 있게 도와주는 게 ICMP의 주요 역할입니다.
[그림] ICMP 동작 방식
진단 및 테스트
◾ 네트워크의 연결 상태나 성능을 테스트하기 위해 ICMP 에코 요청과 에코 응답 메시지를 사용합니다. 이를 통해 네트워크의 지연시간(latency)이나 패킷 손실(packet loss) 등을 측정할 수 있습니다. '핑(ping, Packet INternet Groper)'을 대표적인 예로 들 수 있습니다.
◾ 쉽게 표현하면 '너 지금 연결 잘 되어 있니?'라고 물었을 경우 대상 장비가 '응, 잘 되어 있어!'라고 대답하면 연결이 잘 되어 있는 것이고, 대답이 없거나 늦는 것과 같은 문제를 식별하는 것이죠.
ICMP도 좋은 도구이지만, 네트워크의 복잡성이 빠르게 증가하고 호스트 수가 증가하면서 ICMP만으로는 네트워크 관리가 어려워지는 문제가 발생했는데요. 이를 개선하기 위해서 탄생한 것이 바로 SNMP입니다.
우선 SNMP의 히스토리부터 살펴보겠습니다.
ㅣSNMP 히스토리: 각 버전별 개념과 차이점은?
SNMP(Simple Network Management Protocol)는 1988년에 아래의 세 가지 니즈에 부합하기 위해 등장했습니다.
◾ ICMP보다 많은 기능의 탑재
◾ 네트워크 문제를 직관적이고 쉽게 해결할 수 있어야 함
◾ 표준화된 프로토콜의 사용
이후 몇 가지 버전을 거쳐서 현재는 네트워크 장비를 모니터링하기 위한 프로토콜로 자리를 잡아서 대부분의 NMS 상에서 이용되고 있습니다.
잠깐 SNMP의 처리단계를 살펴보면, SNMP는 Get/Set/Trap의 단순 명령 구조로 구성되는데요, 메시지 타입별 역할은 아래와 같이 정리할 수 있습니다.
위와 같은 처리단계를 가지고 있는 SNMP는 보안 기능 강화 및 기능 개선을 위해서 초기 v1 버전에서 v3 버전까지 업그레이드됐습니다.
각 버전은 보안, 성능, 유연성 등의 측면에서 발전되었으며 현재는 SNMPv2가 가장 많이 사용되고 있죠. SNMP 버전 별 특징에 대해서 자세히 알아보겠습니다.
SNMP v1
가장 초기에 만들어진 프로토콜로 기본적인 정보만을 주고받아서 네트워크 장비들의 상태를 확인하고, 간단한 명령 정도만 내릴 수 있습니다. 보안에 많이 약한 편이고, 정보를 주고받을 때 특별한 암호화나 보호 방법을 사용하지 않기에 정보가 노출될 위험이 있습니다.
SNMP v2
SNMPv1의 단점을 해결하기 위해 개발된 버전입니다. 보안 기능과 네트워크 과부하, 관리 효율성 등에 대한 기능이 향상되었습니다.
MIB(Management Information Base) 구조를 개선하여, 새로운 데이터 타입과 객체 식별자(프로그래밍에서 특정 객체를 식별하는 데 사용되는 값이나 이름)을 도입했습니다. 이로써 더 많은 종류의 데이터를 효과적으로 다룰 수 있게 되었지만, v1과 호환이 안되는 문제가 있어 상용화에는 실패했습니다.
SNMP v2c (Community-Based Security)
SNMPv2c는 '커뮤니티 기반' 방식을 사용하며 'Community String' (공동체 문자열)을 이용합니다. Community String은 정보를 주고받기 위해 인증 과정에서 비밀번호를 사용하는 것으로, 학교에서 특정 비밀번호를 알고 있는 사람들만 특정 정보를 볼 수 있게 하는 것과 비슷합니다.
하지만 비밀번호가 복잡하지 않은 편이라, 조금 더 높은 보안을 필요로 하는 경우에는 적합하지 않을 수 있습니다. 현재 가장 많이 사용되고 있는 버전입니다.
SNMP v3
보안과 관리 기능을 대폭 강화한 버전입니다. SNMPv3는 정보를 주고받을 때 강력한 인증과 암호화를 사용하여, 네트워크 상의 중요한 정보를 안전하게 지킬 수 있습니다.
또한 복잡한 네트워크 환경에서 사용자가 많을 경우에도, 각 사용자의 접근 권한을 관리할 수 있는 기능이 있습니다. 하지만 이전 버전들보다 더 복잡한 보안 모델과 설정 등의 이유로 널리 사용되고 있지는 않습니다.
[그림] SNMP 버전과 수를 한눈에 볼 수 있는 제니우스 EMS 화면
참고로 SNMP에는 위와 같이 다양한 버전이 있기 때문에 모든 NMS는 제니우스처럼 어떤 버전으로 수집했는지와 수를 파악할 수 있어야 합니다.
이제 SNMP에 대해서 조금 더 자세하게 살펴보겠습니다.
ㅣSNMP 자세히 보기: MIB의 개념과 구조
MIB(Management Information Base)는 관리 정보 기반이라고 불립니다. SNMP를 통해 관리되어야 할 정보나 자원들을 모아둔 것으로, Manager와 Agent 간 정보를 주고받는 정보의 집합체입니다.
MIB에는 SNMP를 통해 주고받는 정보가 어떤 의미를 가지고 어떻게 사용될 수 있는지에 대한 정의가 포함되어 있습니다. 또한 각각의 정보는 '객체'라고 불리며, 이 객체들은 계층적으로 구성되어 있기에 관리하고자 하는 정보를 쉽게 찾을 수 있게 도와주죠.
대표적으로 CPU 사용량, 메모리 사용량, 포트의 up/down 같은 상태 정보 등이 MIB에 포함됩니다. 마치 항해사가 바다를 항해하기 위해 지도를 사용하는 것처럼, MIB를 통해 네트워크의 상태를 정확히 파악하고 필요한 조치를 취할 수 있습니다.
MIB의 구조를 자세히 살펴보면 우선 큰 나무를 뒤집어 놓았다고 생각한다면 이해하기 쉽습니다. 큰 나무의 밑동(Root) → 각각의 가지(Branches) → 잎사귀(Leavers)로 나누어져 내려오는 형태인데요, 부분별로 자세히 살펴보겠습니다.
◾
밑동(Root):
모든 MIB 트리의 시작점으로, 'iso(1)', 'org(3)', 'dod(6)', 'internet(1)' 등으로 구성되어 있습니다. 여기서 'internet'은 네트워크 장비와 관련된 표준 MIB를 나타냅니다.
◾
가지(Branches):
밑동에서 나온 큰 가지들은 네트워크 장비의 다양한 부분을 나타냅니다. 예를 들어 'mgmt(2)' 가지는 일반적인 관리 정보, 'private(4)' 가지는 각 제조업체의 고유 정보 등을 의미합니다.
◾
잎사귀(Leaves):
가장 작은 단위의 정보를 나타내는 부분으로 특정 장비의 상태, 성능 지표, 설정값 등 구체적인 데이터가 저장됩니다.
MIB에서는 네트워크 장비의 정보가 여러 '분류'로 나누어져 있는데, '네트워크 인터페이스'라는 분류 아래에는 네트워크 카드의 상태, 속도, 전송된 데이터의 양과 같은 정보들이 담겨 있습니다.
MIB는 복잡해 보일 수 있지만, 네트워크 장비와 관련된 정보를 체계적으로 관리하고 접근할 수 있도록 설계되어 있습니다. 이 구조 덕분에 네트워크 관리자는 네트워크의 건강 상태를 쉽게 체크하고 필요한 조정을 할 수 있습니다.
다음으로는 MIB 내의 각 객체를 고유하게 식별하는 OID에 대해서 알아보겠습니다.
ㅣSNMP 자세히 보기: OID 확인 방법과 수집항목
OID(Object Identifier)는 MIB 내에 포함되어 있는 각 개별 정도에 대한 ID 값입니다. 아래 그림에서 볼 수 있듯이, 트리의 하단 값이 OID인데 MIB의 각 개별 정보에 대한 ID를 의미합니다.
[그림] OID Tree 구조
대형 도서관에서 원하는 책을 찾을 때 책의 번호를 확인하여 빠르고 정확하게 찾는 것처럼, 특정 오브젝트의 ID(Num)을 부여한 게 OID입니다. OID는 포함하고 있는 각 정보를 숫자로 표현합니다.
◾
Enterprise OID:
네트워크 업계에서 공통으로 사용하는 OID
◾
Private OID:
각 네트워크 벤더사에서 사용하는 독자적인 OID
예를 들어 Juniper Networks라는 네트워크 스위치 벤더에서 사용하고 있는 OID 값을 [1.3.5.6.1.9 ]라는 전용 OID 값을 사용한다고 가정하면, Juniper Networks 라우터의 경우 뒤에 라우터 제품별 OID '11'이 더 붙은 [1.3.5.6.1.9.11 ] 형태의 OID로 구성됩니다.
[그림] 제니우스 예시 화면
지금까지 네트워크 모니터링에 필요한 ICMP, SNMP 그리고 MIB, OID에 대해 살펴봤습니다. 참고로 제니우스(Zenius)-NMS에서는 OID 사전을 제공하고 있으며, 이를 통하여 관리하고 싶은 항목의 MIB 항목 및 OID 정보를 쉽게 찾을 수 있습니다.
이제 SNMP의 주요 개념 중 하나인 SNMP Trap에 대해서 알아보겠습니다.
ㅣSNMP Trap의 개념 그리고 특징은?
Manager(관리자)는 Server(Agent)로 메시지 요청(Polling)을 하게 되고, Server(Agent)는 응답(Notifying)을 하는 방식으로 진행됩니다.
그런데 Server가 비정상적인 이벤트를 감지하면 Manager의 Polling을 기다리지 않고 바로 Manager에게 메시지를 보내는데요, 이 긴급 메시지를 Trap(트랩)이라고 합니다. 우리가 날씨에 대해서 찾아보지 않아도 폭설이 예상될 때 폭설을 경고하는 자동 알림 시스템과 비슷한 개념입니다.
[그림] SNMP 프로토콜 동작 방식
SNMP Trap은 일반적으로 높은 CPU 사용량이나 디스크 공간 부족과 같이 해결해야 할 문제를 나타냅니다. 중앙 모니터링 시스템으로 전송되어 분석 및 조치를 취할 수 있죠. 이를 통해 Manager는 큰 문제가 발생하기 전에 잠재적인 문제를 신속하게 식별하고 해결할 수 있습니다.
SNMP Trap의 방식과 기능을 네 가지로 나누어 살펴보겠습니다.
(1) 비동기적 알림
SNMP Trap는 주기적인 폴링이 아닌, 이벤트 기반의 알림을 통해 즉각적으로 대응할 수 있도록 비동기적인 방법을 제공합니다.
(2) 실시간 알림
SNMP Trap은 이벤트가 발생하는 즉시 알림을 제공하여, 실시간으로 네트워크 상태 및 장치 상태를 모니터링해서 문제 발생 시 즉각적인 대응과 조치를 가능하게 합니다.
(3) 이벤트 기반 모니터링
SNMP Trap은 장치나 응용 프로그램에서 특정 이벤트가 발생했을 때만 알림을 보내기 때문에, 불필요한 트래픽을 발생시키지 않습니다. 따라서 자원을 효율적으로 사용하면서 중요한 상태 변경을 식별합니다.
(4) 자동화된 대응
SNMP Trap을 사용하면 이벤트 발생 시, 자동으로 대응 조치를 취할 수 있는 자동화 시스템을 구축할 수 있습니다. 이를 통해 관리자의 개입 없이 특정 이벤트에 대한 대응을 효과적으로 수행할 수 있습니다.
[그림] Zenius Syslog 감시 설정 등록 페이지(위), Zenius Syslog 이벤트 페이지(아래)
이와 같은 SNMP Trap을 통해 빠르게 이상을 탐지하는 것이 중요한데요. 제니우스(Zenius)-Syslog와 Trap에서는 Syslog, Trap에 각각 특정 이벤트 조건을 설정하여 이벤트를 감지하고, 장애를 통보할 수 있는 기능을 제공하고 있습니다.
이제 마지막으로 SNMP 못지않게 네트워크 관리에 중요한 역할을 하는 Syslog, RMON에 대해서 알아보겠습니다.
ㅣ Syslog, RMON의 개념과 동작원리는?
Syslog
Syslog는 컴퓨터 시스템, 네트워크 장비, 보안 장비 등에서 일어나는 모든 상황과 변화를 서버에 기록하는 프로토콜입니다. 관리 대상인 장비에서 일어나는 모든 상황을 메모리에 기록하죠. 로그/오류 관리가 주 목적이고 Unix와 Linux에서 많이 사용됩니다.
대부분의 라우터와 스위치들은 Syslog 프로토콜을 이용하여 Log들을 Syslog 서버로 보내고, 수백수천 대의 장비에 일일이 접속하여 로그를 볼 수 없기 때문에 '중앙 집중식'으로 관리합니다.
작업 방식은 주로 Client-Push 모델로 이러우지고 있고, 장비에서 일어나는 모든 상황 변화를 Layer4 프로토콜이 메모리에 기록하며, Syslog 서버는 UDP 포트 514에서 메세지를 수신합니다.
Syslog 수집항목은 시스템 운영/네트워크/보안/애플리케이션 등과 관련된 로그를 수집 및 분석하고, 각 항목별로 오류와 트랜잭션 등에 대한 내용을 확인합니다.
출처ⓒ viettelco.net
RMON
RMON(Remote Network Monitoring)은 네트워크 장비나 서버에서 발생하는 트래픽과 문제들을 원격에서 감시하기 위해 만들어진 프로토콜로, SNMP보다 확장된 개념이라고 할 수 있습니다.
네트워크 관리자는 RMON을 통해, 네트워크의 성능을 측정하고 문제가 발생했을 때 신속하게 해결할 수 있습니다. 회사에서 인터넷이 느려지거나 연결이 되지 않을 때 RMON을 사용하면 원인을 빠르게 찾아내어 문제를 해결할 수 있죠.
RMON과 SNMP의 연관성을 우선 아래 이미지를 통해 살펴보겠습니다.
출처ⓒ dpstele.com/blog/what-is-rmon.php
좀 더 자세히 살펴보면
◾ RMON은 SNMP 위에서 작동하며, SNMP 보다 더 광범위한 데이터를 수집/분석할 수 있는 기능을 제공합니다.
◾ SNMP가 네트워크의 '기본적인 통신'을 담당한다면, RMON은 그 위에서 보다 '세밀한 관찰과 분석'을 가능하게 합니다.
◾ RMON은 SNMP의 특정 데이터를 사용하여 네트워크 트래픽 패턴이나, 성능 문제, 네트워크 내의 비정상적인 활동 등을 실시간으로 감시하고 기록할 수 있게 해줍니다.
◾ RMON에서 Probe라는 수행 장비를 사용하며, 네트워크 트래픽 및 통계 수집 그리고 성능 모니터링을 위해 활용합니다.
결과적으로 RMON의 기능을 통해 네트워크의 문제를 더 빨리 발견하고, 효율적으로 대응할 수 있죠.
마지막으로 SNMP, RMON, ICMP, Syslog의 주요 내용들을 아래 표를 통해 한눈에 살펴보겠습니다.
。。。。。。。。。。。。
지금까지 네트워크 정보 수집을 위한 다양한 프로토콜의 종류와 특징에 대해서 알아보았습니다. 효과적인 네트워크 관리를 위해서 혁신적인 기술들이 많이 개발되고 있는데요, 이를 활용해서 성공적으로 네트워크를 운영하시기를 바라겠습니다!
#네트워크 프로토콜
#SNMP
#RMON
#ICMP
#Syslog
임형섭
프리세일즈팀
안정적이고 효과적인 비즈니스 운영을 위한 고객 맞춤형 IT 인프라 모니터링 시스템을 제안합니다.
필진 글 더보기
목록으로
추천 콘텐츠
이전 슬라이드 보기
[전시회] 브레인즈컴퍼니 ‘소프트웨이브 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
클라우드 네이티브의 핵심! 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
가트너부터 딜로이트까지, 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
데브옵스(DevOps)에 대한 오해, 그리고 진실은?!
데브옵스(DevOps)에 대한 오해, 그리고 진실은?!
2000년 대 후반 IT 분야에서 데브옵스(DevOps)라는 움직임이 시작된 후, 꾸준하게 관심이 이어지고 있습니다. 데브옵스와 관련된 전 세계 시장의 규모는 2023년 기준 약 15조 원으로 추산되며, 올해부터는 연평균 25.5%씩 성장하여 2032년에 118조 원에 이를 것으로 예상됩니다(*출처: Grand View Research). 우리나라의 경우 네이버, 카카오, 우아한 형제들, 토스 등과 같은 국내 대기업부터 스타트업까지 데브옵스 팀을 구축하여 적극적으로 활용하고 있기도 한데요. 이처럼 많은 기업들이 말하는 데브옵스란 과연 무엇일까요? 그리고 어떻게 하면 데브옵스를 성공적으로 도입하고 활용할 수 있을까요? │ 데브옵스(DevOps)란 무엇인가? [그림 1] DevOps 개념 ⓒdevopedia 우선 데브옵스가 무엇인지부터 살펴봅시다. 검색 사이트에서 '데브옵스 혹은 DevOps'라고 검색하면 위 [그림1]과 같은 결과를 찾을 수 있는데요. [그림 2] DevOps에 대한 필자의 첫인상 하지만 처음 데브옵스라는 단어를 접할 경우 [그림 2]처럼 오버랩되는 건, 필자만 그런 것은 아니라고 생각합니다. 위 그림처럼 "개발자 보러 운영까지 하라는 거야? 아니면 운영자에게 개발까지 하라는 거야?"라는 질문을 던질 수 있겠죠. 데브옵스(DevOps)는 소프트웨어의 개발(Developmnet)과 + 운영(Operations)의 합성어이다. 이는 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 데브옵스는 소프트웨어 개발조직과 운영조직 간의 상호 의존적 대응이며, 조직이 소프트웨어 제품과 서비스를 빠른 시간에 개발 및 배포하는 것을 목적으로 한다. ⓒ위키백과 위 내용에도 언급되었듯이, 데브옵스라는 것은 결국 단순한 기술이 아닌 환경 또는 사람들 간에 관계라고 할 수 있습니다. 그렇다면 데브옵스는 어떤 이유로 주목받을 수 있었을까요? │ 데브옵스(DevOps)가 주목받게 된 배경은? 데브옵스가 주목받은 이유는 여러 가지 있을 수 있지만, 주요한 이유 중 몇 가지를 설명하면 다음과 같습니다. 클라우드 컴퓨팅 기술의 발전 IT 산업의 발전에 따라 빠른 개발과 빠른 배포, 그리고 고객의 요구에 신속하게 대응하는 능력이 중요해졌습니다. 특히 클라우드 컴퓨팅(Cloud Computing) 기술의 발전으로 데브옵스의 필요성이 더 대두되었는데요. 클라우드 자원의 가상화 기술과 빠른 프로비저닝*1을 통해 기존의 개발과 운영 간의 경계가 허물어지며, 서로 간의 협력이 필수적으로 요구되었기 때문입니다. 실제로 데브옵스만으로는 52%, 클라우드 단독 사용으로는 53%의 성능 향상을 얻었지만, 데브옵스와 클라우드가 결합된 환경에서는 평균 81%의 성능을 향상시킬 수 있다는 조사 결과도 있습니다. *1 프로비저닝(Provisioning): 사용자가 요청한 IT 자원을 사용할 수 있는 상태로 준비하는 것 MSA의 등장 [그림 4] 모놀리식 구조 예시(왼) [그림 5] MSA 구조 예시(오) 지금까지 운영 중인 시스템 혹은 서비스는, 하나의 큰 덩어리로 구성된 [그림 4] 모놀리식(Monolithic) 구조를 많이 사용하고 있습니다. 안정성을 확보하고 기능 추가를 편리하게 할 수 있었기 때문이죠. 하지만 한 부분의 변경이 전체 시스템에 영향을 미칠 수 있어, 유지보수가 어렵다는 한계점이 있습니다. 예를 든다면 특정 기능이 수정이 필요한 경우에도, 전체 시스템을 수정해야 해서 번거롭고 비효율적인 부분이 있습니다. 이러한 모놀리식 구조의 한계점으로 소프트웨어의 구조가 서서히 [그림 5] MSA(Micro Service Architecture)로 변화되고 있습니다. MSA는 통합된 하나의 덩어리를 관리하는 것이 아닌, 작은 단위로 쪼개어 관리하는 방식인데요. 관리하기도 효율적이고, 소프트웨어 품질개선과 요구사항 반영이 비교적 편리해졌습니다. 각 서비스가 독립적으로 배포되고 운영되기 때문에, 특정 기능을 수정할 때 전체 기능을 수정하거나 다시 배포할 필요가 없어진 거죠. 하지만 이러한 변화는 기존의 개발 환경과 조직 문화로 대응하기엔 어려움이 있었습니다. 이때 '데브옵스(DevOps)'가 좋은 솔루션으로 등장한 것이죠! 데브옵스가 지속적인 통합(CI)1과 지속적인 배포(CD)2를 통해 빠른 개발 주기를 실현하고 배포할 수 있을 뿐만 아니라, 다수의 독립적인 서비스가 상호작용할 수 있도록 원활한 협업과 통합을 가능하게 했기 때문입니다. *1 지속적인 통합(Continuous Integration, CI) 개발자가 코드를 변경할 때마다 자동으로 통합하고 빌드 하여, 소프트웨어의 품질을 빠르게 확인하는 과정 *2 지속적인 배포(Continuous Delivery, CD) 통합된 코드를 자동으로 테스트하고, 안정적으로 통과한 경우에는 자동으로 프로덕션 환경에 소프트웨어를 배포하는 것. 이에 따라 사용자에게 새로운 기능이나 수정 사항을 신속히 제공하는 과정 │ 데브옵스(DevOps) 도입 성공사례는? 이처럼 데브옵스의 정의와 주목받게 된 배경을 살펴봤는데요. 이번에는 데브옵스를 실제로 기업에 적용해 보고 성공한 사례를 자세히 살펴볼까요? 넷플릭스 넷플릭스(Netflix)는 데브옵스를 성공의 핵심요소로 삼아, 지속적으로 새로운 기능과 업데이트를 제공했습니다. 자동화된 유연한 인프라로 사용자 경험을 향상시켰죠. 이를 통해 빠르게 변화하는 스트리밍 산업에서 앞서 나갈 수 있게 되었고, 많은 비즈니스 이점을 얻게 되었습니다. 사실 넷플릭스는 2008년 큰 장애를 겪은 후, 클라우드로 이전되면서 인프라를 혁신적으로 개편했습니다. 이로써 기존의 수직적 단일 장애 지점에서 벗어나, 수평적으로 확장 가능한 분산 시스템을 구축할 수 있었습니다. 아마존 아마존(Amazon)은 데브옵스 원칙을 초기에 채택하여, 개발과 운영팀 간의 협력을 강화했습니다. 자동화와 지속적인 통합을 강조함에 따라, 빠른 배포 주기와 개선된 확장성을 달성할 수 있었죠. 이러한 아마존의 데브옵스 접근 방식은, 시장에서 경쟁 우위를 유지하는데 중요한 역할을 했습니다. 아마존 창립자인 제프 베이조스는 아마존의 데브옵스에 대해 '고객에게 집중하고, 혁신을 포용하며, 실험할 용기'를 강조했습니다. 베이조스는 혁신을 위해, 오해를 받고 비판받을 의향이 있어야 한다고 말했던 것이죠. 페이스북 페이스북(Facebook)은 "빠르게 움직이고 물건을 부수라"는 문화에 뿌리를 둔 데브옵스 관행을 택했습니다. 실험, 민첩성, 위험 감수를 중시하는 접근 방식을 포함해서 말이죠. 이처럼 페이스북은 지속적인 통합과 배포, 자동화된 테스팅, 모니터링을 사용하여 사용자에게 더 빠르고 높은 품질의 새로운 기능과 업데이트를 제공하고 있습니다. 월마트 2011년부터 데브옵스를 도입한 월마트(Walmart)는 자동화와 협업 그리고 지속적인 배포에 중점을 두었습니다. 애자일(Agile) 방법론과 클라우드 기반의 인프라 및 데브옵스 툴체인을 활용하여, 하루에 최대 100번까지 코드를 배포할 수 있게 된 것이죠. 이를 통해 디지털 변환을 가속화하고, 전자상거래 플랫폼을 개선하며, 고객 경험을 향상시킬 수 있었습니다. 위 기업들은 데브옵스라는 도구를 효과적으로 활용하여 비즈니스 성과를 창출하고, 경쟁 우위를 확보할 수 있었습니다. 그렇다면 데브옵스를 도입하기만 하면 무조건 성공할 수 있을까요? │ 데브옵스(DevOps)의 오해와 한계 앞선 질문에 대한 대답은 아쉽게도 NO입니다. 데브옵스는 개발 환경과 문화를 전부 해결해 줄 수 있는 '만능책'은 아니라는 것이죠. 데브옵스가 도입된 이후 새로운 한계점이 발견되었고, 실패할 사례들도 적지 않게 나왔습니다. 이러한 결과는 아래와 같은 오해들에서 비롯될 확률이 높은데요. 대표적으로 3가지만 살펴봅시다. [그림 6] DevOps 구현을 위한 도구 ⓒMedium_Ajesh Martin 오해 1. 데브옵스는 일종의 단순한 도구일 뿐이다? 데브옵스를 '일종의 도구'로만 보는 것은 잘못된 판단입니다. 물론 여러 팀에서 보다 더 나은 환경과 문화를 위해 슬랙(Slack), 젠킨즈(Jenkins), 도커(Docker) 등 여러 도구를 사용하는 것은 좋습니다. 하지만 데브옵스는 이보다 더 광범위한 접근 방식을 담고 있습니다. 즉 개발과 운영팀 간의 협력과 더 빠른 소프트웨어 개발과 배포를 가능하게 하는 방법론을 포함한다는 것이죠. 다시 말해 데브옵스라는 '도구'를 이용하기 이전에, 문화적 그리고 기술적 접근 방식이 바탕이 되어야 데브옵스라는 툴이 도움 될 수 있습니다. 오해 2. 데브옵스는 모든 조직에 적합하다? 만약 '다른 회사에 데브옵스라는 팀이 있으니, 우리도 데브옵스 팀을 만들자'라는 식으로 접근한다면, [그림 2]와 같은 모습이 될 것으로 예상됩니다. 즉 데브옵스의 조직 체계를 구성한다고 해서 데브옵스가 실현될 순 없습니다. 서로 다른 입장과 상황이 있는 개발자-팀-회사, 운영자-팀-회사 간에 상당한 노력을 통해 만들어 내는 것이 더 중요한 것이죠. 이와 비슷한 사례로 애자일(Agile) 문화가 있습니다. 2000년대 초반 '애자일 소프트웨어 선언문'으로 다양한 애자일 방법론이 주목을 받았었죠. 개발에서 빠르고 유연한 방법을 강조하며, 이후 많은 기업들이 애자일 방법론을 도입하게 되며 유행처럼 번져갔습니다. [그림 7] Agile 프로세스 여기서 애자일 문화를 도입한 많은 기업들이 간과했던 사실은, 애자일 문화 도입 자체가 '해결책'이라고 생각했다는 점입니다. 이보다 기존의 조직 문화에서 애자일 문화를 도입하는 것이 적합한 상황인지, 기존의 프로세스보다 효과를 발휘할 수 있는지, 팀 구성원들이 충분히 적응할 수 있는 문화인지 등을 우선적으로 고려하는 것이 더 중요합니다. 데브옵스 역시 마찬가지로 기존의 조직 규모, 문화, 프로젝트의 특성에 대한 명확한 이해가 먼저 선행되어야 합니다. 데브옵스 도입 전에 조직의 현재 상황과 목표를 면밀히 평가한 후, 점진적으로 도입하는 것이 중요하죠. 대기업이나 캐시카우가 있는 기업들이 데브옵스를 실행했다고 해서, 또는 단지 트렌드라는 이유만으로 도입하는 것은 위험할 수 있습니다. 오해 3. 데브옵스는 빠른 소프트웨어 배포만을 목표로 한다? 데브옵스는 속도만 중시하고 품질이나 안정성을 소홀히 한다는 인식이 있습니다. 하지만 데브옵스는 소프트웨어의 빠른 배포뿐만 아니라, 품질과 안정성 그리고 보안을 동시에 추구해야 합니다. 이에 따라 지속적인 통합과 배포(CI/CD), 자동화된 테스트, 모니터링 등을 통해 이러한 목표를 달성하려고 노력해야 하죠. 이처럼 데브옵스라는 도구를 도입하고 데브옵스 팀을 구성했다고 해서, 데브옵스가 즉각적으로 실현되는 것은 아닙니다. │ 데브옵스(DevOps) 보다 선행되어야 하는 '이것' 진정한 데브옵스를 실현하기 위한 방법을 한 문장으로 표현한다면 다음과 같습니다. "싸우지 말고 함께 소프트웨어 시스템 혹은 서비스를 만들어봐요" 힘 빠지는 결론일 수도 있습니다. 하지만 데브옵스를 도입하기 이전에 더 선행되어야 할 것은 각각 다른 업무의 조직원들끼리 서로를 이해하고, 협력하며, 보다 안정적인 시스템과 서비스를 제공하는 '문화'를 만드는 것이 더 현실적인 행동이라고 생각합니다. 물론 데브(Dev)와 옵스(Ops)는 우선순위가 동일하지 않고, 동일한 언어를 사용하지 않을 수 있으며, 매우 다른 관점에서 문제 해결될 가능성이 높습니다. 이처럼 팀을 하나로 모으기 위해서는 상당한 시간과 지속적인 노력이 필요한 것이죠. 그렇다면 어떤 방식으로 팀 협업 문화를 만들어야, 데브옵스를 보다 성공적으로 도입할 수 있을까요? │ 데브옵스(DevOps) 성공을 위한 첫걸음 먼저 조직 내의 문화를 이해한 다음, 조직 내 교육과 커뮤니케이션을 강화하는 것이 중요한데요. 구체적인 방안을 제안한다면 다음과 같습니다. 로테이션 프로그램 도입 진정한 데브옵스를 실현하려면, 무엇보다 각 부서의 업무적인 이해가 중요합니다. 가장 직관적인 방법으로는 다른 부서의 업무를 '직접 체험'해 보는 것입니다. 예를 든다면 개발자가 운영팀의 업무를 수행하거나, 보안 팀이 개발 업무에 참여하는 등, 다양한 부서 간의 경험을 쌓아 보는 것이죠. 이를 통해 서로의 업무 환경과 각 부서 간의 역할을 이해하는 데 큰 도움을 받을 수 있습니다. 지식 공유 플랫폼 구축 내부 플랫폼이나 문서화된 지식 공유 시스템을 구축하는 방법도 있습니다. 각 부서의 업무와 프로세스에 대한 정보를 쉽게 접근할 수 있도록 하는 것이죠. 예를 들면 데브옵스 문화나 기술적인 도구, 프로세스 등을 포함하여 다양한 지식을 공유합니다. 이를 통해 각 부서의 업무 특성을 명확히 이해할 수 있고, 협업을 원활하게 진행할 수 있겠죠. 정기적인 교육 세션 빠르게 변화하는 기술에 대응하기 위해, 팀원들이 지속적으로 학습하고 발전해야 합니다. 정기적인 교육은 이러한 학습을 지원하는 데 중요한 역할을 하는데요. 예를 든다면 새로 도입된 CI/CD 도구에 대한 워크숍을 개최하여, 팀원들이 해당 도구의 사용법과 이점을 학습할 수 있도록 합니다. 또한 현재 사용 중인 프로세스 개선점에 대한 세션을 주기적으로 열어, 팀원들이 학습한 내용을 바탕으로 업무에 효율적으로 적용할 수 있습니다. 만약 특정 분야에 강점을 가진 팀원이 있어 주기적으로 자신의 경험과 성과를 공유한다면, 팀 전체에게 영감을 주고 학습 기회를 제공할 수도 있겠죠. 스탠드 업 미팅 활성화 매일 정해진 시간에 각 팀원이 자신의 진행 상황이나 이슈, 계획을 간결하게 공유합니다. 정해진 시간을 지키고 효율적인 미팅 진행을 위해, 공유하는 팀원들의 말에 집중하되 '총 15분'을 초과하지 않도록 노력하는 것이 중요합니다. 이를 통해 짧은 시간 동안 팀 전체가 빠르게 현재 상황을 파악하고, 실시간으로 정보를 공유하며, 신속하게 문제를 해결할 수 있습니다. 이처럼 위와 같은 방법들을 통해 구성원들이 효과적으로 협력할 수 있는 환경을 조성하는 노력들이 필요합니다. 。。。。。。。。。。。。 많은 기업들이 경쟁에서 지지 않기 위해 도입하고 있는 데브옵스(DevOps). 하지만 진정한 데브옵스를 실현하기 위해서는 "싸우지 말고 소프트웨어 시스템 혹은 서비스를 만들어 봐요"라는 문장처럼 각각 다른 업무의 조직원들끼리 서로 이해하고, 협력하는 문화가 선행되는 것이 매우 중요합니다. 즉 너희 팀 vs 우리 팀 업무를 구분하지 않고 함께 협력하여, 아이디어를 생산하고, 가치를 창출해야 하는 것이죠. 혹시 아직 데브옵스를 도입하기 전이거나, 도입 이후에 올바르게 활용되고 있는지 궁금하시다면, 오늘 이 글을 통해 심도 있게 생각해 보시는 건 어떨까요?
2024.02.14
다음 슬라이드 보기