API
API(Application Programming Interface)는 서로 다른 소프트웨어가 정해진 규칙에 따라 기능과 데이터를 주고받을 수 있도록 정의한 인터페이스다. 내부 구현을 감추면서 필요한 기능만 표준화된 방식으로 노출한다.
API는 시스템 간 연동과 재사용을 가능하게 해, 현대 소프트웨어 개발과 서비스 통합의 핵심 기반이 된다. 마이크로서비스, 클라우드, 모바일 등 대부분의 아키텍처가 API를 중심으로 구성된다.
주요 특징
- 표준화된 인터페이스: 정해진 규칙으로 기능과 데이터를 노출함.
- 추상화: 내부 구현을 숨기고 필요한 기능만 제공함.
- 재사용성: 하나의 API를 여러 애플리케이션이 공유해 사용함.
- 다양한 프로토콜: REST·GraphQL·gRPC 등 여러 방식으로 제공됨.
- 버전 관리: 변경을 관리해 호환성을 유지함.
장점
- 개발 생산성: 검증된 기능을 재사용해 개발 속도를 높임.
- 시스템 연동: 이기종 시스템을 손쉽게 통합함.
- 확장성: 기능을 모듈화해 유연하게 확장함.
- 생태계 확장: 외부 개발자가 서비스를 활용하도록 개방함.
- 유지보수 용이: 인터페이스와 구현을 분리해 관리함.
관련 용어
- REST: HTTP 기반으로 자원을 다루는 대표적 API 스타일.
- 엔드포인트: API 기능에 접근하는 특정 URL 경로.
- API Gateway: API 요청을 중앙에서 관리·라우팅하는 계층.
- OpenAPI: REST API를 표준 형식으로 기술하는 명세.
- 인증·인가: API 접근 권한을 확인하고 통제하는 절차.
주요 솔루션 및 사용 사례
- 주요 솔루션
- REST API: HTTP로 자원을 다루는 범용 API 방식.
- GraphQL: 필요한 데이터만 질의해 가져오는 API 기술.
- gRPC: 고성능 이진 통신을 지원하는 RPC 프레임워크.
- API 게이트웨이: API의 라우팅·보안·모니터링을 통합 관리함.
- API 관리 플랫폼: API의 게시·문서화·분석을 지원함.
- 사용 사례
- 서비스 통합: 결제·지도 등 외부 서비스를 연동함.
- 마이크로서비스 통신: 서비스 간 데이터를 API로 교환함.
- 모바일 백엔드: 앱과 서버 간 데이터를 API로 주고받음.
- 오픈 API 제공: 외부 개발자에게 기능을 개방함.
- 데이터 연계: 시스템 간 데이터를 표준 방식으로 공유함.

![[자료 다운로드] OpenTelemetry 구성 요소](https://www.cncf.co.kr/wp-content/uploads/2025/09/CNF_BLOG_TITLE_OpenTelemetry-Components.webp)
