디지털 기업들의 기술 선택 ‘이벤트 중심 아키텍처(Event-Driven Architecture)’
상태바
디지털 기업들의 기술 선택 ‘이벤트 중심 아키텍처(Event-Driven Architecture)’
  • 투이컨설팅
  • 승인 2017.11.06 09:42
  • 조회수 7276
  • 댓글 0
이 콘텐츠를 공유합니다

투이컨설팅 신창섭 이사



대규모 정보시스템 구축 프로젝트에서 유연한 시스템 구축은 늘 중요한 목표 중 하나였다비즈니스 환경 변화에 대한 빠른 대응과 플랫폼 생태계 확장 경쟁에서 우위를 점하기 위해서 새로운 기능 추가와 변경에 기민하게 대응할 수 있는 IT기술구조 확보는 최근 디지털 기업들에게 더욱 중요한 목표가 되고 있다.

 

이러한 관점에서 이벤트 중심 아키텍처(EDA, Event-Driven Architecture)가 최근에 각광받고 있다모든 것이 디지털화 되어 순식간에 지나쳐버릴 수 있는 비즈니스의 중요한 순간(Event)을 어떻게 대응하고 차별화 하느냐가 디지털 기업의 경쟁력이 되고차별화를 위해서 새롭게 추가하기로 한 신규 서비스를 IT부서가 얼마나 빠르게 제공할 수 있는가가 기업의 역량이 되기 때문이다.

 


이벤트 중심 아키텍처(EDA, Event-Driven Architecture)’란 무엇인가?


외부(또는 내부)에서 발생하는 중요한 상태변경(예를 들어 마우스가 클릭되는 등)을 캡처하는 이벤트 수신모듈과 이벤트에 대응하는 처리모듈을 분리하고 상호 독립적으로 동작하게 함으로써 새로운 기능의 추가를 용이하게 만들고 병렬처리를 촉진하는 이벤트 중심 아키텍처는 이미 윈도우 등 OS에서는 오랫동안 사용되어 온 기술이다.


이벤트 중심 아키텍처의 손쉬운 예로 우리가 커피 주문 시에 받는 진동 벨을 생각하면 된다


커피주문 이벤트가 발생하면 이를 주문목록에 쌓아두고 손님에게는 진동벨을바리스터에게는 주문지를 전달하고 바리스터가 커피추출을 완료하면 다시 커피추출 완료 이벤트가 발생하고 손님의 진동벨을 울려 손님이 커피를 가져가게 된다.


이러한 처리방식은 순차적 처리(한사람씩 주문받고 커피 뽑고 포장하고 손님에게 주는 방식)에 비해 월등하게 효율적이다또한 새로운 처리모듈이 추가(예를 들어 생일자에게 케잌 제공되어도 기존 시스템에 미치는 영향을 최소화 한다.


기업용 환경에서 쓰이는 이벤트 중심 아키텍처에서는 추가적으로 이벤트 소싱(Event Sourcing)이라는 개념이 적용되고 있다이벤트 소싱은 애플리케이션의 모든 상태변화를 순서대로 이벤트로 보관하여 처리하는 개념이다이렇게 모든 상태를 이벤트의 흐름으로 처리함으로써 애플리케이션 개발을 간소화하고 분산환경에 적절히 대응할 수 있다최근에는 이에 덧붙여 인공지능 분석 기술을 이벤트 소싱에 적용하여 이벤트 자체를 분석하여 의미 있는 정보를 뽑아 비즈니스에 활용하고 있다.



엔터프라이즈 환경에서 이벤트 중심 아키텍처(EDA)’ 확산 이유는 무엇인가?


엔터프라이즈 기업 환경의 IT시스템은 오랫동안 프로세스 중심으로 최적화 되어온 수작업 업무를 전산화 하는 관점에서 발전해 왔다이 과정에서 자연스럽게 채택된 아키텍처가 호출 기반 아키텍처(Request-Driven Architecture)가장 일반적으로 많이 쓰이고 있는 스프링 기반 프레임워크(전자정부 프레임워크 및 대부분의 차세대 시스템 구축에 사용됨)가 대표적이다.

Event-Driven Model.png

위 그림(왼쪽)과 같이 호출 기반 모델(Request-Driven Model)은 서비스(또는 모듈)의 교체시 영향을 미치는 요소가 많아질 수 밖에 없다물론 CBD, SOA 등 부품화 기술을 통해 그 영향도를 최소화 하려는 노력이 있었지만 근본적인 해결점이 되지는 못했다.


반면에 위 그림 오른편에 있는 이벤트 중심 모델(Event-Driven Model)은 이벤트 브로커(Event Broker)가 이벤트 수신모듈과 처리모듈의 메신저 역할을 수행함으로써 상호 영향을 줄이고 이벤트 핸들러(처리모듈)들은 병렬로 처리될 수 있다.


EDA 유행의 계기는 경량 프레임워크인 Node.js의 확산에 힘입은 바가 크다타 프레임워크에 비해 개발생산성이 높고 성능이 좋은 Node.js가 채택하고 있는 기본 아키텍처가 이벤트 중심 아키텍처이다최근 국내에서 가장 많이 활용되고 있는 스프링 프레임워크 등도 이러한 트렌드를 따라가고 있다.

이러한 이벤트 중심 아키텍처는 최근 디지털 비즈니스 환경과 절묘하게 시너지가 만들어진다디지털 비즈니스 환경에서는 전산화의 대상이 고객과 생태계로 확장되어야 하며(또는 디지털로 변화되어 있으며이 영역은 정해진 절차대로 통제할 수 없다오히려 그 안에서 일어나는 이벤트에 주목하여 그 찰나의 시점에 다른 기업과 차별화된 대응을 하는 것이 중요하다당연히 프로세스의 변화와 프로그램의 변화가 빈번하게 일어날 수 밖에 없다.



이벤트 중심 아키텍처(EDA)’의 이점

 

EDA는 기술적인 측면과 비즈니스적인 측면에서 다음과 같은 이점을 제공한다.


[기술적인 측면]

- 모듈간 의존성을 낮춰 독립적인 서비스(프로그램)를 구성하고 이를 관리(개발배포운영)하기 용이해진다.

- 도커(배포를 위한 기술)등과 결합하여 DevOps 환경을 만드는 것이 용이해진다.

각 서비스를 독립된 단위(예시마이크로 서비스)로 개발배포운영할 수 있어 클라우드 환경 등에서 손쉽게 규모 확장이 가능하다.


[비즈니스 측면]

이벤트에 대응하는 서비스의 컨버전스를 통해 새로운 비즈니스 기회를 창출할 수 있으며 현재 데이터 및 광범위한 컨텍스트 데이터뿐만 아니라 해당 이벤트의 실시간 분석을 통해 의사 결정에 영향을 미치고 성공적인 비즈니스 성과를 창출할 수 있다.

 


Monzo Bank 사례


수억 명의 고객을 대상으로 하는 은행을 만들겠다는 야망을 가지고 2015년에 설립된 영국의 챌린저 뱅크 중 하나인 Monzo 은행은 연중 무휴 항상 접속 가능하며몇 달이 아니라 몇 시간만에 새로운 기능을 출시하고자 하는 목표로 일일 배치 프로세스나단일 실패 지점(Single point of failure: 시스템 구성 요소 중에서동작하지 않으면 전체 시스템이 중단되는 요소및 유지 관리 기간이 따로 필요 없는 시스템을 만들었다이를 위해 전체 시스템 기술 구조를 EDA 기반으로 구축하고 아마존 퍼블릭 클라우드 환경에서 운영하고 있다.

Monzo 베타 버전을 출시했을 때 백엔드는 거의 100 개 서비스(현재 약 150 )가 운영 중이었지만 각 팀들은 다른 팀과의 변경 사항을 조정하지 않고도 자체 개발배포 및 확장을 제어가 가능했다소프트웨어와 마찬가지로 개발 프로세스도 분산하고 분리되어 있다는 의미이다.


최근 Monzo Bank에서 기계학습 모델을 이벤트 정보에 적용하여 효과를 본 사례는 더욱 흥미롭다고객 지원 팀에 문의를 하기 전에 고객이 앱을 탐색하는 동안의 암묵적인 정보(약 200여건의 이벤트 정보)를 활용하여 고객의 문의내용에 적합한 정보를 53%의 정확도로 찾아낸다(미리 범주화 시켜둔 50여개의 고객지원 서비스 정보를 상위 3가지 범주 내에서 찾아낸다). 이를 통해 자동으로 해당 도움말 페이지로 안내할 수 있고 이를 통해 커버하지 못하는 경우만을 상담으로 연결하도록 하고 있다.


또 다른 활용 사례는 가입 과정에서 고객이 취하는 행동으로 계정이 사기성인지 여부를 예측하는 것인데해당 고객이 가입시점에 앱 또는 홈페이지에서 발생시킨 이벤트의 AI 분석을 통해 사기성 사건의 40%를 탐지할 수 있다고 한다.

 


마치면서


가트너(Gartner) 2018년 기술 트렌드를 이끌 10대 전략 기술을 발표했다그 중에서도 “Event-Driven”이 눈길을 끈다디지털 비즈니스의 경쟁력은 이벤트를 감지하여 빠르고 적절하게 대응하는 능력에 달려 있다커넥티드 환경의 성숙으로 기업이 비즈니스 관점에서 의미 있는 상황을 즉시 감지할 수 있는 가능성이 더욱 커졌다또한 AI 기반 분석을 적용할 수 있게 되어 최적의 대응방안을 찾아내는 것도 가능하다우버가 운전자 수요와 공급 상황을 순간적으로 감지하여 실시간으로 가격을 제시하는 서지프라이싱(Surge Pricing)을 적용하고 있는 것이 좋은 사례이다Event-Driven Business’는 디지털 경제에서 모든 기업이 갖추어야 할 역량이 되고 있는 것이다.


Event-Driven Business’를 도입하기 위해서는 고객 접점으로부터 거래 처리데이터 분석반응 액션 기동 등의 과정이 틈새없이 이어져야 한다이는 특정 솔루션이나 컴포넌트의 기능으로 해결되지 않는다가트너는 10대 기술을 지능형(Intelligent), 디지털연계(Mesh) 등의 세가지 카테고리로 분류하고 있고Event-Driven’을 연계 카테고리로 분류한 이유이다.

IT관점에서 ‘Event-Driven’을 지원하기 위해서는 아키텍처 접근을 해야 한다기업은 디지털 비즈니스 전략의 일환으로 “Event-Driven” 접근을 해야 하고이를 효과적으로 다루고 대응할 수 있는 IT 구조를 만들 것인가 고민할 시점이다이벤트 중심 아키텍처(EDA)는 그 고민 해결의 출발점이다. 10여 년간 주로 변방에서 주목받던 EDA가 각광을 받을 시점이다.



 끝 -

 


※ 위 내용은 '투이톡' 모바일 앱을 통해서도 확인하실 수 있습니다.

하루 5분, 스마트해지는 시간~투이톡!!

앱 다운로드

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.