**This post was updated on September 26, 2018.**
If you Google the term “agile integration,” you’ll come up with about 30 million results, but they focus heavily on one area: continuous integration within agile development. That definition of agile integration is based on the build environment.
However, it is possible to have another definition for “agile integration,” one that looks at the platform architecture.
In this definition, “agile” doesn’t relate to the process or the infrastructure, but to the flexibility and adaptability--the agility--of the application architecture. Integration within this context has a more strategic role, as the architectural framework that defines the interoperability of services and with a focus on the application functionality.
Check out this e-book to learn more about Agile Integration: The Blueprint for enterprise architecture.
Traditional vs. agile as an architectural approach
There are functional similarities between traditional integration and agile integration - like routing, connectivity, and orchestration capabilities. The difference between traditional enterprise application integration and agile integration is not in the tasks performed, but in the strategic perspective of those tasks. Put simply, integration can be viewed as a necessary but often limited part of the infrastructure (traditional) or it could be viewed as the core framework of the application architecture (agile).
The problem that traditional integration tried to solve was how to funnel data from one application to another siloed application. With a traditional integration approach, integration through something like an enterprise service bus (ESB) simply provided a hub where service data could be mutually accessed by applications. This provided a way for applications to coexist independently, but the application design lay within those large-scale applications.
Integration in the traditional approach is a way of gluing those separate applications together in a way (generally) that let them share or reuse data, and this often led to centralized ESB type architectures and deployments. It treated integration as a component of the infrastructure.
Modern applications, though, are moving away from large-scale, monolithic architectures to more loosely coupled architectures. Microservices break application functionality into small, independent services. That means there are no clear pathways between applications or centralized points where applications can transfer data, like when ESBs were the integration strategy. Rather, in a modern architecture, there have to be flexible ways for services to communicate with each other in ways that allow for elastic scalability―the ability to add (or drop) service functionality. The services are decentralized.
For agile development, the idea is to break applications (at least conceptually) along feature or functionality lines. The development cycle is in a brief, iterative sprint that creates a complete set of functionality for a specific set of tasks and then moves onto the next iteration. This development approach complements a microservices architecture naturally because microservices are small and discrete, with an explicit function and service boundaries.
Trying to use a traditional integration approach would fail because the service architecture itself is decentralized, while centralized ESBs assume a more rigid infrastructure with clear relationships between applications and well-established pathways for data transfers.
Agile integration is the approach that allows those microservices to be dropped into the architecture seamlessly or to be removed or updated without disrupting other services. Routing, orchestration, messaging, or data services are the points where a new service interacts with the environment. This is an application or service level perspective of integration.
Three pillars of agile integration
We define three core capabilities of agile integration, which work together to create an overall integration strategy:
- Distributed integration
- APIs
- Containers
Each of these hits a different aspect of agility and integration for both the infrastructure and for applications.
Distributed integration: Flexibility to adapt
Distributed integration is lightweight and API-based. Traditional integrations are centralized, but a distributed integration means functionality can be deployed where required and scaled as needed. Distributed integration is easier to include in applications or as part of microservices architectures. Red Hat Fuse provides distributed integration through a variety of connectors for different services and messaging.
APIs: Connect and manage efficiently
APIs provide an interface that allows users (internal or external) to connect to your business assets. This lets businesses extend their knowledge assets and maximize their business value. APIs also reduce the complexity of integration and improve collaboration.
Managing, securing, metering and analyzing API usage is critical to provide more competitive digital services. Create and connect APIs using Red Hat Fuse and manage APIs using Red Hat 3scale API Management.
Containers: Scale with demand
Containers can be used to develop, deploy, manage, and scale applications. Because containers use image catalogs for repeatability and can be managed programmatically, they provide a platform for continuous development and deployment. Containerized applications can be deployed in hybrid environments, on premise, or in private or public clouds. A container platform can orchestrate all of those applications automatically, which means containers are fundamental to microservices architecture.
Red Hat OpenShift Container Platform provides a container platform that handles orchestration and centralized management functions like monitoring and logging.
Read more
This post just touches on the concept of agile integration. The whitepaper covers a lot more on the concepts and technology for agile integration. Learn more about agile integration, and check out this e-book on Agile Integration: The Blueprint for enterprise architecture.
저자 소개
Deon Ballard is a product marketing manager focusing on customer experience, adoption, and renewals for Red Hat Enterprise Linux. Red Hat Enterprise Linux is the foundation for open hybrid cloud. In previous roles at Red Hat, Ballard has been a technical writer, doc lead, and content strategist for technical documentation, specializing in security technologies such as NSS, LDAP, certificate management, and authentication / authorization, as well as cloud and management. She also wrote and edited the Middleware Blog for Red Hat and led portfolio solution marketing for integration and business automation.
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
오리지널 쇼
엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리
제품
- Red Hat Enterprise Linux
- Red Hat OpenShift Enterprise
- Red Hat Ansible Automation Platform
- 클라우드 서비스
- 모든 제품 보기
툴
체험, 구매 & 영업
커뮤니케이션
Red Hat 소개
Red Hat은 Linux, 클라우드, 컨테이너, 쿠버네티스 등을 포함한 글로벌 엔터프라이즈 오픈소스 솔루션 공급업체입니다. Red Hat은 코어 데이터센터에서 네트워크 엣지에 이르기까지 다양한 플랫폼과 환경에서 기업의 업무 편의성을 높여 주는 강화된 기능의 솔루션을 제공합니다.