API7 솔루션: B2B 서비스를 위한 고가용성

January 3, 2024

Technology

클라이언트와의 소통 과정에서 자주 제기되는 핵심 질문이 있습니다: "고가용성을 제공하나요? 그리고 어떻게 제공하나요?"

본질적으로, 고가용성 아키텍처를 논의할 때, API7 솔루션은 주목할 만한 선택지로 부각됩니다. 그 이유는 다양한 상황에서 시스템이 99.99% 또는 99.999%의 가용성을 달성할 수 있도록 설계된 고가용성 기능 세트를 제공하기 때문입니다.

비즈니스 환경에서 API 서비스의 고가용성은 특히 중요합니다. 이는 클라이언트의 연속성과 신뢰성에 직접적인 영향을 미치기 때문입니다. 왜 B2B 비즈니스에서 고가용성이 이렇게 중요한가요? 핵심 지표로서, 중요한 순간에 API 서비스가 중단되거나 실패하면 클라이언트의 비즈니스에 심각한 영향을 미칠 수 있으며, 이는 단순히 금전적 손실뿐만 아니라 클라이언트의 평판과 신뢰도에도 손상을 입힐 수 있습니다.

API7은 어떻게 고가용성을 달성하나요?

고가용성은 기술적 문제일 뿐만 아니라 클라이언트의 신뢰와 충성도를 얻을 수 있는 비즈니스 전략이기도 합니다. 그렇다면 API7 솔루션의 고가용성은 어떻게 달성되며, 어떻게 고가용성을 보장하나요?

무상태 제어 평면

첫째, 핵심은 제어 평면의 고가용성에 있습니다. API7 솔루션의 제어 평면은 API 구성 및 관리의 핵심으로, 무상태 설계를 채택하고 있습니다. 이는 제어 평면의 구성 요소가 잠재적으로 실패할 수 있는 구성 요소를 빠르게 대체할 수 있는 새로운 인스턴스를 시작할 수 있음을 의미합니다. 이 무상태 설계는 시스템의 탄력성을 높여, 구성 요소가 실패하더라도 서비스를 계속 제공할 수 있게 합니다.

PostgreSQL을 기본 구성 센터로 사용

또 다른 중요한 결정은 PostgreSQL을 기본 구성 센터로 사용하는 것입니다. 이는 APISIX가 선택한 etcd 대신 PostgreSQL을 선택한 것입니다. 이 선택은 etcd를 운영하는 것이 기업에게 새로운 도전을 제기할 수 있기 때문이며, PostgreSQL은 더 친숙하고 유지 관리가 쉬운 데이터베이스 시스템이기 때문입니다. PostgreSQL은 API7 솔루션에서 유일한 상태 저장 구성 요소이며, 다른 모든 구성 요소는 무상태입니다. 또한 PostgreSQL은 마스터-슬레이브 및 다중 마스터 백업을 포함한 성숙한 고가용성 솔루션을 제공하여, 구성 센터의 주 노드가 실패하더라도 대기 노드가 빠르게 대체할 수 있도록 하여 구성 가용성을 보장합니다.

API7 Enterprise의 고가용성

무상태 데이터 평면

데이터 평면의 고가용성도 마찬가지로 중요합니다. 데이터 평면은 실제 비즈니스 트래픽을 처리하며, APISIX 위에 구축되어 APISIX의 많은 기능을 상속받습니다. 제어 평면과 마찬가지로 데이터 평면의 구성 요소도 무상태이므로, 트래픽 변화에 적응하기 위해 수평 및 수직으로 쉽게 확장할 수 있습니다. 갑작스러운 트래픽 급증 시 인스턴스를 확장해야 하거나 노드가 실패할 때 빠르게 제거해야 하는 경우에도 데이터 평면은 이를 처리할 수 있어 서비스 연속성을 보장합니다.

독립적인 데이터 평면과 제어 평면

또 다른 중요한 장점은 데이터 평면과 제어 평면이 분리되어 있어, 어떤 구성 요소의 이상이 서로에게 영향을 미치지 않는다는 점입니다. 또한 데이터 평면은 시작 시 제어 평면의 구성을 메모리에 저장하여, 각 요청마다 제어 평면에서 구성을 가져올 필요가 없어 성능과 응답 속도를 향상시킵니다. 이는 제어 평면에 이상이 발생하더라도 데이터 평면이 이후 요청을 계속 처리할 수 있도록 보장합니다.

고가용성 아키텍처의 사용 시나리오와 이점

고가용성 아키텍처의 배포는 API7에 적용할 수 있으며, 다양한 환경과 시나리오에서 구현할 수 있습니다. 예를 들어, Docker를 통해 배포하거나 가상 머신에서 배포할 때, 트래픽 입구에 AWS의 로드 밸런서나 LVS와 같은 로드 밸런서를 설정하고, 건강 검사 메커니즘과 결합하여 구성 요소가 실패할 때 자동으로 제거하고 새로운 인스턴스를 시작할 수 있습니다. 또 다른 일반적인 배포 방법은 Kubernetes에서의 배포로, Kubernetes의 건강 검사 정책을 활용하여 서비스 고가용성을 관리합니다. Kubernetes는 실패한 포드를 자동으로 감지하고 대체하여 시스템 안정성을 보장합니다.

고가용성이 가져오는 이점은 단순히 지속적인 서비스 제공을 넘어, 클라이언트 만족도 증가, 비즈니스 중단 방지, 경쟁력 강화, 유지 관리 비용 절감 등에 기여합니다. 고가용성을 달성하기 위해 추가적인 투자가 필요할 수 있지만, 시스템 장애 시 빠른 복구와 비즈니스 트래픽의 지속적인 처리를 가능하게 함으로써 궁극적으로 유지 관리 비용을 낮출 수 있습니다.

결론

요약하자면, API7 솔루션의 고가용성 아키텍처는 포괄적인 설계입니다. 제어 평면과 데이터 평면의 분리, 무상태 구성 요소의 빠른 시작 및 수평 확장, 유연한 배포 방법을 통해 시스템은 다양한 상황에서 API 서비스의 지속적인 가용성을 보장합니다. 이러한 기능들은 API7 솔루션을 탄력적이고 유연하며 신뢰할 수 있는 시스템으로 만들어, 기업의 API 서비스 가용성에 대한 높은 요구를 충족시킬 수 있습니다.

고가용성은 단순히 기술적 고려 사항이 아니라, 클라이언트 관계를 강화하고 경쟁력을 높이며 기업에 더 많은 기회와 성공을 가져다줄 수 있는 비즈니스 전략이기도 합니다. 따라서 API7 솔루션의 고가용성은 필수적인 능력으로, B2B 클라이언트에게 신뢰할 수 있는 API 관리 도구를 제공하여 그들의 비즈니스가 중단 없이 원활하게 운영되도록 보장합니다.

Tags: