Offcanvas

개발자 / 디지털 트랜스포메이션 / 비즈니스|경제 / 애플리케이션

칼럼 | 에코시스템 지원 API 및 애플리케이션을 개발하려면

2023.10.11 Isaac Sacolick  |  InfoWorld
에코시스템 지원(ecosystem-ready)은 엔지니어링, 보안 및 운영 관행에만 해당되는 것이 아니다. 데브옵스(DevOps) 부서가 알아야 할 사항은 다음과 같다.
 
ⓒ Getty Images Bank

한 조직이 클라우드 네이티브 마이크로서비스를 개발하고 API 키를 관리할 프로세스를 마련해 통합 옵션을 문서화했다. 데브옵스 부서는 API를 공개하고 애플리케이션 통합을 지원할 준비가 됐다고 생각한다. 하지만 API와 애플리케이션이 과연 에코시스템에 준비돼 있을까?

SaaS(Software as a Service) 플랫폼 기업은 플랫폼 에코시스템을 통합하고 자사 기술이 API와 플러그인 이상의 기능을 제공해야 할 중요성을 인지하고 있다. 기술은 고립된 섬처럼 존재할 수 없다. 마이크로소프트 PA(Power Automate), 재피어(Zapier), 조호(Zoho) 같은 IFTTT 플랫폼, 그리고 부미(Boomi), 뮬소프트(MuleSoft), 스냅로직(SnapLogic) 같은 통합 플랫폼과 연계돼야 한다.

에코시스템은 공급망, 내부 운영, 파트너, 고객을 연결하기 때문에 개별 플랫폼보다 비즈니스적으로 더 큰 의미를 갖는다. 책 ‘경쟁적 전략의 미래(The Future of Competitive Strategy)’에서 저자 모한 수브라마니암은 전통적인 기업뿐만 아니라 대부분의 기업이 생산 및 소비 에코시스템을 개발해, 새로운 제품군을 늘리고 효율성을 높이며 다른 디지털 트랜스포메이션을 실현할 수 있다고 밝혔다. 그는 생산 에코시스템을 데이터 가치를 실현하기 위한 기업 내부의 길로 정의했으며, 소비 에코시스템을 공급자, 고객, 파트너와의 외부 가치 사슬에 대한 연결고리로 정의했다. 

에코시스템 지원이란 무슨 의미인가?
세마포어 CI/CD(Semaphore CI/CD)의 공동 설립자 마르코 아나스타소브는 에코시스템 지원의 기본 정의를 언급했다. 그는 “에코시스템 지원 애플리케이션은 모듈식 디자인, 안전하고 잘 정의된 API, 탄탄한 모니터링 및 성능 도구를 우선시한다. 공개 표준을 통해 기존 시스템과 원활하게 통합되고 지속적인 테스트 및 배포 전략을 통해 안전한 릴리스를 확보할 수 있어야 한다. 중요 구성 요소로는 견고한 보안 조치, 실시간 시스템 모니터링, 컨테이너화와 마이크로서비스 등의 확장성 솔루션이 있다”라고 말했다. 

이 부분을 조금 더 분석할 수 있다. 

- 모듈식 디자인은 애플리케이션을 손쉽게 지원 및 개선할 수 있음을 의미한다.
- 잘 정의된 API는 문서화돼 있고 유즈 케이스가 정의돼 있음을 의미한다.
- 견고한 모니터링과 AI옵스(AIops)를 통해 고객은 API 또는 서비스 플랫폼이 일관되게 작동하는지 알 수 있다.
- 탄탄한 데이터를 통한 지속적인 테스트는 다운스트림 서비스가 훼손될 위험을 감소하는 데 도움이 된다.


에코시스템 지원 애플리케이션과 서비스는 기능 플래그를 활용하고 카나리아 배포를 사용하는 것이 좋다. 소비가 많은 애플리케이션에서 높은 안정성이 요구되는 경우라면 더욱 그렇다.

이러한 기본 사항 외에 에코시스템 지원은 데브옵스 부서가 테스트, 데이터 관리, ID를 중심으로 모범 사례를 따르고 있음을 의미한다. 부서는 서드파티 API, 데이터 소스, 프레임워크, 라이브러리 등의 종속성을 추적하는 데 집중해야 한다. 

바이오닉(Bionic)의 수석 시스템 엔지니어 데넨 몽스는 “에코시스템 지원 애플리케이션은 엄격한 코드 테스트 요건을 충족하고 NFR(Non-Functional Requirement)에 따라 아키텍처를 검증할 뿐만 아니라, 민감한 데이터 흐름 규정을 준수하며 의존성을 추적해야 한다. 이를테면 모든 서비스에 걸쳐 노출되고 소비되는 API에 대해 강력한 인벤토리를 확보하고, 데이터 브로커 서비스가 비밀 저장소, 인증 및 권한 부여 기능을 올바르게 구현하는지 검증하고, 보안 및 운영 위험을 유발하는 서드파티에 대한 종속성을 추적하는 방법이 있다”라고 말했다. 

보안 요구 사항과 테스트를 수용
기본 사항 외에도 에코시스템 지원 구성 요소는 보안 이벤트 및 인시던트가 사용 서비스와 애플리케이션으로 확산되지 않도록 하기 위해 견고한 보안을 구축해야 한다.

노네임 시큐리티(Noname Security)의 현장 CTO 필립 벨로이는 “훌륭한 에코시스템 파트너가 되려는 조직은 API를 통해 북행 및 남행(north- and south-bound) 통합을 최대한 간소화해야 한다. 조직은 API 보안 테스트와 표준 API 통합 문서를 통해 안전한 코드를 제공하는 데 집중해야 한다”라고 말했다. 

보안 요구 사항은 어떨까? 퀵베이스(QuickBase)의 제품 마케팅 관리자 브라이언 카페렐리는 서드파티 보안 스캔과 내장 DDoS(Distributed Denial of Service) 보호 기능이 필수라고 말했다. 그는 “그런 다음 사용자가 필요한 정보만 확인할 수 있도록 권한을 세분화된 셀 수준으로 설정해야 한다”라고 덧붙였다. 

EDB의 CPO 챈들러 호이싱턴은 “에코시스템에 사용 가능한 API를 만들려면 신뢰할 수 있고 잘 문서화된, 유지 관리가 용이하고 견고한 기반 시스템이 필요하다. 예를 들어 포스트그레SQL(PostgreSQL)은 데이터베이스 보호를 위한 암호화, 인증, 승인 등 아키텍처에 내장된 보안이 견고하기로 유명하다”라고 말했다. 

에코시스템 지원 구성 요소를 개발하는 조직은 기술 및 보안 표준을 준수해야 한다. 민감한 정보 및 규정 준수 요건이 있는 서비스의 경우 더욱 그렇다.

공개 표준을 준수
내부적으로 생태계 대비 구성요소를 확보하면 파트너, 고객, 기타 개발자가 외부로부터 근본적인 모범 사례의 증거를 확인할 때 더 효과적일 수 있다. 내부 모범 사례를 보여주는 방법은 설계자가 쉽게 평가하고 개발자가 더 쉽게 통합할 수 있는 공개 표준을 준수하는 것이다.  

많은 에코시스템 지원 애플리케이션이 권한 및 자격을 지원해야 하기 때문에 ID 관리부터 시작하는 것이 좋다. 데스코프(Descope)의 공동 설립자 리시 바가바는 “에코시스템 지원 애플리케이션은 네이티브 또는 SAML, OAuth, OpenID Connect, FIDO, WebAuthn 등 서비스 제공업체를 통해 모든 주요 공개 상호 운용 프로토콜과 표준을 지원해야 한다. 이를 통해 에코시스템 전반에서 사용자 ID의 안전하고 일관된 흐름을 확보하고, 애플리케이션과 통합하려는 파트너의 진입 장벽을 낮출 수 있다”라고 말했다. 

2번째 권장사항은 에코시스템 지원 구성 요소가 내부 진단뿐 아니라 사용 중인 애플리케이션과 서비스에서 서비스망의 문제를 역추적할 수 있도록 가시성을 구현하는 방법이다. 허니콤(Honeycomb)의 에코시스템 책임자 조지 미란다는 “모니터링 및 성능의 경우 OTel(OpenTelemetry)을 사용하는 것이 필수 요건이다. 에코시스템 지원 애플리케이션을 위해 Otel을 사용할 때 자주 간과하는 장점은 제품 통합의 용이성 및 재사용 가능성이다. 파트너십 기회에 데이터를 독점적으로 수집하기 위한 맞춤형 작업이 요구될 경우 이는 걸림돌이 된다”라고 설명했다.

다운스트림 통합의 간소화
에코시스템 지원 API, 서비스 및 애플리케이션의 문서화는 기본 사항에 불과하다. 기업은 다운스트림 개발자를 위해 통합을 더 쉽게 할 방법을 고민해야 한다.

웨이브메이커(WaveMaker)의 공동 설립자 겸 CTO 디팍 아뉴팔리는 “개발자 에코시스템을 조성하기 위해서는 API 문서화로는 부족하다. 개발자가 API를 사용하는 방법과 기존 데이터 소스에 통합해 고유한 혁신을 구현하는 방법을 손쉽게 파악할 수 있는 샌드박스 환경을 조성해야 한다”라고 말했다. 

아뉴팔리는 “디자인-개발-테스트- 배포 주기는 에코시스템에서 빈번하고 지루할 수 있다. 하지만 로우코드 플랫폼이 제공하는 것과 같은 API를 기반으로 구축된 시각적 개발 도구 및 UI 추상화를 사용하면 반복 작업 속도가 빨라지고 효율성이 높아질 수 있다”라고 전했다.

에코시스템 지원 구성 요소는 IFTTT 및 통합 플랫폼 이후를 예견해야 한다. 소비자도 로우코드/노코드 플랫폼으로 서비스와 애플리케이션을 구축할 수 있다. 이런 플랫폼에 쉽게 연결할 수 있도록 하는 것이 다운스트림 개발자를 확대하는 하나의 방법이다. 

생성형 AI 에코시스템에 대비
마지막으로 조직은 새로운 AI 에코시스템을 개발하고 통합할 수 있는 기회 등 생성형 AI의 유즈 케이스를 검토해야 한다. 예를 들어 기업이 서드파티 애플리케이션의 LLM 임베딩과 프롬프팅을 지원하는 에코시스템 친화적인 LLM을 구축하려 할 수도 있다.

도미노(Domino)의 데이터 사이언스 전략 및 교육 책임자 켈 칼슨은 “AI를 활용하기 위해 기업은 SDLC와 AI 모델 개발의 수명 주기를 일치시키고 급격히 확장되는 AI를 위한 새로운 데이터 소스, 인프라, 모델, 프레임워크 에코시스템을 지원해야 한다. 성공한 기업들은 개방적이고 유연한 하이브리드 개발 및 배치 플랫폼을 구현했으며, AI를 위한 E2E(End-to-End) 거버넌스 및 모니터링에 투자했다”라고 말했다.

결론
에코시스템 지원에는 단순히 엔지니어링, 보안, 운영 관행만 중요한 것이 아니다. 이는 다운스트림 사용자의 사용 편의성과 새 비즈니스 사례를 지원할 수 있는 미래에 대한 준비다. 데브옵스 부서가 이런 목표를 달성하면 에코시스템 지원 구성 요소가 비즈니스에 미치는 영향력도 더 커질 가능성이 높다. 

* Isaac Sacolick는 애자일, 데브옵스, 데이터 과학을 다룬 ‘Driving Digital: The Leader’s Guide to Business Transformation through Technology’의 저자다. ciokr@idg.co.kr
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.