API 개발자 경험이 중요한 이유

API 개발자 경험 (Developer Experience) 들어보셨나요? 현대 비즈니스의 중심에 있으며 데이터 통합에 대한 수요 증가로 인해 모든 비즈니스 부분에 걸쳐 폭넓게 채택하고 있습니다. API는 외부 비즈니스 파트너와 협력하고, 고객에게 서비스를 제공하고, 그 자체로 제품으로서 수익을 창출하는 데 매우 중요합니다.

api

개발자는 API 경제의 중심에서 중요한 역할을 합니다. API 구축, 통합 및 유지 관리를 담당하는 이들은 API의 제작자이자 기술 채택자입니다. 일반적으로 API 개발자 경험(Developer Experience)이라고 하는 것은 그들의 API의 전반적인 성공을 결정하는 가장 중요한 요소 중 하나입니다. 이 포스트에서는 API 개발자 경험의 주요 개념과 IT 리더가 환경에 대해 고려해야 할 사항을 살펴봅니다.

목차

1. API 개발자 경험이란?
2. API 개발자 경험이 중요한 이유?
3. 훌륭한 API 개발자 경험을 어떻게 구축합니까?
3-1. 1단계: 사용자 식별(Identify Users)
3-2. 2단계: 기능 정의(Define functionality)
3-3. 3단계: 사용 편의성 최적화(Optimize usability)
3-4. 4단계: API 개발자 경험 향상(Enhance experience)
4. API 개발자 경험에서 중요한 것
5. NGINX는 어떻게 API 개발자 환경을 향상시키는가?

1. API 개발자 경험이란?

API 개발자 경험은 개발자가 API와 상호 작용하는 동안 갖는 전반적인 인식과 감정을 설명합니다. API를 애플리케이션에 통합하는 개발자에게 즐겁고 원활한 환경에 기여하는 인프라, 도구, 프로세스, 지원 및 기타 접점을 포함합니다.

2. API 개발자 경험이 중요한 이유?

사용자 경험(User Experience)에 대한 끊임없는 집중이 1세대 기술 혁신을 주도했다면 성공적인 차세대 기업은 개발자 경험에 중점을 두고 승리할 것입니다.

API 경제가 계속 확장됨에 따라 개발자는 어떤 API를 채택하는지에 더 큰 중점을 두고 있습니다. API를 발견하기 어렵거나, 적절한 문서가 부족하거나, 제대로 유지 관리되지 않는 경우 개발자는 더 간단하고 빠른 대안을 위해 API를 포기하게 됩니다. 이는 파트너 및 고객을 위한 외부 API뿐만 아니라 내부 API 프로그램에도 동일하게 적용됩니다.

외부 API의 경우 개발자가 API를 포기할 때 실질적인 비즈니스 결과가 있습니다. 고객으로부터 수익을 잃을 뿐만 아니라 고객이 사용하는 광범위한 제품 및 솔루션, 에코시스템에 대한 접근 권한도 상실합니다. 내부 API 프로그램도 시장 출시 시간 단축, 개발자 생산성 감소, 재작업 증가 등 개발자의 열악한 경험으로 인해 잠재적으로 비즈니스의 성공을 위태롭게 합니다.

개발자 중심의 세계에서 승리하려면 API 수명 주기의 모든 단계에서 작업하는 개발자에게 적합한 도구와 리소스를 제공하는 API 전략이 필요합니다. 이를 위한 가장 좋은 방법은 세 가지 유형의 API를 포함하는 개발자를 위한 사려 깊은 End-to-End API 경험을 만드는 것입니다.

  • API 배포(Deploying) 및 관리
  • API 검색(Discovering) 및 테스트
  • API 모니터링 및 보안

3. 훌륭한 API 개발자 경험을 어떻게 구축합니까?

긍정적인 경험을 만드는 것은 개발자가 API를 사용하는 방법, 작업을 완료하는 데 필요한 것, 궁극적으로 API를 사용하는 동안 느끼는 감정을 이해하는 것입니다. API와 상호 작용할 인물을 정의한 후에 전체 API 경험 계획을 시작할 수 있습니다.

API 개발자 경험을 설계할 때 고려해야 할 네 가지 원칙이 있습니다.

  • 사용자 식별(Identify users) – API와 상호 작용하는 사용자는 누구입니까?
  • 기능 정의(Define functionality) – API의 역할은 무엇입니까?
  • 사용 편의성 최적화(Optimize usability) – API를 얼마나 쉽게 사용할 수 있습니까?
  • API 개발자 경험 향상(Enhance experience) – API를 사용하는 느낌은 어떻습니까?

각 원칙과 개발자를 위한 최적의 API 개발자 경험을 만들기 위해 제공해야 하는 사항을 살펴보겠습니다.

3-1. 1단계: 사용자 식별(Identify Users)

특정 고객 문제를 위해 제품을 설계하는 것처럼 개발자 문제를 해결하기 위해 인프라 및 제품 전반에 걸쳐 API 개발자 경험을 설계해야 합니다. 개발자는 최종 소비자가 아니라 전체 인프라를 구축하고 유지 관리하는 역할을 합니다.

API 개발자 경험을 설계할 때 고려해야 할 세 가지 주요 인물이 있습니다.

  • API 소비자(API consumers) – 애플리케이션에 대한 API 통합 검색, 구현 및 유지 관리
  • API 소유자(API owners) – 서비스에 대한 API 계획, 구축, 문서화, 테스트, 배포 및 관리
  • 인프라 관리자(Infrastructure managers) – 보안 및 규정 준수를 위해 글로벌 정책을 설정하고 API 모니터

고려해야 할 추가 사용자와 이해 관계자가 있을 수 있습니다. 예를 들어 API 소비자(API consumers)의 범주에는 각각 다른 성격과 요구 사항을 가진 내부 개발자, 파트너 및 고객의 하위 범주가 포함될 수 있습니다.

3-2. 2단계: 기능 정의(Define functionality)

기능은 성공적인 API의 기초입니다. 좋은 API는 개발자가 가치 있는 데이터 또는 서비스와 통합하고, 작업을 더 빠르게 완료하고, 새로운 기능을 개발하는 데 소요되는 전체 시간을 줄일 수 있도록 합니다. 주요 고려 사항은 다음과 같습니다.

  • API가 데이터 또는 서비스와 통합하여 제공하는 가치는 무엇입니까?
  • API가 호출을 줄이고 데이터를 구조화하여 문제를 얼마나 잘 해결합니까?
  • API는 가용성, 안정성 및 확장성 측면에서 얼마나 신뢰할 수 있습니까?

API의 기능은 개발에 대한 API-first 접근법과 밀접하게 연관되어 있습니다. “code first”과 대조적으로 “API first”을 사용하면 API 사양(specification)이 코드 개발이 시작되기 전에 작성되며 API 요청 및 반환된 데이터의 구조에 중점을 둡니다. 이러한 강조는 API가 개발자가 필요로 하는 가치와 기능을 일관되게 제공하도록 보장합니다.

3-3. 3단계: 사용 편의성 최적화(Optimize usability)

세 번째 원칙인 사용 편성은 개발자가 API로 무엇을 할 수 있는지가 아니라 API를 사용하는 방법을 다룹니다. 검색, 학습, 테스트 및 온보딩을 지원하는 API 관련 리소스를 다룹니다. 인프라, 도구 및 문서로 구성된 지원 에코시스템이 없으면 개발자는 API를 사용하는 데 어려움을 겪을 것입니다. 중요한 고려 사항은 다음과 같습니다.

  • 통합 SSO(Single Sign-On)를 통한 간편한 등록 및 API 키 관리
  • 최신 참조 및 코드 예제를 포함한 명확하고 철저한 문서
  • 기본 API 요청 생성으로 5분 미만이 소요되는 빠른 설정 시간

postman의 2022년 API 현황 보고서에서 설문 응답자들은 API를 소비하는 데 있어 주요 장애물은 다음과 같다고 말했습니다.

  • 문서 부족(55%)
  • API 검색 문제(38%)
  • 기본적인 API 지식 부족(30%)

API 시험을 위한 철저한 문서, 코드 예제 및 도구가 있는 중앙 개발자 포털을 활용하여 이러한 문제를 극복할 수 있습니다.

3-4. 4단계: API 개발자 경험 향상(Enhance experience)

API 개발자 경험은 API 소비자(API consumers)와 API 소유자(API owners) 간의 상호 작용입니다. 그 토대는 API의 기능성과 사용 편의성에 기반을 두고 있지만, API로 작업하는 전반적인 즐거움에 기여하는 추가적인 상호 작용이 있습니다. 여기에는 다음이 포함될 수 있습니다.

  • Stack Overflow, Slack, Discord, Twitter 등과 같은 채널에서 사용할 수 있는 활성 커뮤니티
  • 개발팀의 시기적절한 대응 및 응답 가능한 환경
  • API, 문서 및 커뮤니티와 상호 작용할 때 마찰이 없는 환경

API 작업을 즐기는 개발자는 동료에게 API를 추천하고, 이를 중심으로 새로운 기능을 구축하고 앱에 통합할 가능성이 더 큽니다.

4. API 개발자 경험에서 중요한 것

훌륭한 API 개발자 경험의 핵심에는 API와 이를 둘러싼 도구, 프로세스, 문서 및 지원, 에코시스템이 포함됩니다. API 생태계의 모든 부분이 원활하게 작동하면 마찰과 복잡성이 줄어들어 개발자가 애플리케이션 구축에 집중할 수 있습니다.

위에서 설명한 단계는 API 개발자 경험은 설계, 구현, 테스트 및 평가하는 지속적인 프로세스의 일부입니다. 사용자 식별, 기능 정의, 사용성 최적화, 경험 향상과 같은 주요 단계에 초점을 맞춘다면 즐겁고 재미있는 API를 구축할 수 있습니다.

5. NGINX는 어떻게 API 개발자 경험을 향상시키는가?

NGINX Management Suite의 일부인 API Connectivity Manager는 API 개발자 경험을 핵심으로 하여 설계되었습니다. 인프라 팀은 API Connectivity Manager를 사용하여 고성능 API Gateway 및 개발자 포털을 구축할 수 있습니다. 또한 개발자는 API 및 설명서를 신속하게 게시 및 관리하거나 API를 검색하여 애플리케이션에 탑재할 수 있습니다.

API Connectivity Manager의 이점은 다음과 같습니다.

  • 빠른 온보딩(Fast onboarding) – 선호하는 ID 공급자와 통합하여 개발자 포털에서 권한 부여 및 인증 간소화
  • 간단한 문서(Simple documentation) – API 소유자(API owners)가 API Gateway에 게시할 때 OpenAPI 규격을 사용하여 개발자 포털에 대한 문서를 자동으로 생성합니다.
  • 대화형 학습(Interactive learning) – 개발자 포털에서 통합 API 탐색기를 사용하여 개발자가 API를 검색, 테스트 및 학습할 수 있습니다.
  • 워크플로 자동화(Workflow automation) – 완전한 선언형 REST API를 사용하여 API 게시 및 관리를 CI/CD 파이프라인에 통합

NGINX Management Suite 사용해 보고 싶으시면 지금 30일 무료 평가판을 신청하거나 사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.