API(애플리케이션 프로그래밍 인터페이스)는 두 개체(사용자(사람 또는 소프트웨어)와 정보(온라인 및 웹 애플리케이션을 통해 제공되는 데이터 리소스)) 간의 통신을 가능하게 하는 정의, 규칙 및 프로토콜의 집합입니다.
오늘날 API는 현대적 애플리케이션의 기본 프레임워크를 형성하고, 사용자 경험을 개선하며, 비즈니스 모델을 강화합니다. 때로는 API가 비즈니스 모델 그 자체가 될 수도 있습니다.
API는 애플리케이션의 "공개적인 면"으로, 애플리케이션이 수행하는 기능과 제공할 수 있는 정보를 공개하고 적절한 요청 형식을 정의합니다. 개발자가 애플리케이션의 API를 만들고 공개하면 다른 애플리케이션이 해당 애플리케이션과 통신할 수 있습니다.
많은 경우 API는 자주 사용되는 기능을 손쉽게 사용할 수 있게 해주기 때문에 개발자의 귀중한 시간을 절약해줍니다. 기존 애플리케이션의 기능을 복제하는 대신 개발자는 기존 애플리케이션의 API를 호출하여 해당 기능을 애플리케이션에 통합할 수 있습니다.
각 API가 설계, 배포 및 기능하는 방식은 아키텍처 스타일이나 프로토콜에 따라 달라집니다.
API 아키텍처 또는 아키텍처 스타일은 API의 고수준 디자인을 말합니다. 여기에는 API가 어떻게 구조화되고, 구성되고, 요청/응답 형식이 포함됩니다. API 프로토콜은 형식을 지정하는 동시에 정확한 메시지를 설명합니다.
일반적인 API 아키텍처와 프로토콜은 다음과 같습니다.
API는 현대 소프트웨어의 중요한 부분입니다. 오늘날 조직과 기업은 필요에 따라 다양한 유형의 API를 구축하거나 사용합니다.
오늘날 조직에서 가장 일반적으로 사용되는 네 가지 API 유형은 공개 API, 비공개 API, 파트너 API, 타사 API입니다.
공개 API는 기업 외부의 사용자(수익화 또는 무료)도 접근할 수 있으며, 이를 통해 타사 개발자와 파트너십을 구축하고 전체 비즈니스 생태계를 확장할 수 있습니다.
공개 API는 타사 개발자가 새로운 제품을 만드는 데 활용할 수 있으므로 혁신을 촉진하고 새로운 파트너십을 구축하는 데 도움이 되는 중요한 도구입니다.
비공개 API는 회사 내부의 팀에서만 접근할 수 있습니다. 이러한 도구는 데이터를 잠금 해제하고 내부 협업을 촉진하는 데 도움이 되거나 조직의 공개 애플리케이션(예: 웹사이트)을 눈에 띄지 않게 지원할 수도 있습니다.
비공개 API는 내부 사용자에게만 제공되므로 조직에서는 최적화를 염두에 두고 이를 구축할 수 있습니다. 비공개 API는 최신 애플리케이션의 구성 가능성을 높여 기업이 현재 요구 사항에 적응할 수 있도록 해줍니다. 개발자는 마이크로서비스를 구축하는 동안 개인 API를 쉽게 통합할 수 있어 팀 간 중복 작업이 줄어듭니다.
파트너 API는 비즈니스 파트너와 직접 통합하는 데 사용됩니다(예: 항공사가 호텔 체인과 파트너십을 맺어 항공편과 숙박을 동시에 예약할 수 있는 경우). 파트너 API는 공개적으로 사용할 수 없으며, 두 회사의 인증(AuthN) 및 권한 부여(AuthZ) 요구 사항을 충족하는 일부 개발자만 접근할 수 있습니다.
상호 운용성은 고립된 조직을 해소하고 서로 다른 조직이 서로 통신할 수 있도록 하여 파트너 API와의 관계를 강화합니다.
타사 API는 조직에서 애플리케이션과 서비스에서 누락된 데이터나 기능에 액세스하는 데 사용됩니다. 이러한 API는 제3자 서버에서 실행되며 일반적으로 광범위하게 필요한 서비스를 제공합니다(예: 많은 전자 상거래 웹사이트에서 사용하는 Stripe 결제 처리 API). API에 따라 조직에서 수수료를 부과하거나 부과하지 않고 사용할 수 있습니다.
타사 API는 다른 개발자나 조직이 이미 구축했기 때문에 확실한 이점 중 하나는 비용 절감입니다. 또한, 타사 API는 개발자가 직접 코딩하지 않고도 기능을 바로 사용할 수 있으므로, 조직이 앱을 더 빠르게 개발할 수 있는 주요 방법이 됩니다.
거의 모든 현대 프로그래밍 언어를 사용하여 API를 코딩할 수 있습니다. API를 코딩할 때 많은 개발자는 프레임워크를 사용하기로 선택할 수 있습니다. 프레임워크는 언어를 사용하여 애플리케이션을 더 빠르고 쉽게 빌드할 수 있도록 코드 라이브러리 및 기타 필수 유틸리티와 같은 빌딩 블록을 제공합니다.
각 프로그래밍 언어에는 일반적으로 개발자들 사이에서 인기 있는 프레임워크가 하나 이상 있습니다. 표에는 몇 가지 프레임워크 옵션이 나열되어 있습니다(대부분은 오픈 소스입니다).
어떤 언어와 프레임워크를 사용할지는 일반적으로 프로젝트의 필요성이나 개발자의 개인적 선호도에 따라 달라집니다.
오늘날의 조직은 목표에 맞는 현대적인 API 전략이 필요합니다. API 전략은 조직이 API를 설계, 개발, 관리, 통제, 보안할 방법에 대한 계획을 설정합니다.
Gartner의 소프트웨어 엔지니어링 리더를 위한 5가지 API 레슨에 따르면 강력한 API 전략을 보장하는 데 도움이 되는 5가지 모범 사례가 있습니다.
어떤 유형의 API 아키텍처를 선택하든, 어떤 유형의 API를 코딩하든, API 보안은 나중에 생각해야 할 것이 아니라 처음부터 고려하는 것이 중요합니다. API를 처음부터 안전하게 유지하고 API 확산 과 같은 일반적인 문제에 대처하는 방법에 대해 자세히 알아보려면 API 보안을 참조하세요. API 보호를 위한 모범 사례 .
모든 지표가 동일하게 생성되는 것은 아닙니다. 성공적인 API 전략을 위한 12가지 지표를 모니터링하는 방법에 대한 자세한 내용은 여기를 참조하세요.
API는 원래 개발자를 위한 도구였지만 이제는 수익을 늘리고 기업의 민첩성을 지원하는 전략적 비즈니스 자산으로 성장했습니다. API 연결은 클라우드 기반 환경에서 데이터와 애플리케이션을 연결하기 위해 모듈식이고 재사용 가능한 API를 사용하는 것을 말하며, 가시성, 보안 및 거버넌스의 과제를 해결하는 것을 목표로 합니다.
NGINX는 API 여정의 모든 지점에서 활용할 수 있는 다양한 무료 리소스를 제공합니다.