API

API(Applicatino Programming Interface)

Posted by yunki kim on January 11, 2021

  API는 애플리케이션을 구축하고 통합하기 위한 정의 및 프로토콜세트이다. API는 정보 제공자와 정보 사용자 간의 계약으로서 소비자에게 필요한 콘텐츠와 생산자에세 핑요한 콘텐츠로 구성되 있다. API가 정보 제공자와 정보 사용자 간의 계약으로 불리는 이유는 한쪽이 특정한 방식으로 구성된 원격 요청을 보내면 다른 쪽의 소프트웨어가 이에 응답하는 방식이기 때문이다.

  API를 사용하면 구현방식을 알지 못해도 해당 기능을 사용해서 시간과 비용을 절약할 수 있다. 새로운 툴과 제품을 설계하거나 기존 툴과 제품을 설계하거나 기존 툴과 제품을 관리하는 경우 API는 유연성을 제공하고 설계, 관리, 사용 방법을 간소화 하게 해준다. 따라서 새로운 경쟁자가 끊임없이 등장하고 판도가 쉴새없이 바뀌는 IT시장에서 경쟁력 유지를 위해 서비스를 신속하게 개발하고 배포할 수 있게 해준다. 클라우드 네이티브 애플리케션 개발은 개발 속도를 높이기 위해 식별 가능한 방식이고 API를 통한 마이크로 서비스 애플리케션 아키텍쳐연결에 기반한다. 

  이처럼 외부 사용자에게 API를 제공하면 다음과 같은 이점을 얻을 수 있다.

  1. 새로운 수익 채널을 확보해 기존 수익 채널을 확장한다.

  2. 브랜드 인지도를 확대한다.

  3. 외부 개발을 활용해 협업을 수행하고 오픈 혁신을 촉진하거나 효율성을 높인다. 

  API는 cloud native application개발을 통해 자체 인프라를 연결하는 간소화된 방식으로 외부 사용자와 데이터 공유를 허용하기도 한다. 퍼블릭 API는 파트너와의 연결방식을 간소화하고 확대할 수 있고 보유한 데이터를 활용해 수익을 창출할 수 있다.

cloud native application

  탄력적으로 결합된 소규모의 독립적인 서비스 컬렉션이다. cloud native application 개발은 새로운 애플리케이션을 구축하고 기존 애플리케이션을 최적화하고 모든 환경을 연결하는 작업을 가속화 할 수 있는 방법이다. 이는 비즈니스 요구사항을 변화에 맞추어 사용자들이 원하는 애플리케이션을 제공하는거다. 

  클라우드 네이티브는 private, public, hybrid cloud환경 전체에서 지속적인 개발, 자동화 관리 환경을 제공하기 위해 설계된 애플리케이션이다. 

Microservices

   소프트웨서를 구축하기 위한 아키텍쳐이자 접근방식이다. 애플리케이션을 상호 독립적인 최소 구성 요소로 분할한다. 이는 모든 요소를 하나의 애플리케이션에서 구축하는 모놀리식 방식과 대비된다.