ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹 기반의 Open API를 쉽고 편리하게 관리해주는 IBM의 API Management 솔루션 이야기
    IT topics 2015.09.16 11:45

    최근 API의 제공에 대해서 많은 관심이 모아지고 있으며 웹 기반의 API인 Open API를 제공하는 기업들이 늘어가고 있는 것이 사실이다. 자사의 서비스 자원을 이용하여 새로운 서비스를 만들어 수익을 창출하고 그 안에서 자사의 서비스 사용을 통한 비용 지불을 통해 새로운 수익 사업으로 각광받기 시작하는 것이 Open API 사업이라는 얘기다. 물론 웹 2.0 개념이 본격화되기 시작하면서 Open API에 대한 관심이 많아졌고 Open API를 제공하는 기업들이 생기기 시작했다는 것은 알고는 있지만 최근에는 이런 Open API를 적극적으로 수입원으로 잡아서, 아니면 마케팅 도구로 삼아서 제공하려는 기업들이 많아지고 있다는 생각이 든다. 그렇다면 이런 Open API를 어떻게 관리하는가가 Open API를 이용한 사업에 있어서 중요한 포인트가 된다고 할 수 있을 것이다.


    IBM이 제공하고 있는 API Management 솔루션(이하 APIM)도 벌써 버전이 4.0이 되었다. 이미 전세계 2000여개의 회사에서 IBM의 APIM을 사용하고 있다고 한다.


    그렇다면 IBM의 APIM은 어떤 녀석인가? APIM은 웹 API를 작성, 어셈블, 관리, 보안, 소셜화를 할 수 있게 만들어주는 웹 기반 API 관리도구다. APIM은 개발자의 경험 및 정보를 교류할 수 있는 개발자 포털과 API 속성 및 정책을 설정할 수 있는 관리 포털, API 소유자 및 솔루션 관리자, 어플리케이션 개발자들이 손쉽게 역할 기반 통찰력을 제공해주는 분석 엔진 등을 함께 제공하여 좀 더 생산성있는 API 관리를 해주게 한다.


    그렇다면 왜 IBM의 APIM을 사용할까? 아래의 이유 때문에 IBM의 APIM을 이용한다고 한다.


    • APIM의 직관적인 UI를 사용하여 기존 비즈니스 자산 또는 클라우드 서비스에서 빠르게 API를 작성할 수 있음
    • 업계를 선도하는 보안 게이트웨이 및 OAuth 2.0을 지원함으로 DataPower로 API 보안 및 제어 지원
    • API 카탈로그, API 문서를 찾아보고 어플리케이션을 등록하며 개발자 포털에서 API 사용법을 모니터 할 수 있도록 소셜화 지원
    • 중요한 비즈니스 의사결정에 도움이 되는 API 사용법에 대한 유용한 분석 정보를 APIM을 통해서 얻을 수 있음


    IBM의 APIM은 또한 아래와 같은 광범위한 API 및 서비스 관리 기능을 제공한다.

    • 손쉬운 API 사용자 정의 : API 비즈니스 소유자는 개발자 포털을 자신의 브랜드로 사용자 정의하여 API를 광고, 마케팅, 소셜화 및 판매할 수 있음
    • 보안과 범위 : API 키와 비밀 키를 조합하여 API에 대한 접근을 관리함
    • 기능 관리 및 모니터링 : API 사용 및 분석 데이터를 추출하여 새로운 기회에 신속하게 대처할 수 있음
    • 개발자 역량 강화 : 내부와 외부에서 신속한 작성과 협업을 통해 혁신과 창조성을 강화할 수 있음
    • 애플리케이션 개발 간소화 : 코드를 작성하지 않고 구성을 통해 기존 비즈니스 자산 또는 클라우드 서비스로부터 API를 빠르게 작성할 수 있음

    좀 더 이해하기 쉽게 풀어서 생각해보자. IBM의 APIM은 기업의 정보 자산을 웹 API를 통해 기업 내외부의 개발자들에게 제공되어 손쉽게 기업의 정보 자산을 이용할 수 있도록 하여 비즈니스를 확장하기 쉽게 만들어주는 역할을 할 수 있다. 원래는 기업의 정보 자산을 외부에 공개하기 위해서는 인터페이스 구조를 갖춰야 하고 손쉽게 접근할 수 있어야 하는데 IBM의 APIM은 인터페이스 구조를 따로 코딩하지 않고 REST 구조에 맞는 가벼운 API로 바꿔준다. 또한 버전 관리 기능이 있기 때문에 문제가 생겼을 경우에 롤백도 손쉽게 진행할 수 있으며 스냅샷 기능을 통해 현재 제공중인 API 인스턴스를 저장하여 활용할 수 있게도 해준다. 버전 관리와 스냅샷 기능으로 새로운 기능을 추가했다가 문제가 생겼을 경우에 다시 이전 버전으로 손쉽게 돌아갈 수 있게 해줌으로 운영상에 부담을 덜어주는 것이 가능하다. 복제 기능도 있기 때문에 기존 API와 비슷한 기능, 설계가 되어야 하는 API를 만들 때에도 새로 만들지 않고 복제 후 수정 방식으로 손쉽게 API를 만들 수 있다.

    그리고 IBM의 APIM은 API에 대한 강력한 접근 제어, 최적화를 통해 효율적인 보안성을 제공한다. 실제로 API를 외부에 오픈하는 순간 가장 문제가 되는 부분은 역시나 보안 및 확장성이다. API를 제공하는 기업은 API의 약점을 통해 기업의 자산이 탈취되는 것을 막아야 하며 API에 최대 부하가 걸리지 않도록 제어해야 한다. 이런 보안 및 확장성 요건을 해결하는 가장 좋은 방법은 목적에 맞게 설계된 가상 또는 전용 게이트웨이를 사용하는 것인데 IBM의 APIM은 업게 최고의 보안 게이트웨이인 WebSphere DataPower 서비스 게이터웨이 장비를 전용 게이트웨이로 사용한다. 이를 통해 APIM은 API에 대해서 안전한 API 권한을 정의할 수 있으며 효율적인 보안 관리가 가능해졌다.

    API가 만들어지고 API에 대한 권한 등이 정의가 된 이후에는 이 API를 널리 알려야 한다. 이 시점에서 개발자 커뮤니티를 끌어와야 하는데 IBM의 APIM은 API를 소셜화하여 개발자 커뮤니티에 널리 퍼질 수 있게 지원을 해준다. 즉, APIM은 이런 개발자 포털을 제공함으로 손쉽게 API를 사용할 수 있게 신속한 등록 절차를 제공해주고 개발자 포탈에 앱을 등록한 개발자들에게는 애플리케이션 ID를 부여하여 바로 API를 테스트하거나 API 소비에 대한 분석 정보를 확인할 수 있게 해준다. 즉, 기업에서 만든 API를 손쉽게 외부의 개발자들이 사용할 수 있는 장을 마련해준다는 얘기다.

    APIM을 통해 API를 만든 이후에는 관리가 필요한데 분석 및 측정 기능으로 비즈니스 관점에서 API를 관리할 수 있게 제공해주는 것 역시 IBM의 APIM의 특징 중 하나다. APIM은 API당 / 앱당 / 앱 개발자당 API 호출 수, 최소 / 평균 / 최대 API 응답 시간, 개별 API 요청에 대한 응답 시간, 요청 및 응갑 메시지에 대한 세부 사항 등과 같은 정보를 제공함으로 API 운영에 대한 통찰력을 제공해준다.

    그 외에 환경 제어 기능을 통해 API 운영 관리의 간소화시켜서 운영에 대한 부담을 덜어주게 만드는 것도 IBM의 APIM의 특징 중 하나다. IBM의 APIM은 최적의 사내 구축형 멀티테넌트 솔루션으로 환경 콘솔 사용자 인터페이스가 이미 포함되어 있으며 환경 운영자는 이 콘솔에서 API 관리 솔루션의 새로운 테넌트를 등록하고 환경을 모니터링할 수 있다. 운영자는 기업의 필요에 따라 환경 계층의 수를 늘릴 수 있으며, 노드 및 보안 인증서, 로드 밸런싱 설정 등을 구성할 수 있으며 노드의 추가, 편집, 제어 및 재시작, 재부팅의 작업이 가능하고 환경 복원이 끝난 뒤 환경을 동기화할 수도 있다. 모니터링에는 프로세서와 메모리 사용량, 디스크 공간과 트랜잭션 속도 등 다양한 노트 상태 관련 수치를 확인할 수 있으며 모니터 시스템 경고 및 사용자 인터페이스 활동이 환경 콘솔에 표시가 된다. 그리고 작업 중단 없이 고가용성이 보장되는 방식으로 이러한 모든 변경 사항을 런타임 중에 적용할 수 있다는 것이 

    IBM의 APIM에 대한 설명은 아래의 동영상을 참고해도 될 듯 싶다. 대략적으로 이런 식으로 동작하는구나 하는 것을 알 수 있을 것이다.


    위의 정보를 바탕으로 실제로 IBM의 APIM을 사용해봤다. API 관리 포인트를 만들어보고 그에 대한 다른 메뉴들을 살펴보았는데 실질적으로 더 많은 데이터가 연결되어야 아마도 이해하기 쉬울거 같다.

    APIM의 로그인 화면은 위와 같다.


    로그인을 한 후 API 연결을 위해 API를 등록해봤다.


    위의 정보처럼 API를 등록한 후 저장을 하고 다른 메뉴들에서 어떻게 반응하는지 살펴봤다.


    이제 API 등록을 했기 때문에 실질적인 데이터가 아직은 없는 관계로 Approvals에는 아무것도 보이지 않는다.


    API 관리를 위한 Plan을 만들어서 등록할 수 있다. 여러 API 관리 Plan을 작성하고 그것들을 카테고리로 묶어서 관리할 수도 있다.


    위에서 만들었던 API를 관리하는 화면이다. API의 내용이 수정되면 버전을 바꿀 수도 있다.


    앞서 얘기했던 것처럼 API를 막 만든 다음에 Plan을 설정했기 때문에 Plan에 맞춰서 데이터가 들어오기 전까지는 아무래도 관리 환경이 조성되지 않을 듯 싶다. 그래서 현재는 관리 환경이 없다고 나온다. 차후에는 관리 포인트를 연결시켜서 더 세밀한 관리를 할 수 있을 듯 싶다.


    개발자 조직을 위한 부분으로 개발자 포럼과 관계가 있는 듯 싶으나 아직 이 부분에 대해서 체크를 할 수 없었다.


    API의 호출 및 응답 시간 등 API 관련 데이터를 분석해서 그래프로 보여주는 부분이다. 이 내용을 토대로 현재 API가 얼마나 효과적으로 제공되고 있는지 확인할 수 있다.


    사용자 관리 화면이다.


    User Registries 화면이다. 사용자의 활동 환경을 제어할 수 있다.


    SSL을 사용해서 보안을 제공할 때 SSL 프로파일을 등록하는 화면이다.


    APIM의 환경을 설정하는 화면이다. 설정 및 포탈 내용, 권한 등을 제어할 수 있다.


    실제로 APIM을 사용해서 API를 관리하는 부분은 위의 동영상을 보면 알 수 있다. 제대로 관리하기 위해서는 API의 특성을 잘 알아야 하는데 전문적으로 웹 API를 만들어서 제공하는 전문가들이라면 위의 화면만 봐도 손쉽게 알 수 있겠지만 아무것도 모르는 사용자라면 조금은 배워야 하지 않을까 하는 생각이 들었다.


    현재 30일간 Free로 사용할 수 있도록 Trial 버전을 제공해주고 있으니 한번 사용해 보는 것도 괜찮을 듯 싶다.


    자세한 내용을 알고 싶으시다면 아래의 URL로 들어가서 살펴보길 바란다.

    http://ibm.co/1CGwZ31


    이 포스팅은 IBM의 의뢰로 소정의 원고료를 지원받아 주관적으로 작성되었습니다.

    댓글 0

Designed by Tistory.