GraphQL은 독특하고 강력한 방식으로 데이터를 연결하는 매우 강력한 쿼리 언어입니다. GraphQL의 가장 흥미로운 사용 사례 중 하나는 은행 산업으로, 다양한 데이터 소스와 사용 사례에 걸쳐 놀라운 가치와 통찰력을 제공합니다. 아래에서 GraphQL과 은행에서의 몇 가지 사용 사례를 살펴보겠습니다. 자세히 살펴보겠습니다!
GraphQL이란?
은행업에서 GraphQL 의 구체적인 예를 논의하기 전에 GraphQL이 무엇인지 간단히 살펴보겠습니다. GraphQL 은 클라이언트가 데이터 측면에서 필요한 것을 정확히 요청하고 필요한 방식으로 요청할 수 있는 API용 쿼리 언어입니다. GraphQL은 원래 2012년 Facebook에서 개발했으며 2015년 오픈소스 프로젝트로 출시되었습니다. 그 이후로 핵심 기술을 확장하는 여러 포크와 진화를 통해 반복되었습니다.
GraphQL에는 다음과 같은 엄청난 이점이 있습니다 .
- 매우 유연한 쿼리 : GraphQL 요청은 클라이언트의 정확한 데이터 요구 사항을 중심으로 공식화됩니다. 데이터가 고정된 세트와 형식으로 설정되는 기존 API와 달리 GrapQL은 더 많은 양의 사용자 제어를 허용하여 과도한 페칭과 과소 페칭을 줄이는 동시에 운영 적합성을 개선합니다.
- 단일 엔드포인트 : GraphQL은 사용자가 데이터를 제공하고, 형성하고, 포맷할 수 있도록 허용하기 때문에 단일 엔드포인트를 사용하여 주어진 구조의 전체 데이터를 제공할 수 있습니다. 이를 통해 대규모 사용 사례를 대폭 간소화하고 훨씬 더 효율적이고 간소화된 흐름을 만들 수 있습니다.
- 강력한 타이핑 : GaphQL은 강력한 타이핑이며, 정의된 스키마가 쿼리할 수 있는 내용과 방법을 제어합니다. 이를 통해 클라이언트와 서버 간의 강력한 계약이 가능해져 보안, 사용자 경험 및 대규모 데이터 흐름이 향상됩니다.
- 내성 : GraphQL은 클라이언트가 스키마 자체를 쿼리할 수 있도록 합니다. 이를 통해 서비스에 대한 더 깊은 통찰력과 이를 중심으로 구축하는 방법에 대한 더 나은 이해가 가능해집니다.
은행업에서 GraphQL을 사용하는 4가지 예
이제 간단히 살펴보았으니, 현대 뱅킹에서 GraphQL을 사용하는 몇 가지 사례를 살펴보겠습니다.
1. National Australia Bank
내셔널 오스트레일리아 은행(NAB)는 호주 최대 규모의 은행 중 하나로, 호주, 뉴질랜드, 아시아 전역에 걸쳐 수천 개의 지점을 운영하고 있으며, 전 세계 고객에게 900만 명의 서비스를 제공하고 있습니다.
크고 유서 깊은 금융 기관으로서 NAB는 대부분의 은행 기관과 동일한 현실에 시달렸습니다. 시간이 지남에 따라 기술적 복잡성이 증가했고, 모놀리식 코드베이스는 혁신에 직면하여 다루기 어려워졌습니다. NAB는 시장 점유율을 효과적으로 확립하기 위해 해결해야 할 네 가지 일반적인 문제를 파악했습니다.
- 중복 문제 : 빌드 노력이 중복되어 새로운 기능을 배포할 때 추가 비용과 골치 아픈 일이 발생했습니다. 각 새로운 기능은 다른 플랫폼과 채널에 맞게 빌드해야 했습니다.
- 병목 현상 : 심각한 개발 병목 현상에도 불구하고 여러 제품을 서비스하는 것이 어려워져 효과적인 유통이 사실상 불가능해졌습니다.
- 일관되지 않은 경험 : 다양한 상황에 맞춰 여러 제품을 구축했기 때문에 해당 제품의 UI와 접근성이 매우 일관되지 않았으며, 이로 인해 사용자와 개발자 경험이 좋지 않았습니다 .
- 고위험 프런트엔드 배포 : 모놀리스 기반의 각 폼과 기능에 대한 프런트엔드를 배포한다는 것은 혁신을 위한 개발 환경이 제대로 갖춰지지 않았다는 것을 의미하며, 이로 인해 상당한 위험과 구현의 어려움이 초래되었습니다.
이러한 문제를 해결하기 위해 NAB는 새로운 전략인 NAB-X라는 플랫폼을 채택했는데, 이 플랫폼은 프론트엔드에 대한 마이크로서비스 접근 방식을 통해 서비스와의 상호 작용을 간소화했습니다 . 다양한 상황에서 애플리케이션과 인터페이스를 구동하기 위해 이 프런트엔드 경험을 효과적으로 구현하기 위해 NAB는 GraphQL을 핵심 토폴로지로 채택하여 높은 수준의 유연성을 허용했습니다.
그 결과, 안정적인 백엔드가 복잡한 인터페이스 네트워크와 인터페이스될 수 있는 매우 효과적인 시스템이 탄생했습니다. NAB는 GraphQL이 최소한의 학습 곡선을 가지고 있으며 이미 생산성과 애플리케이션 성능 이점을 제공했다고 언급합니다.
"GraphQL을 사용하면 프런트엔드 코드와 백엔드가 상호 작용하는 데 강력한 형식화 및 균일한 메커니즘이 생겨서 분산된 취약한 클라이언트 구현을 피할 수 있습니다. 이는 고객에게 가능한 한 빠르고 안전하게 기능을 제공하려는 목표와 일치합니다. 더 광범위하게는 미래에 깨끗한 페더레이션 GraphQL 서비스의 디자인을 탐색할 기회가 있습니다."
2. Varo
Varo는 말 그대로 현대적인 은행입니다. 2017년에 설립된 Varo는 현대 기술과 접근 방식으로 기존 뱅킹을 혁신한다는 구체적인 목표로 시작되었습니다 . 따라서 처음부터 다양한 서비스, 플랫폼 및 기기에서 다양한 사용자에게 최상의 서비스를 제공하는 방법에 중점을 두었습니다. 2021년까지 Varo는 400만 개의 계정을 호스팅했고 한 달에 수억 건의 서비스 요청을 처리했습니다.
이 엄청난 양의 데이터를 처리하기 위해 Varo는 다양한 사용 사례를 충족하기 위해 연결된 마이크로서비스 구현을 구축해야 했습니다. Varo는 이 높은 처리량 요구 사항을 충족하기 위해 Apollo와 GraphQL을 채택했습니다. 엔지니어링 부문 수석 이사인 Sundar Siva는 다음과 같이 설명합니다 .
"Varo Bank를 출시하기 전에는 모놀리식 방식으로 표준 API 게이트웨이를 활용한 결제 앱인 Varo Money가 있었습니다. 하지만 Varo Bank를 구축하는 데 필요한 마이크로서비스 수를 감안하면 모놀리식을 사용하면 몇 년이 걸렸을 것입니다. 그런 시간이 없었습니다. Varo Bank를 통해 완전히 새로운 기술 스택을 처음부터 구축할 기회가 생겼습니다. GraphQL과 Apollo Federation을 사용해야 한다는 것을 알았습니다. 대규모로 구성 가능한 아키텍처를 위한 다른 실행 가능한 솔루션은 없습니다."
Varo는 GraphQL을 핵심 기술로 만들기 위해 슈퍼그래프의 개념을 채택했습니다 . 슈퍼그래프는 본질적으로 회사와 데이터, 서비스, 프레임워크, 교환 등에 대한 통합된 관점을 나타냅니다. 다시 말해, 그래프의 그래프로, 더 빠른 진화와 더 유연한 소비를 가능하게 합니다. 궁극적으로 이는 GraphQL로 구동되는 모놀리스보다 훨씬 더 모듈화되고 확장 가능한 시스템으로, 데이터와 시스템이 필요한 곳에 존재할 수 있도록 합니다.
이러한 접근 방식을 통해 Varo는 빠르게 확장하여 궁극적으로 매우 효율적인 시스템을 통해 월 5억 건 이상의 요청을 처리했습니다.
3. 골드만삭스와 Legend GraphQL
현대 은행업의 가장 흥미로운 측면 중 하나는 고전적인 사용자 구조와 빠르게 움직이고 혁신해야 할 필요성 사이의 병치입니다. 한때 원장에 있는 이름과 금액의 모음이었던 것이 상호 연결되고 복잡한 일련의 사업, 개인, 과세 대상 법인 등으로 바뀌었습니다.
현대 금융 서비스를 제공하기 위해 방대한 양의 상호 연결된 데이터를 처리하는 시스템은 금만큼이나 가치가 있게 되었습니다. 골드만삭스는 이러한 가치를 인식하고 Legend 라는 GraphQL 중심 플랫폼을 Fintech Open Source Foundation(FINOS) 에 기여하여 핀테크와 뱅킹을 위한 차세대 데이터 모델링을 제공하고자 합니다.
Legend는 데이터를 연결하고 변환하기 쉽게 만드는 것을 중심으로 구축되었습니다. 연합 시스템을 통해 데이터 소스를 연결하는 GraphQL 리졸버를 구현함으로써 데이터를 다양한 인스턴스, 사용 사례 및 인터페이스에 표면화하고 제공할 수 있습니다. 이를 통해 그래프를 통해 일종의 연합 계약을 수립하여 정보를 연결할 뿐만 아니라 탐색할 수 있습니다. Legend의 핵심 제공은 고품질의 상호 연결된 데이터를 제공하는 데 달려 있습니다 .
이는 은행업에 필요한 결정을 살펴볼 때 적용됩니다. 예를 들어 은행이 돈을 대출하기로 결정할 때 해당 기관, 사업 기관과의 연결, 대출 내역 및 기타 데이터 포인트를 고려해야 합니다. 이러한 데이터 포인트는 항상 가중치나 영향이 동일하지는 않지만 가치가 있으며 맥락적으로 고려해야 합니다. Legend는 의사 결정권자에게 필요한 맥락, 형태 및 기능에 따라 데이터를 제공하여 이 프로세스를 보다 쉽게 만들고자 하며, 이를 통해 대규모로 효과적인 의사 결정을 보다 쉽게 내릴 수 있도록 합니다.
4. Banco Bilbao Vizcaya Argentaria(BBVA), Deeptracy 및 GraphQL
GraphQL이 실제로 적용된 또 다른 좋은 사례는 Banco Bilbao Vizcaya Argentaria(BBVA로 더 잘 알려짐)가 배포한 Deeptracy를 다시 작성하려는 노력입니다. BBVA는 금융 서비스 기관이며, BBVA Innovation Labs로 알려진 반복적 기술 부서는 수년 동안 산업 기술을 발전시켜 왔습니다.
그들의 제안 중 하나인 Deeptracy 는 타사 라이브러리의 보안 문제를 식별하는 데 도움이 되는 오픈소스 도구입니다. 이것은 모든 기술 스택, 특히 핀테크 에서 중요한 보안 구성 요소입니다 . 원래 솔루션은 매우 유용했지만 프로젝트 소유자인 Roberto Martinez는 코드베이스를 개선하여 시스템을 더 쉽고 효율적으로 통합하고자 했습니다. 이를 위해 Martinez는 많은 코드를 다시 작성하고 Deeptracy에 현재 및 미래의 사용 사례를 모두 충족할 수 있는 충분한 유연성을 제공해야 했습니다.
마르티네즈는 코드베이스를 다시 작성하는 데 도움이 되는 두 가지 솔루션을 채택했습니다. 첫 번째는 Hasura를 API 관리 플랫폼 으로 채택하여 다양한 사용 사례에 걸쳐 강력한 거버넌스 와 관리를 구축하는 것이 었습니다. 두 번째는 GraphQL을 채택하여 사용자 사례에 따라 반복 및 확장할 수 있는 방식으로 기본 시스템과 기능을 연결할 수 있었습니다. GraphQL을 채택한다는 것은 기본 코드만 개발하면 되고, 사용 사례는 사용자가 정의한 특정 호출 및 상호 작용에 의해 개발되고 제공됨을 의미했습니다.
Hasura가 게시한 사례 연구 에 따르면 , 이 플랫폼은 로베르토의 개발 시간을 2개월에서 약 3주로 줄이는 데 도움이 되었습니다. 게시물에서 이 접근 방식의 이점은 매우 명확하게 설명되어 있습니다.
"GraphQL API 덕분에 그의 유지 관리 작업 부하가 훨씬 줄었습니다. 특정 데이터를 가져오기 위해 새로운 API를 작성할 필요가 없으므로 반복하기가 훨씬 쉬울 것입니다. BBVA가 다른 소프트웨어를 DeepTracy와 통합하면 문서화 및 커뮤니케이션 요구 사항이 크게 줄어들 것입니다."
출처: https://nordicapis.com/how-modern-banking-is-using-graphql
'IT정보' 카테고리의 다른 글
Chrome 132 베타가 출시됩니다! (0) | 2024.11.18 |
---|---|
코딩 기술을 향상시키는 최고의 오픈소스 프로젝트들🔥 (0) | 2024.11.17 |
프론트엔드 프레임워크 비교: Angular vs React vs Vue.js - 어느 것이 내 프로젝트에 적합할까? (번역) (0) | 2024.11.14 |
2025년에도 PHP는 여전히 배울 만한 언어일까? (번역) (0) | 2024.11.14 |
2024년 최고의 아이콘 라이브러리 모음 (번역) (0) | 2024.11.13 |