Unity Group의 시각에서 본 APISIX: 사용하기 쉬우면서도 강력하고 즐거운 경험
May 19, 2023
Unity Group의 시스템 아키텍트인 Lukasz Biegaj는 인터뷰에서 APISIX가 그들의 회사에 가져온 변화를 공유했습니다. 그는 APISIX를 간결하고 강력하며 즐겁게 사용할 수 있는 도구로 설명했습니다. APISIX를 프로젝트에 활용함으로써 팀과 회사는 출시 시간을 크게 단축하고 효과적인 솔루션을 신속하게 제공할 수 있게 되었습니다.
개요
도전 과제
- Unity Group 내부의 분업이 더 세분화되면서, 기능 간 또는 부서 간의 변경 사항은 커뮤니케이션에 더 많은 시간과 인력을 소모하게 되었습니다.
- 증가하는 프로젝트로 인해 지원해야 하는 다중 프로토콜 통신이 더 복잡해졌습니다.
- 폐쇄형 솔루션은 비용이 많이 들고 배포가 어려웠습니다.
결과
- 부서 간 커뮤니케이션 문제 해결: 조직 내 전반적인 효율성과 생산성 향상.
- 출시 시간 단축: 경쟁 우위 확보 및 수익 증가.
- 개발 팀이 빠르게 프로토타이핑, 생성 및 프로덕션 준비 작업을 배포할 수 있는 쉬운 환경 설정: 변화하는 비즈니스 요구에 대한 전반적인 민첩성과 대응력 향상.
이 글은 Unity Group의 시스템 아키텍트인 Lukasz Biegaj와의 인터뷰를 바탕으로 작성되었습니다. 폴란드의 주요 전자상거래 솔루션 제공업체 중 하나인 Unity Group은 부서 간 커뮤니케이션 문제로 인해 업무 부담이 크게 증가하는 도전에 직면해 있었습니다. Lukasz Biegaj는 APISIX를 도입하기 전에 회사가 직면한 도전 과제, 다른 대안과 비교한 후 APISIX를 선택한 이유, APISIX가 그들의 문제를 어떻게 해결했는지, 그리고 APISIX 사용 경험에 대한 전반적인 평가를 상세히 설명해 주었습니다.
배경 정보
Unity Group은 폴란드에서 가장 큰 전자상거래 솔루션 제공업체 중 하나입니다. 25년 동안 기업의 디지털 전환을 위한 기술을 제공해 왔습니다. 대부분의 고객은 전자상거래 회사입니다. 그들은 비즈니스 및 기술 컨설팅과 소프트웨어 개발을 지원합니다. APISIX를 사용하기 전에 Unity Group의 주요 문제는 부서 간 커뮤니케이션이었습니다: 한 사람이 인프라를 프로비저닝하고 구성하고, 다른 사람(개발자)이 이를 사용했습니다. 모든 변경 사항은 커뮤니케이션과 조정이 필요했습니다. 또한, 모니터링을 제대로 설정하는 데 시간이 많이 소요되었습니다.
Lukasz Biegaj는 11명의 DevOps 엔지니어 팀과 함께 일하는 시스템 아키텍트입니다. 그들은 주로 전자상거래와 관련된 대규모 사이트를 설계, 구현 및 출시합니다. 그들은 종종 클라우드 서비스와 Kubernetes를 애플리케이션 출시 플랫폼으로 사용합니다.
몇 년 전, 애플리케이션 설계 및 구현 과정에는 시스템 관리자 팀과 개발 팀 간의 부서 간 커뮤니케이션이 포함되었습니다. 전자 팀은 인프라 생성, 컴포넌트 설치 및 배포 메커니즘 설정을 담당했고, 후자 팀은 주로 코드 작성 및 버튼 클릭으로 배포하는 데 집중했습니다.
그러나 최근 몇 년 동안 DevOps와 같은 역할이 등장하면서 이러한 분리는 덜 뚜렷해졌으며, 심지어 개발자들도 배포 준비 및 컴포넌트 선택에 참여하고 싶어 합니다.
기술적인 관점에서, 배포되는 거의 모든 컴포넌트는 어떤 형태의 HTTP 통신이 필요합니다. 몇 년 전, 그들은 Apache Web Server와 같은 간단한 웹 서버를 사용했습니다. 프로젝트가 커지면서, Apache2보다 HTTP/2를 먼저 지원하고 리버스 프록시로 사용할 수 있는 HAProxy나 NGINX와 같은 로드 밸런서를 사용하기 시작했습니다. 그들은 또한 몇 가지 엄격한 API 게이트웨이 솔루션을 시도했지만, 대부분 비용이 많이 들고 배포 및 지원이 어려웠습니다. Unity Group은 많은 폐쇄형 솔루션을 거부했는데, 이는 구현 및 유지 비용이 높았을 뿐만 아니라 라이선스 문제도 있었기 때문입니다.
APISIX를 선택한 이유
Lukasz Biegaj와 그의 팀은 항상 자신과 고객을 위한 최고의 솔루션을 선택하려고 노력하며, 더 나은 솔루션이 나타나면 특정 솔루션을 변경합니다. 그들은 Kubernetes에 많은 투자를 해왔고, APISIX는 새로운 Gateway API를 구현하는 프로젝트 중 하나로 언급되었습니다. Apache Software Foundation의 후원을 받는 것은 APISIX에게 매우 큰 이점이었습니다. APISIX의 다른 이점은 이후의 테스트와 실습에서 완전히 입증되었습니다.
지금까지 그들은 약 1년 동안 APISIX를 사용하고 배포해 왔습니다. 그들은 AWS Kubernetes 클러스터 내에서 APISIX의 모든 인스턴스를 배포하며, 공식 Helm Charts를 활용하고 AWS Network Load Balancer를 통해 노출합니다. 그들은 SSL을 NLB에서 종료하여 AWS Certificate Manager를 활용할 수 있습니다. APISIX Ingress Controller를 사용하면 사용자가 Kubernetes 애플리케이션 매니페스트와 함께 라우트를 독립적으로 구성할 수 있습니다. 또한, 내장된 Prometheus 플러그인을 활용하여 데이터 메트릭을 처리하고 경고 규칙 및 대시보드를 생성하여 애플리케이션 상태를 시각화합니다.
"APISIX를 구현하는 데 내부적인 위험이나 추가 비용이 있었나요?"라는 질문에 Lukasz Biegaj는 자신 있게 답했습니다. "우리는 어떤 위험도 감수하지 않았다고 생각합니다. 물론, 이는 새로운 소프트웨어, 새로운 솔루션이었지만, 오픈소스이기 때문에 개념 증명 시나리오에서 편안하게 테스트할 수 있었습니다. 이를 통해 개발 팀이 여러 프로젝트에서 빠르게 프로토타이핑, 생성 및 프로덕션 준비 작업을 배포할 수 있는 환경을 쉽게 설정할 수 있습니다." Lukasz Biegaj는 APISIX의 단순성과 사용 편의성을 높이 평가하며, Kubernetes-native 및 오픈소스와 같은 다른 이점도 확신했습니다.
APISIX 사용 후 성과
APISIX를 사용하는 프로젝트의 경우 출시 시간이 상당히 단축되었고, Unity Group은 솔루션을 더 빠르게 제공할 수 있습니다.
Lukasz Biegaj는 "우리는 오픈소스 프로젝트를 사용하는 데 매우 익숙하며, 프로젝트가 활발히 유지되는 것이 매우 중요합니다. 처음에 Helm Charts에 몇 가지 문제가 있었지만, 빠르게 수정되었습니다(한 버그 보고서는 이미 수정 중이었고 병합되었습니다). 또는 우리의 패치가 빠르게 메인 브랜치에 반영되었습니다. 요약하자면, 프로젝트가 활발하고 사용자를 배려한다고 느끼며, 현재 개발에 대한 우려는 없습니다."라고 말했습니다.
Unity Group이 직면한 도전은 전체 산업에서 보편적으로 중요한 문제입니다. Lukasz Biegaj의 관점에서 주요 도전 과제는 M A C H입니다. 여기서 M은 Microservices, A는 API First, C는 Cloud Native, H는 Headless를 의미합니다. 이는 훌륭한 트렌드이지만, 동시에 큰 도전이기도 합니다. 팀이 개별 영역에 집중할 수 있도록 하고, 필요한 곳에 성능을 전환하는 방법은 무엇인가? 인프라와의 연결을 어떻게 만들 것인가? APISIX는 이러한 솔루션을 제공할 수 있는 도구 중 하나입니다.
요약
"사용하기 간단하고 강력하며 즐겁게 사용할 수 있습니다." - 이것이 Unity Group의 시스템 아키텍트인 Lukasz Biegaj가 APISIX에 대한 평가입니다.
뛰어난 성능과 Kubernetes-native 및 오픈소스 기능을 갖춘 APISIX는 Unity Group의 궁극적인 선택이 되었습니다. APISIX는 Unity Group이 여러 프로젝트에서 개발 팀이 빠르게 프로토타이핑, 생성 및 프로덕션 준비 작업을 배포할 수 있는 환경을 쉽게 설정할 수 있게 해주어, 부서 간 커뮤니케이션 문제를 해결하고 시간 비용을 줄였습니다.
만약 Unity Group과 같은 문제에 직면하고 있다면, 언제든지 저희에게 연락해 주세요. APISIX를 선택함으로써, 여러분의 문제를 쉽게 해결할 수 있을 것입니다!