급격한 디지털 환경 변화와 함께 API 중심의 IT 아키텍처 설계는 물론 제품으로서의 API 가 성장하면서 API Gateway 를 포함하는 API 관리 솔루션이 보편화 되고 있습니다.
점점 대중화되어가고 있는 마이크로서비스 기반의 아키텍처에서 우리는 API Gateway 의 도입을 반드시 고려해야 할까요? 만약 그렇다면 API Gateway 가 주는 어떠한 이점들이 있기에 고려해야 할까요?
API Gateway는 기업 내부의 API 서비스와 접속하고 API 호출에 대한 인증, 정책 등 서비스 액세스 제어를 관장하여 중요한 데이터를 효과적으로 관리하고 보호하는 트래픽 관리자 입니다.
각각의 개별 API 서비스에서 구현해야 하는 기능을 API Gateway 로 통합함으로써 서비스 개발을 간편하게 할 수 있고, 트래픽 컨트롤이나 메시지 포맷 변경과 같은 고급 기능을 사용하여, 기존 API 호출에 추가적인 기능을 더할 수 있는 유연성을 제공하게 됩니다.
마이크로서비스에 대해서 현재까지 산업적인 의미에서 보편적으로 인정하는 공식적인 정의는 없습니다. 하지만 아래의 여러가지 목표를 이루기 위한 방법론이라는 데에는 큰 이견은 없을 것 같습니다.
• 마이크로서비스 아키텍처의 서비스들은 서로 독립적인 운영 및 배포가 가능하다.
• 각각의 개별적인 서비스들의 확장이나 교체가 수월하다.
• 각각의 서비스는 기능별로 분리나 분류가 가능하다.
• 서비스들은 규모가 작고 서로 간에 메세지 전달이 가능하며 최적의 조건에 부합하는 바에 따라 각기 다른 프로그래밍언어, 데이터베이스, 하드웨어, 소프트웨어 환경을 사용하여 구현할 수 있다.
마이크로서비스 기반의 아키텍처는 하나의 모놀리식 애플리케이션을 여러 개의 작고 독립적인 서비스로 재구성하는 설계 프로토타입이며 클라이언트 뿐만 아니라 각각의 서비스 간의 요청 처리를 가볍고 개발이 수월한 HTTP 등의 프로토콜을 이용하여 통신이 가능하여 확장성 좋은 애플리케이션을 신속하게 개발할 수 있습니다
- 마이크로서비스 아키텍처에서 API Gateway 사용시의 이점
내부의 정보나 문제가 외부 클라이언트에 노출되지 않도록 방지
API Gateway는 외부에 노출해야하는 API를 내부 마이크로 서비스 API와 분리하여 마이크로 서비스가 추가되고 경계가 명확하게 구분 될 수 있도록 도와줍니다. 그 결과 외부의 클라이언트(혹은 개발자)의 프로그램 수정이나 변경 작업 없이 내부의 마이크로 서비스를 리팩토링하고 조정할 수 있습니다.또한 모든 클라언트 입장에서는 서비스를 위한 단일 진입지점(엔트리포인트)을 제공하여 클라이언트로부터 완전한 서비스 노출이나 및 버전 정보를 숨길 수 있는 장점이 있습니다.
마이크로 서비스에 보안 계층 추가
API Gateway는 내부 API 서비스에게 SQL Injection, XML Parser Injection, DDoS 공격 등으로부터 추가적 보호할 수 있는 계층을 제공하여 악의적인 공격을 방지하는 데 도움이 됩니다.
다양한 통신 프로토콜 지원
외부 API는 일반적으로 HTTP나 REST 기반 API를 제공하지만, 내부 마이크로 서비스는 서로 상이한 통신 프로토콜을 사용하여 구성되어 있을 수 있습니다. API Gateway는 이러한 다양한 프로토콜을 변환하여 외부에는 REST 기반 API로 제공할 수 있어 마이크소서비스 개발팀에서 내부 아키텍처에 가장 알 맞는 방법을 적용할 수 있도록 지원합니다.
서비스 복잡성 감소
마이크로서비스에는 API 토큰을 이용한 권한부여, 엑세스제어. 트래픽제어 등과 같은 공통적인 기능을 처리해야 하는 로직이 포함되어 개발되어야 합니다. API Gateway 에게 이러한 공통 기능에 대한 부분은 위임을 하고 개발자는 각각의 마이크로 서비스 개발에 더 많은 집중을 할 수 있게함으로써 개발 생산성을 향상 시킬 수 있습니다.
서비스 가상화
내부의 마이크로 서비스를 외부에 오픈해야 하는 API 서비스로 분리하여 서비스를 구성하거나 가상화하여 설계 요구사항을 확인하거나 통합 테스트를 지원할 수 있습니다.
이데아텍의 독자적인 Non-Blocking 방식의 고성능 서비스 엔진을 탑재한 i-ONE API Gateway 는 다음과 같은 서비스를 제공해 드립니다.
• API 액세스를 위한 인증 및 권한부여
• 대용량 트랜잭션에 대한 정교한 서비스 라우팅 및 트래픽 제어
• GUI 기반의 간편한 API 등록 및 관리
• 오류 발생한 API 서비스 차단을 통한 장애 확산 방지
• 개발자를 위한 API 테스트 및 문서화 도구 제공
• 사용량 통계 분석 및 모니터링
• 오픈API 사용자를 위한 서비스 포털
#마이크로서비스 #API관리 #API라우팅 #트래픽분산 #개별서비스 #서비스가상화 #프로토콜분산 #APIGateway #이데아텍
급격한 디지털 환경 변화와 함께 API 중심의 IT 아키텍처 설계는 물론 제품으로서의 API 가 성장하면서 API Gateway 를 포함하는 API 관리 솔루션이 보편화 되고 있습니다.
점점 대중화되어가고 있는 마이크로서비스 기반의 아키텍처에서 우리는 API Gateway 의 도입을 반드시 고려해야 할까요? 만약 그렇다면 API Gateway 가 주는 어떠한 이점들이 있기에 고려해야 할까요?
API Gateway는 기업 내부의 API 서비스와 접속하고 API 호출에 대한 인증, 정책 등 서비스 액세스 제어를 관장하여 중요한 데이터를 효과적으로 관리하고 보호하는 트래픽 관리자 입니다.
각각의 개별 API 서비스에서 구현해야 하는 기능을 API Gateway 로 통합함으로써 서비스 개발을 간편하게 할 수 있고, 트래픽 컨트롤이나 메시지 포맷 변경과 같은 고급 기능을 사용하여, 기존 API 호출에 추가적인 기능을 더할 수 있는 유연성을 제공하게 됩니다.
마이크로서비스에 대해서 현재까지 산업적인 의미에서 보편적으로 인정하는 공식적인 정의는 없습니다. 하지만 아래의 여러가지 목표를 이루기 위한 방법론이라는 데에는 큰 이견은 없을 것 같습니다.
• 마이크로서비스 아키텍처의 서비스들은 서로 독립적인 운영 및 배포가 가능하다.
• 각각의 개별적인 서비스들의 확장이나 교체가 수월하다.
• 각각의 서비스는 기능별로 분리나 분류가 가능하다.
• 서비스들은 규모가 작고 서로 간에 메세지 전달이 가능하며 최적의 조건에 부합하는 바에 따라 각기 다른 프로그래밍언어, 데이터베이스, 하드웨어, 소프트웨어 환경을 사용하여 구현할 수 있다.
마이크로서비스 기반의 아키텍처는 하나의 모놀리식 애플리케이션을 여러 개의 작고 독립적인 서비스로 재구성하는 설계 프로토타입이며 클라이언트 뿐만 아니라 각각의 서비스 간의 요청 처리를 가볍고 개발이 수월한 HTTP 등의 프로토콜을 이용하여 통신이 가능하여 확장성 좋은 애플리케이션을 신속하게 개발할 수 있습니다
내부의 정보나 문제가 외부 클라이언트에 노출되지 않도록 방지
API Gateway는 외부에 노출해야하는 API를 내부 마이크로 서비스 API와 분리하여 마이크로 서비스가 추가되고 경계가 명확하게 구분 될 수 있도록 도와줍니다. 그 결과 외부의 클라이언트(혹은 개발자)의 프로그램 수정이나 변경 작업 없이 내부의 마이크로 서비스를 리팩토링하고 조정할 수 있습니다.또한 모든 클라언트 입장에서는 서비스를 위한 단일 진입지점(엔트리포인트)을 제공하여 클라이언트로부터 완전한 서비스 노출이나 및 버전 정보를 숨길 수 있는 장점이 있습니다.
마이크로 서비스에 보안 계층 추가
API Gateway는 내부 API 서비스에게 SQL Injection, XML Parser Injection, DDoS 공격 등으로부터 추가적 보호할 수 있는 계층을 제공하여 악의적인 공격을 방지하는 데 도움이 됩니다.
다양한 통신 프로토콜 지원
외부 API는 일반적으로 HTTP나 REST 기반 API를 제공하지만, 내부 마이크로 서비스는 서로 상이한 통신 프로토콜을 사용하여 구성되어 있을 수 있습니다. API Gateway는 이러한 다양한 프로토콜을 변환하여 외부에는 REST 기반 API로 제공할 수 있어 마이크소서비스 개발팀에서 내부 아키텍처에 가장 알 맞는 방법을 적용할 수 있도록 지원합니다.
서비스 복잡성 감소
마이크로서비스에는 API 토큰을 이용한 권한부여, 엑세스제어. 트래픽제어 등과 같은 공통적인 기능을 처리해야 하는 로직이 포함되어 개발되어야 합니다. API Gateway 에게 이러한 공통 기능에 대한 부분은 위임을 하고 개발자는 각각의 마이크로 서비스 개발에 더 많은 집중을 할 수 있게함으로써 개발 생산성을 향상 시킬 수 있습니다.
서비스 가상화
내부의 마이크로 서비스를 외부에 오픈해야 하는 API 서비스로 분리하여 서비스를 구성하거나 가상화하여 설계 요구사항을 확인하거나 통합 테스트를 지원할 수 있습니다.
이데아텍의 독자적인 Non-Blocking 방식의 고성능 서비스 엔진을 탑재한 i-ONE API Gateway 는 다음과 같은 서비스를 제공해 드립니다.
• API 액세스를 위한 인증 및 권한부여
• 대용량 트랜잭션에 대한 정교한 서비스 라우팅 및 트래픽 제어
• GUI 기반의 간편한 API 등록 및 관리
• 오류 발생한 API 서비스 차단을 통한 장애 확산 방지
• 개발자를 위한 API 테스트 및 문서화 도구 제공
• 사용량 통계 분석 및 모니터링
• 오픈API 사용자를 위한 서비스 포털
#마이크로서비스 #API관리 #API라우팅 #트래픽분산 #개별서비스 #서비스가상화 #프로토콜분산 #APIGateway #이데아텍