APIOps: 성능만큼 빠른 API 제공
지난 10년 이상 IT 환경은 변화해 왔으며, 여러분도 일상 업무에서 변화를 경험했거나, 적어도 The Phoenix Project와 같은 책에서 이에 대해 읽어본 적이 있을 것입니다. 현대 기업에서 대부분의 역할은 고성능의 강력한 인프라 플랫폼 제공과 소프트웨어 개발, 자동화 및 클라우드 기술에서 습득한 모든 새로운 기술을 포괄합니다. 대부분 API 를 기반으로 하는 최신 애플리케이션을 제공하려면 다양한 기술과 여러 사업부 및 팀에 대한 이해가 필요합니다.
점점 더 많은 기업이 디지털 트랜스포메이션 프로젝트를 수행하고 클라우드 도입이 증가함에 따라 비즈니스 내에서 운영팀이 일하는 방식과 개발팀이 비즈니스에 제품을 제공하는 방식을 검토하고 수정하는 것이 점점 더 중요해지고 있습니다. 이는 다소 단순화되어 있지만, 본질적으로 DevOps 관행이 생겨난 과정입니다.
이러한 새로운 관행과 관련 도구는 대부분의 소프트웨어 개발팀에 널리 퍼져있으며, 운영팀과 함께 자리를 잡아가고 있습니다. 코드형 인프라, 지속적 통합(CI)/지속적 배포(CD) 파이프라인, 초기 인프라 배포부터 원하는 상태 구성 및 애플리케이션 배포에 이르기까지 모든 구성에 코드 리포지토리를 사용하는 것과 같은 혁신은 이제 IT 전문가들의 일상 업무에서 흔히 볼 수 있습니다.
이러한 새로운 기술과 프로세스를 통해 기업은 이전 방식보다 훨씬 더 바르게 제품을 시장에 출시할 수 있게 되었습니다. 제품을 제공하는 팀과 프로덕션 시스템을 유지 관리하는 팀 간의 긴밀한 통합으로 많은 조직에서 가동 시간이 증가하고 주요 사고가 감소했습니다. Canary 및 Blue-Green 과 같은 기술을 통해 새 버전의 코드를 실시간으로 원활하게 배포하고 테스트할 수 있으므로 조직은 오랜 베타 테스트 주기 없이도 변경 사항에 대한 실시간 피드백과 메트릭을 얻을 수 있습니다.
API Management는 많은 배포의 성공에 중추적인 역할을 합니다. 비즈니스 내부적으로 또는 외부적으로 고객에게 API 서비스를 제공하는 경우 배포 파이프라인을 통해 새 API 버전(최신 버전의 소프트웨어와 함께)을 빠르고 효율적으로 배포할 수 있는 것은 매우 중요합니다. API 버전 관리를 사용하면 여러 버전을 유지하고 필요한 경우 이전 버전과 호환성을 유지하여 사용자에게 중단 없는 경험을 보장할 수 있습니다.
목차
1. API Lifesycle Management의 과제
2. 작업에 적합한 도구 사용
3. 모든 것을 하나로 모으기
1. API Lifesycle Management의 과제
지난 몇 년 동안 유명 클라우드 기반 API 관리 솔루션은 API 서비스를 제공하는 데는 훌륭했지만, software development lifecycle (SDLC) 방식에 통합하는 데 있어서는 문제가 있었습니다.
대부분 소프트웨어를 로컬에 배포할 수 없거나 로컬 배포가 가능하더라도 Control Plane이 클라우드에 남아 있습니다. 개발 수명 주기의 여러 단계를 분리하기 위해 API management 도구의 여러 인스턴스가 필요한 경우가 많습니다. 이러한 모든 제한 사항을 해결하려면 시간이 많이 걸리고 추가 비용이 발생할 수 있습니다.
개발 및 운영팀원들이 재택근무를 하고 있는 상황에서는 리소스에 대한 액세스 수요가 증가하여 이러한 문제가 더욱 악화될 수 있습니다. 클라우드 기반 또는 온프레미스 데이터 센터에서 호스팅되는 시스템에 연결해야 하는 경우, 집의 인터넷 연결 상태가 좋지 않은 것과 사소한 문제도 개발을 방해할 수 있습니다.
개인 워크스테이션/노트북부터 시작하여 공유 개발 및 테스트 환경, 마지막으로 프로덕션 환경까지 모든 환경에서 일관된 개발자 경험을 제공하는 도구를 옹호해 왔습니다. 개발자 환경을 인터넷 연결에 묶어두는 것은 생산성을 제한할 뿐입니다.
최신 애플리케이션 개발에서 컨테이너 또는 함수로 작업할 때는 비교적 쉽습니다. 가상화, Docker Desktop, Minikube, k3s, OpenFaas 및 기타 여러 도구를 사용하면 자체 하드웨어에서 축소된 로컬 환경을 실행하고 대부분의 상황에서 로컬 브랜치를 계속 개발할 수 있습니다. Kubernetes와 Docker Compose manifests를 사용하면 여러 구성 요소를 함께 묶고 자동화된 빌드 및 테스트 제품군을 호출하거나 애플리케이션을 수동으로 실행하여 모든 것이 예상대로 작동하는지 확인할 수 있습니다.
2. 작업에 적합한 도구 사용
API Gateway로서의 NGINX Plus는 SDLS 단계에서 엄청난 유연성을 제공합니다. 환경에 관계없이 동일한 소프트웨어와 구성을 일관되게 실행할 수 있습니다. 새로운 API를 프로덕션 환경에 배포할 때와 동일한 도구를 사용하여 노트북에서 구성을 배포할 수 있습니다.
배포 프로세스 전반에 걸쳐 일관성과 안정성이 보장되므로 개발자부터 테스트 엔지니어, 운영 직원에 이르기까지 모든 사람이 배포된 구성이 개발 및 테스트한 것과 정확히 일치할 것이라는 확신을 가질 수 있습니다. 비즈니스 전반에 걸쳐 신뢰를 구축하고 안정적인 릴리스 주기를 입증하면 모든 사람의 삶이 더 쉬워집니다.
이 프로세스에 추가되는 또 다른 훌륭한 기능은 API 정의 및 게시, 인증, 보안, 실시간 모니터링을 위한 기능을 통합하는 NGINX Controller API Management 모듈[현재 API Connectivity Manager]입니다. 또한 운영팀에 대시보드를 제공하고 Prometheus 및 Splunk와 같은 인기 플랫폼과 통합할 수 있습니다.
3. 모든 것을 하나로 모으기
모든 것을 한데 모으면 APIOps가 탄생합니다. 모든 단계에서 테스트와 검토를 거친 일관된 코드를 제공하고, 운영팀에 풍부한 메트릭과 분석을 제공하며, 내부 또는 외부 고객에게 버전이 지정된 API를 게시할 수 있는 기능입니다.
이러한 nirvana는 하룻밤 사이에 달성할 수 있는 것은 아니지만, 어딘가에서 여정을 시작해야 하며, 그렇지 않으면 아예 시작하지도 못할 것입니다. 좋은 프로세스를 구현하고 환경에 적합한 도구를 찾기 위해 노력하세요. 개발 및 운영팀에게 훌륭한 고객 경험을 제공할 수 있는 적절한 무기를 제공하세요.
이 분야는 NGINX가 여러분의 여정을 가속화할 수 있다고 확신하는 분야입니다. 초고속 실시간 API를 배포할 수 있을 뿐만 아니라 온프레미스 데이터 센터에서 실행되는 레거시 앱이든 새로운 클라우드 네이티브 프로젝트이든 관계없이 모든 위치에서 호스팅되는 앱에 대해 처음부터 끝까지 일관된 경험을 제공할 수 있습니다.
NGINX Plus를 API Gateway 및 API Connectivity Manager로 사용해 보세요. 무료 30일 평가판을 시작하거나 NGINX STORE에 문의하여 사용 사례에 대해 논의하세요.
이 포스트는 API 및 기타 앱 현대화 동향에 대한 시리즈의 일부로, 업계 전문가가 NetOps 엔지니어를 위해 작성하고 Gestalt IT와 협력하여 게시합니다. 이 포스트가 재미있었다면, 전체 시리즈를 확인해 보세요.
NGINX에 대해 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.