API 란?
Applications Programming Interface(API)는 사용자(사람 또는 소프트웨어)와 정보(온라인 및 웹 애플리케이션에서 제공하는 데이터 리소스)라는 두 개체 간의 통신을 가능하게 하는 정의, 규칙 및 프로토콜의 집합입니다.
오늘날 API는 최신 애플리케이션의 기본 프레임워크를 형성하고, 사용자 경험을 개선하며, 비즈니스 모델을 향상시킵니다. 때로는 API가 비즈니스 모델 그 자체가 되기도 합니다.
목차
1. API는 어떻게 작동하나요?
2. API 아키텍처 및 프로토콜 유형
3. 오늘날 API는 어떻게 사용됩니까?
3-1. Public APIs
3-2. Private APIs
3-3. Partner APIs
3-4. Third-Party APIs
4. API를 생성하는데 어떤 애플리케이션 언어가 사용되나요?
5. API 예시
6. API 전략이란 무엇인가요?
7. API Connectivity가 무엇인가요?
1. API는 어떻게 작동하나요?
API는 애플리케이션의 “public face”로, 애플리케이션이 수행하는 기능과 제공할 수 있는 정보를 드러내고 적절한 요청 형식을 정의합니다. 개발자가 애플리케이션의 API를 생성하여 노출하면 다른 애플리케이션이 해당 애플리케이션과 통신할 수 있습니다.
많은 경우 API는 일반적으로 사용되는 기능을 쉽게 사용할 수 있도록 하기 때문에 개발자의 소중한 시간을 절약해 줍니다. 개발자는 기존 애플리케이션의 기능을 복제하는 대신 기존 애플리케이션의 API를 호출하여 해당 기능을 자신의 애플리케이션에 통합할 수 있습니다.
각 API의 설계, 배포 및 기능 방식은 아키텍처 스타일이나 프로토콜에 따라 다릅니다.
2. API 아키텍처 및 프로토콜 유형
API아키텍처 또는 아키텍처 스타일은 API의 높은 수준의 설계를 의미합니다. 여기에는 API의 높은 수준의 설계를 의미합니다. 여기에는 API의 구조와 구성 방식, 요청/응답 형식이 포함됩니다. 또한 API프로토콜은 형식을 지정하는 동시에 정확한 메시지를 추가로 설명합니다.
일반적인 API 아키텍처와 프로토콜에는 다음이 포함됩니다:
- REST – RESTful이라고도 하는 이 아키텍처 스타일은 표현적 상태 전송 원칙을 기반으로 합니다. 이 아키텍처는 확장 가능하고 유연하며 기술적으로 독립적인 구조를 만들기 위해 HTTP 메서드(예: GET, POST, PUT, DELETE)와 추상화된 정보(리소스 및 리소스 모델 형태)를 사용합니다. 오늘날 REST는 가장 널리 사용되는 API 아키텍처로 남아 있습니다.
- GraphQL – Meta(이전의 Facebook)에서 개발한 오픈 소스 쿼리 언어인 GraphQL 아키텍처를 사용하면 한 번의 API 호출로 여러 소스에서 데이터를 가져올 수 있습니다. 클라이언트는 필요한 데이터만 요청하기 때문에 GraphQL API는 REST API보다 효율적(캐시 가능성은 떨어지지만)인 경향이 있습니다.
- SOAP – 이 아키텍처 접근 방식은 간간한 객체 액세스 프로토콜(SOAP)을 사용합니다. SOAP 메시지는 일반적으로 XML로 형식이 지정되므로 REST나 GraphQL보다 부피가 더 큽니다. REST API와 달리 SOAP API에는 API 프로토콜의 구조를 정의하는 엄격한 구현 지침이 있습니다.
- WebSocket – 이 API 프로토콜은 full-duplex 방식이므로 클라이언트와 서버가 동시에 메시지를 주고받을 수 있습니다. 또한 서버는 클라이언트 요청에 대한 응답이 아닌 서버 측의 이벤트에 의해 트리거되는 메시지를 보낼 수 있습니다(예: 서버 측의 이벤트). 이와는 대조적으로 REST API는 엄격한 request-response를 따릅니다.
- RPC – Remote Procedure Call을 사용하면 개발자는 원격 상호 작용의 세부 사항을 지정할 필요 없이 같은 코드를 사용하여 로컬 함수와 다른 주소 공간(일반적으로 원격 서버에서)에서 실행되는 함수를 호출할 수 있습니다. 여러 언어를 사용할 수 있기 때문에 이 프로토콜은 유연하며 client-server 통신에 일반적으로 사용됩니다. RPC의 한 예로 gRPC(Google Remote Procedure Call)가 있습니다.
3. 오늘날 API는 어떻게 사용됩니까?
API는 최신 소프트웨어의 중요한 부분입니다. 오늘날 조직과 기업은 필요에 따라 다양한 유형의 API를 구축하거나 사용합니다.
오늘날 조직에서 가장 흔히 볼 수 있는 네 가지 유형의 API는 Public API, Private API, Partner API 및 Third-Party API입니다.
3-1. Public APIs
Public API는 기업 외부의 사용자가 유료 또는 무료로 액세스할 수 있으며, third-party 개발자와의 파트너십을 구축하고 전체 비즈니스 생태계를 확장할 수 있습니다.
Public API는 third-party 개발자가 새로운 제품을 개발하는 데 사용할 수 있으므로 혁신을 촉진하고 새로운 파트너십을 구축하는 데 도움이 되는 중요한 도구입니다.
3-2. Private APIs
Private API는 기업 내 내부 팀만 액세스할 수 있습니다. Private API는 데이터의 잠금을 해제하고 내부 협업을 촉진하는 데 도움이 될 수도 있고, 조직의 공개 애플리케이션(예: 웹사이트)을 보이지 않게 지원할 수도 있습니다.
Private API는 내부 사용자만 사용할 수 있으므로 조직은 최적화를 염두에 두고 구축할 수 있습니다. 또한 Private API는 최신 애플리케이션에 대한 구성 가능성을 높여 기업이 현재의 요구사항에 적응할 수 있도록 지원합니다. 개발자는 마이크로서비스를 구축하면서 Private API를 쉽게 통합할 수 있으므로 팀 간의 중복 작업을 줄일 수 있습니다.
3-3. Partner APIs
Partner API는 비즈니스 파트너와 직접 통합하는 데 사용됩니다(예: 항공사가 호텔 체인과 제휴하여 항공편과 숙소를 동시에 예약할 수 있는 경우). Partner API는 공개적으로 사용할 수 없으며, 두 비즈니스의 인증(AuthN) 및 권한 부여(AuthZ) 요구 사항을 충족하는 일부 개발자가 액세스할 수 있습니다.
상호 운용성은 사일로를 허물고 서로 다른 조직이 서로 소통할 수 있도록 지원하므로 Partner API와 관계를 강화합니다.
3-4. Third-Party APIs
Third-Party API는 조직에서 애플리케이션 및 서비스에 누락된 데이터나 기능에 액세스하는 데 사용됩니다. 이러한 API는 third-party의 서버에서 실행되며 일반적으로 널리 필요한 서비스를 제공합니다(예: 많은 전자상거래 웹사이트에서 사용하는 Stripe payment processing API). API에 따라 조직에서 유료 또는 무료로 사용할 수 있습니다.
Third-Party API는 이미 다른 개발자나 조직에서 구축한 것이므로 비용 절감이라는 분명한 이점이 있습니다. 또한 Third-Party API는 개발자가 직접 코딩하지 않고도 기능을 즉시 사용할 수 있기 때문에 조직에서 앱을 더 빠르게 개발할 수 있는 주요 수단으로 작용합니다.
4. API를 생성하는데 어떤 애플리케이션 언어가 사용되나요?
거의 모든 최신 프로그램이 언어를 사용하여 API를 코딩할 수 있습니다. API를 코딩할 때 많은 개발자가 프레임워크를 사용할 수 있습니다. 프레임워크는 코드 라이브러리 및 기타 필요한 유틸리티와 같은 building 블록을 제공하여 해당 언어를 사용하여 애플리케이션을 더 빠르고 쉽게 구축할 수 있도록 합니다.
각 프로그래밍 언어에는 일반적으로 개발자들 사이에서 인기 있는 프레임워크가 하나 이상 있습니다. 표에는 몇 가지 프레임워크 옵션이 나열되어 있습니다(대부분 오픈 소스).
| Languages | Frameworks |
| Java | Spring |
| JavaScript, Node.js | Angular, Express.js, React, Vue |
| PHP | Laravel, Slim, Symfony |
| Python | Django, Flask |
| Rust | Rocket, Yew, Actix-Web |
| Ruby | Rails |
어떤 언어와 프레임워크를 사용할지는 보통 프로젝트의 요구사항이나 개발자의 개인적 선호도에 따라 달라집니다.
5. API 예시
API는 최신 소프트웨어 개발의 기본 요소이므로 그 예는 무궁무진합니다. 여기서 몇 가지를 소개하겠습니다.
API의 세 가지 예는 다음과 같습니다:
- Google Maps Platform – Google은 웹사이트나 애플리케이션에 Google 지도를 임베드할 수 있는 API를 제공합니다.
- AWS IoT – AWS IoT API를 사용하면 스마트 홈 디바이스 등 사물 인터넷에 있는 디바이스를 AWS 클라우드에 연결할 수 있습니다. 이는 스마트 홈 자동화 시스템을 구축하는 한 가지 방법입니다.
- NGINX Unit Control API – 유닛 API는 오픈 소스 NGINX Unit 애플리케이션 및 웹 서버의 구성을 위해 REST 아키텍처를 사용합니다.
6. API 전략이란 무엇인가요?
오늘날의 조직은 목표에 부합하는 최신 API 전략이 필요합니다. API 전략은 조직이 API를 설계, 개발, 관리, 통제 및 보호하는 방법에 대한 계획을 수립합니다.
Gartner의 ‘소프트웨어 엔지니어링 리더를 위한 5가지 API 교훈’에 따르면, 강력한 API 전략을 수립하기 위한 5가지 모범 사례가 있습니다.
- API governance가 병목 현상을 일으키지 않도록 하세요. API governance는 혁신을 지속적으로 추진하기 위해 개발자의 민첩성과 균형을 이루어야 합니다.
- 수익화할 계획이 없더라도 API를 제품으로 취급하세요. 각 API가 비즈니스 목표에 부합하는 명확한 목적과 대상을 가지고 있는지 확인하세요.
- 해커보다 먼저 API를 발견하세요. 검색 기능의 우선순위를 정하고 정기적으로 모니터링하면 보안 침해를 예방하는 데 도움이 됩니다.
- API의 수명 주기를 관리하세요. 포괄적인 API 수명 주기 관리를 통해 API가 적절한 보안으로 계속 작동하도록 보장합니다.
- 가장 적합한 API 기술 선택. 한 조직에 적합한 기술이 다른 조직에 적합하지 않을 수 있으므로 현재와 미래의 특정 API 요구사항을 자세히 고려하는 것이 중요합니다.
어떤 유형의 API 아키텍처를 선택하든, 어떤 유형의 API를 코딩하든, API 보안은 나중에 고려하는 것이 아니라 처음부터 고려하는 것이 중요합니다. 처음부터 API를 안전하게 보호하고 API sprawl과 같은 일반적인 문제를 해결하는 방법에 대해 자세히 알아보려면 API 보안: API 보호를 위한 모범 사례를 참조하세요.
모든 메트릭이 동일하게 만들어지는 것은 아니므로 성공적인 API 전략을 위해 모니터링해야 할 12가지 메트릭에서 자세히 알아보세요.
7. API Connectivity가 무엇인가요?
API는 개발자를 위한 도구로 시작했지만, 이제는 매출을 늘리고 기업의 민첩성을 지원하는 전략적 비즈니스 자산으로 성장했습니다. API connectivity란 가시성, 보안 및 governance 문제를 해결하기 위해 모듈식 재사용 가능한 API를 사용하여 클라우드 네이티브 환경에서 데이터와 애플리케이션을 연결하는 것을 말합니다.
NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 논의하십시오.
NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.
댓글을 달려면 로그인해야 합니다.