본문 바로가기

MuleSoft/개념

Mulesoft - Anypoint Platform 이란?

[ Mulesoft 소개 영상 ]

 

https://www.youtube.com/watch?v=jKMwe92_vvs 

Mulesoft 소개 영상

 

 

[ MuleSoft 사용이유 ]

기술이 발전하면서 오늘날 기업들은 약 900개의 애플리케이션을 가지고 있고

그중 29%만이 서로 연결되어 있다고 한다.

작년 2020년 IT 프로젝트는 32% 증가할 것으로 예측되었으나 대다수의 IT팀은 10% 미만의 예산 증가를 보였고, 

이로 인해 각 회사의 IT팀이 혁신에 집중하지 못하게 되었으며

전 세계 IT 리더들을 대상으로 한 최근 연구에 따르면

대부분의 IT팀이 업무시간의 70%가 혁신에 투자하기보단 유지보수에 전념하고 있다고 한다.

 

고객의 요구가 빠르게 변화하고 있는 상황에서 

4차 산업혁명의 경쟁력을 유지하기 위해

기업들은 이제 SaaS 애플리케이션, 블록체인, AI, 클라우드 등 

수많은 기술을 구현해야 하는 상황에 놓이게 되었다.

 

즉, 기업들에게 디지털 트랜스포메이션은 매우 중요한 요소가 되었다.

 

고객들은 연결된 경험을 기대한다.

MuleSoftAPI ( Application Programming Interface )를 통해 

모든 애플리케이션, 데이터 및 장치를 쉽게 연결해 

조직의 변화와 혁신을 지원함으로써 이를 통합한다.

 

MuleSoft는 데이터를 쉽게 통합하여 고객에 대한 단일 뷰를 제공하고, 

비즈니스 프로세스를 자동화하며,

연결된 경험을 구축할 수 있도록 한다.

 

현대적인 API 주도 방식을 사용함으로써, 

각각의 통합은 재사용 가능한 블록이 된다.

재사용 가능한 프로세스를 최적화하는 이 프로세스를 통해

조직은 IT 제공을 가속화하고, 조직의 민첩성을 높이며, 규모에 맞는 혁신을 제공한다.

 

MuleSoft 출저

조사에 따르면 MuleSoft를 도입한 고객이

불과 3년 만에 445%의 ROI를 실현하고 개발자 시간을 90% 단축한 것으로 나타났다.

* ROI : 투자 대비 수익

 

 

 

[ Anypoint Platform ]

Mulesoft-Anypoint Platform

Anypoint PlatformMulesoft 에서 독자적으로 개발한 단일제품으로

API & 통합(Integration)을 동시에 설계, 개발 및 관리하기위한 엔터프라이저 플랫폼이다.

 

ESB/SOA , Pub/Sub , ETL , SaaS , API Management, B2B , IoT , Micro Service 등 이런 기능들을 하나의 플랫폼으로 만들어낸 제품이다.

 

Anypoint Platform는 어디서나 배포/운영이 가능하다.

예를들어 On-premise , Cloud 등 원하는 환경에 어디에든 Anypoint Platform를 deploy( 작동가능하게 배치)해서 실제 Integration(통합) 혹은 API를 관리하는 용도로 사용한다

 

 

 

 

[ Anypoint Platform 화면 구성 ]

Anypoint Platform 화면 구성

보통 1 Design Center , 1 Mgmt Center ,1 Runtime 이라고 부르는데 

 

- Design ( Design Center ) : 빠른 개발

- Engage ( Exchange ) : 만들어진 API Integration 관련하여 협업과 셀프서비스 가능

- Manage ( Management Center )가시성 및 제어를 통한 운영관리

 

- Run : 런타임

- Scale : 런타임하며 확장성 관련

 

- 여러 실행 환경 : On-premises & private cloud , Hybrid , Hosted by MuleSoft , Cloud service provider (Iaas)

 

 

 

 

[ Mule Runtime Engine ]

통합 및 API를위한 범용 런타임 엔진

Mule Runtime Engine 은 Service Oriented Architecture , API-led Connetivity , Batch , Pub-Sub , Real Time , Data Orchestration 를 모두 포함하는 하나의 통합된 런타임 엔진이다.

Mule Runtime Engine은 오픈형 아키텍처로써 얼마든 확장이 가능하며 모든 시스템과 열결이 가능하다.

또한 이벤트 중심 런타임을 지원하므로써 실시간 및 배치실행을 지원한다.

 

 

 

 

[ Anypoint Platform LifeCycle ]

 

보통 Integration 이나 API의 Life Cycle 를 정할 때 

디자인 (Design) , 개발 ( Dev & Test ), Deploy (배포) , Orperate 가 있고 이걸 아우루는 Engage가 있는데 이 모든것을 Anypoint Platform에서 제공하고있다.

Life Cycle

 

 

 

[ Deployment Options (배포 옵션) 3 가지 ]

Deployment Options

1. Standalone Mule Install ( 일반 서버 환경 )

: 일반적인 서버환경으로 EAI, SOA, API G/W 를 사용하듯이 데이터 센터에 독자적인 서버를 구축하고 

그 서버 위에 Mule를 설치한 뒤 Mule를 기반해서 생성된 애플리케이션을 운영하는 환경

2. Runtime Fabric ( 컨테이너 환경 ) 

: Docker 나 Kubernetes같은  컨테이너 환경 위에 Runtime Fabric 사용하여 Mule를 사용한다. 

3. CloudHub ( Cloud 환경 -> MuleSoft에서 독자적으로 RunTime를 구성해서 제공하는 환경 )

: Worker cloud 환경에 서버가 설치되어있고 그 서버에 Mule를 설치하여 사용한다. 고객은 VM , OS, JVM 를 신경 쓰지 않고 고객이 직접 생성한 Integration 또는 API를 Deploy해서 바로 사용할 수 있도록 제공한다.

 

 

 

[ CloudHub ]

MuleSoft가 직접 관리하고 있는  Runtime Engine  이다. 

CloudHub는 클라우드 및 엔터프라이즈 내에서 애플리케이션을 통합 할 수 있는 일련의 서비스 및 기능을 제공한다. 

 

 

Fully managed, fully hosted Mulesoft integration Paas
완전 관리형, 완전 호스팅형 Mulesoft 통합 Paas


Multi-tenancy for applications and workers improves efficiency
애플리케이션 및 작업자를 위한 멀티 테넌시로 효율성 향상

Globally distributed architecture delivers 99.99% uptime
전 세계적으로 분산된 아키텍처로 99.99% 가동 시간 제공


Cloud security and compliance available out of the box
즉시 사용 가능한 클라우드 보안 및 규정 준수


Control access based on complex organizational requirements

복잡한 조직 요구 사항에 따라 액세스 제어

 

 

 

[ CloudHub Architecture ]

CloudHub Architecture

CloudHub에는 Platform ServiceWorker Cloud라는 두 가지 주요 구성 요소가 포함됩니다.

이 두 구성 요소와 이에 액세스하는 Runtime Manager Console

Integration Application(통합 애플리케이션)을 실행하기 위해 함께 작동합니다.

 

CloudHub의 애플리케이션은 작업이라는 하나 이상의 인스턴스에서 실행됩니다.

각 작업자는 Mule 애플리케이션을 실행하는 Anypoint platform JVM의 전용 인스턴스입니다.

1. Management Console ( 보통 Dashboard라고 불린다. )

2. Platform Service

: 로그관리, 워크클라우드관리, 스케줄러, 어플리케이션사용하는 데이터를 저장하는 플랫폼 서비스가 있다.

3. Worker Cloud

Management Console을 통해서 실제 Worker Cloud를 사용한다.

Worker Cloud는 실제 런타임이 돌아가는 곳으로

Worker Cloud에서 개발했던 Integration 또는 API 관련된 내용들이 실행 될 수 있도록 한다.  

 

 

 

[ Mule Runtime Agent ]

Runtime Agent는 On-premise Worker 또는 CloudHub Worker와 Management plane(관리 영역) 간의 통신을 가능하게 합니다.

 

Runtime Agent는 크게 두가지로 나뉜다.

 

On-premises Worker VS CloudHub Worker

1. On-premises Worker

VM , OS, JVM 를 설치하고 그 위에 Mule Runtime 등이 올라간다.

단점은 VM , OS, JVM은 고객이 직접 관리해야 된다.

2. CloudHub Worker

VM , OS, JVM 를 설치없이 CloudHub를 사용하므로써  Mulesoft가 직접 VM, OS, JVM 등 필요요소들을 관리해주므로 관리요소가 줄어든다.

 

 

 

 

[ VPC 가상 프라이빗 클라우드 개요 ]

 

VPC ( Virtual Private Cloud )가상 프라이빗 클라우드를 뜻하는데 AWS에서 기본적으로 호스팅이 되고 있다.

MuleSoft 는 AWS의 IaaS를 기본적으로 사용하여 CloudHub를 구성하고 있고

- 그 CloudHub 안에는 Worker Cloud가 배치되어있다. Worker Cloud는 이 네트워크 세그먼트에 배치되고 고객이 결정한 주소 공간 내에 내부 IP 주소를 할당 한다.

- 고객의 데이터 센터 또는 개인 AWS VPC 중 하나에 연결해서 사용할 수 있게 제공하고 있다. 

- VPC는 여러 환경과 연결될 수 있다.

- VPC는 여러 피어(연결)를 지원한다.

 

 

 

 

[ CloudHub VPC 환경 두가지 ]

CloudHub는 크게 두가지가 있다

1. Mule Shared VPC ( 개발을 위한 환경 ) 

: Shared 된 환경을 사용한다. (비용이 저렴하다.)

Mule Shared VPC ( 개발을 위한 환경 )

2. CloudHub with private VPC ( RunTime 환경)

: Shared된 환경과 다르게 Custom Worker Cloud를 생성하고 고객에 맞는 어플리케이션을 deploy하고 고객의 데이터센터와도 연결할 수 있게 제공하고

고객의 데이터센터와 연결할 때는 방화벽과 함께 IPSec (VPN) , AWS Peering , Direct Connect 를 통해서 데이터센터와 직접 연결해서 사용할 수 있도록 제공한다.

CloudHub with private VPC ( RunTime 환경)

* 위 이미지에서 IPSec (VPN) , AWS Peering , Direct Connect 하단에 주소를 보면 

cloudhub.io 라고 적힌 부분을 보시면 Mule에서 제공해주는 CloudHub 환경에 대한 URL이고 유니크하게 유지가 되어야 한다. 

 

 

 

[ 참고 자료 ]

https://www.youtube.com/watch?v=3xWKs1Q4F48&list=PLwDkE0LEAzzGbzqF_8gr1tXA3igEdQswM&index=7 

https://blog.naver.com/i2maxi2/222363953323