Jump to section

엔터프라이즈 통합 이해

URL 복사

애플리케이션과 데이터 통합은 새로운 고객 경험과 서비스를 제공하기 위한 기반입니다.일반적으로 하나의 팀이 전체 엔터프라이즈에 대한 모놀리식 통합 기술을 관리하지만 애플리케이션이 분산되면서 복잡성이 더욱 가중되고 있습니다. 따라서 시장 경쟁력을 유지하려면 신속하게 확장하고 변경해야 합니다. 이처럼 새로운 과제를 해결하려면 클라우드 네이티브 통합 기술과 애자일 팀에 기반한 반복적인 접근 방식이 필요합니다.

Illustration

Red Hat 애자일 인테그레이션 기술 개요

모든 현대적인 비즈니스에서는 데이터를 공유해야 합니다. 빅데이터를 활용하려는 대규모 비즈니스라면 빅데이터는 통합의 문제라는 것을 알고 계실 것입니다. 이를 위해 비즈니스 전략의 핵심인 애플리케이션과 기기는 여러 클라우드 환경 전반에 걸쳐 서로 쉽게 액세스할 수 있어야 합니다. 엔터프라이즈 통합은 IT 조직의 모든 위치에서 데이터, 애플리케이션 및 기기를 연결하는 기술, 프로세스, 팀 구조를 모두 포함합니다.

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

"통합"의 대상이란?

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

 

 

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

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

메시징

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

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

애플리케이션 커넥터

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

데이터 스트림

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

엔터프라이즈 통합 패턴

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

애플리케이션 프로그래밍 인터페이스(API)

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

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

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

 

 

 

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

DevOps

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

컨테이너

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

마이크로서비스

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

API

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

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

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

Red Hat Application Services 포트폴리오 살펴보기

Red Hat Integration은 Red Hat Application Services 포트폴리오의 제품 그룹 3개 중 하나입니다. Red Hat Integration을 통해 개발자는 하이브리드 아키텍처 전반에서 애플리케이션을 다양한 내부 및 외부 시스템에 통합할 수 있습니다.

추가 자료

문서

통합이란?

통합에 대해 알고 싶으신가요? 통합의 정의와 통합 방법, 오픈소스로 통합하는 것이 훨씬 효율적인 이유 등을 알아보세요.

문서

Apache Kafka란 무엇일까요?

Apache Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다.

문서

API란?

API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트인 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 뜻합니다.

통합에 대한 자세한 내용

제품

배포 및 애플리케이션 개발을 가속화합니다.

비즈니스를 혁신하고 끊임없이 변화하는 시장의 요구 사항을 충족하세요.

하이브리드 클라우드 경험을 간편화하고 클라우드 네이티브 애플리케이션 배포의 운영 비용과 복잡성을 줄입니다.

리소스

E-book

애자일 인프라의 생성과 기업의 적응력 향상

교육

무료 교육 과정

Red Hat 애자일 인테그레이션 기술 개요