토픽

엔터프라이즈 통합의 이해

애플리케이션과 데이터 통합은 새로운 고객 환경과 서비스를 제공하기 위한 기반입니다.일반적으로 하나의 팀이 전체 엔터프라이즈에 대한 모놀리식(monolithic) 통합 기술을 관리하지만 애플리케이션의 복잡성은 더욱 가중됩니다. 이들 애플리케이션은 분산되어 있으며 신속하게 확장 및 변경하여 시장 경쟁력을 유지해야 합니다. 이러한 새로운 과제는 클라우드 네이티브 통합 기술과 민첩한 팀에 기반한 반복적인 접근 방식을 요구합니다.

엔터프라이즈 통합이란?

모든 현대적인 비즈니스에서는 데이터를 공유해야 합니다. 이를 위해 비즈니스 전략의 핵심인 애플리케이션과 기기는 멀티플 클라우드 환경 전반에 걸쳐 서로 액세스가 용이해야 합니다. 엔터프라이즈 통합은 IT 조직의 모든 위치에서 데이터, 애플리케이션 및 기기를 연결하는 기술, 프로세스, 팀 구조를 모두 포함합니다.

엔터프라이즈 통합 모델은 상대적으로 적은 수의 포인트 투 포인트 연결에서 엔터프라이즈 서비스 버스(ESB)를 통해 연결된 중앙집중식 모델과 재사용 가능한 수많은 엔드포인트로 분산된 아키텍처로 수년에 걸쳐 진화해 왔습니다.

엔터프라이즈 통합의 "대상"과 "방식"

"통합"의 대상이란?

첫째로, 엔터프라이즈 통합은 데이터 통합의 문제입니다. 현재 조직 내에 많은 데이터가 존재하며 이러한 "빅데이터"는 대체로 데이터 소스의 규모 및 다양성을 나타냅니다. 다양한 비표준 형식의 대규모 데이터는 중요한 비즈니스 가치가 될 수 있지만 멀티플 소스 또는 애플리케이션으로부터 통합하는 것이 우선입니다. IoT(사물 인터넷)는 일상적으로 사용하는 기기를 통해 고객과 연결하고 유용한 데이터를 분석하는 새로운 기회를 의미하기도 하지만, 데이터센터로 이동해야 하는 중요 데이터를 필터링해야 합니다. 웹 애플리케이션은 레거시 애플리케이션을 마이크로서비스 같은 서비스 기반 아키텍처와 통합해야 할 때 엔터프라이즈 통합에 복잡성을 가중시킵니다.

"애플리케이션, 기기 및 데이터 통합"의 방식이란?

과거에는 중앙화된 팀에서 관리하는 중앙집중식 ESB가 사용자 환경의 모든 엔드포인트를 연결할 수 있었습니다. 그러나 팀과 기술에 대한 중앙집중식 접근 방식은 현대적인 시스템에 병목 현상을 초래할 수 있으며 여기에는 분산된 구성 요소를 통합하기 위해 빠르고 간편한 경로가 필요합니다. 데이터 및 서비스 요구 사항에 따라 메시징, 애플리케이션 커넥터, 데이터 스트림, 엔터프라이즈 통합 패턴, 애플리케이션 프로그래밍 인터페이스(API)의 결합을 보다 신속하고 반복적으로 배포할 수 있으므로 현대적인 애플리케이션 개발에 보다 적합한 방식이 됩니다.

메시징은 분산형 애플리케이션 아키텍처 내의 다양한 구성 요소를 위한 커뮤니케이션 방식입니다. 구성 요소는 커뮤니케이션의 일반적인 메시징 형식 및 프로토콜을 이해하는 한 다양한 언어, 컴파일러, 운영 체제에 걸쳐 메시지를 송수신합니다.

마이크로서비스 아키텍처 내에서 메시지를 라우팅하는 데에는 서비스 메쉬가 사용됩니다.

애플리케이션 커넥터는 구성 요소들이 상호작용하는 방식을 통제하는 룰을 모델링하는 아키텍처 요소입니다. 특정 API에 대해 커스터마이징된 표준 클래스 연결인 애플리케이션 커넥터를 사용하면 새로운 엔드포인트를 신속하게 통합할 수 있습니다.

데이터 스트림은 애플리케이션이 데이터 전송과는 별도로 추가하거나 사용할 수 있는 지속적인 정보의 흐름을 제공합니다. 예를 들어, Apache Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다.

엔터프라이즈 통합 패턴(EIP)은 일반적인 통합 문제에 대해 기술 독립적인 솔루션 컬렉션입니다. 이러한 패턴은 개발자들과 애플리케이션 아키텍트들이 통합을 설명할 수 있는 공통의 언어를 제공합니다.

API는 애플리케이션 소프트웨어를 구축하는 툴, 정의, 프로토콜의 세트로, API를 사용하면 구현 방식을 알지 못해도 제품 또는 서비스가 서로 커뮤니케이션할 수 있습니다.

애자일 인테그레이션이란?

Red Hat은 중앙화된 팀이 모놀리식 기술을 제어하는 통합에 대한 전통적인 접근 방식은 분산형 애플리케이션의 개발 및 장기적인 유용성을 저해할 수 있다고 생각합니다. ESB 같은 전통적인 통합 기술은 보안과 데이터 무결성을 우선시 하는 이점이 있지만, 동시에 전체 엔터프라이즈 통합에 대한 정의를 단일 팀에 의존한다는 한계도 있습니다.

애자일 및 DevOps 방법론을 통해 개발된 현대의 탄력적으로 결합된 클라우드 네이티브 애플리케이션 아키텍처는 민첩성과 확장성을 동등하게 중요시하는 통합 접근 방식을 필요로 합니다. Red Hat의 애자일 통합은 리소스를 연결하는 접근 방식으로, 통합 기술, 애자일 제공 기술 및 클라우드 네이티브 플랫폼을 결합하여 소프트웨어 제공 속도를 높이고 보안을 강화합니다. 특히 애자일 통합에서는 API 같은 통합 기술을 Linux 컨테이너로 배포하고 통합 역할을 다기능팀(Cross-Functional Team)으로 확장합니다.

클라우드 네이티브 아키텍처에서의 통합

클라우드 네이티브 애플리케이션은 독립적이고 유연하게 결합된 소규모의 마이크로서비스 컬렉션으로, Linux 컨테이너 형태로 배포되고, API 또는 메시징을 통해 연결됩니다. 각 서비스는 비즈니스 역량을 구현하고, 소규모 팀에서 CI(Continuous Integration)와 CD(Continuous Delivery) 같은 DevOps 워크플로우를 사용하여 개발됩니다. 이를 통해 서비스를 신속하게 구축하고 자동 배포하며 정기적으로 업데이트할 수 있기 때문에 더 이상의 워터폴(Waterfall) 개발 주기는 필요가 없습니다.

DevOps

DevOps는 향상된 비즈니스 가치와 대응력을 제공하기 위한 문화, 자동화, 플랫폼 설계에 대한 접근 방식입니다.

컨테이너

컨테이너를 사용하면 전체 런타임 환경을 활용하여 애플리케이션을 패키징하고 격리할 수 있으므로 여러 환경 사이에서 애플리케이션을 쉽게 이동하면서 전체 기능을 유지할 수 있습니다.

마이크로서비스

마이크로서비스 아키텍처는 애플리케이션을 서로 독립적인 최소 규모의 구성요소로 분해합니다.

API

API는 애플리케이션 소프트웨어를 구축하는 툴, 정의, 프로토콜의 세트로, 구현 방식을 알지 못해도 제품과 서비스를 연결해 줍니다.

클라우드 네이티브 애플리케이션은 사용자 피드백을 신속하게 통합하여 지속적으로 개선할 수 있는 능력과 같은 비즈니스 가치를 제공할 수 있도록 설계되었습니다. 다시 말해, 클라우드 네이티브 애플리케이션 개발은 새로운 애플리케이션을 구축하고, 기존 애플리케이션을 최적화하고, 모든 환경을 연결하는 작업을 가속화할 수 있는 방법입니다.

클라우드 네이티브 애플리케이션은 분산되어 있기 때문에 전통적인 모놀리식 애플리케이션에 비해 고유한 통합 과제입니다. 애자일 통합은 애플리케이션 요구 사항과 통합에 대한 비즈니스 요구를 결합하므로 부분적으로 클라우드 네이티브 개발을 지원합니다.

애자일 통합을 위해 필요한 기반

통합 전문가, 애플리케이션 개발자, 비즈니스 사용자가 커넥티드 솔루션을 독립적으로 개발 및 협업하는 것을 지원하고 기업의 인프라를 연결하는 분산형 통합 플랫폼입니다.

내부 또는 외부 사용자를 위해 API를 간편하게 공유, 보안, 배포, 제어, 수익화할 수 있는 플랫폼입니다.

실시간 통합 지원 및 IoT(사물 인터넷) 연결을 구현하여 정보를 안정적으로 제공하는 고성능의 유연한 공간 절약형 메시징 플랫폼입니다.

통합의 더 큰 가능성을 살펴보세요