AWS Step Functions를 통해 서비스 플로우 개선 – 코카콜라 지불 서비스 사례




AWS Step Functions를 통해 서비스 플로우 개선 – 코카콜라 지불 서비스 사례

Amazon의 혁신 문화에 대한 프레젠테이션을 할 때가 많은데 이때마다 Amazon 창업자인 Jeff Bezos의 말을 인용한 슬라이드로 시작합니다.

고객과 함께 머리를 맞대고 앉아 우리가 어떻게 그들의 창의성을 강화시켰는지 알아보고, 함께 새로운 꿈을 추구하는 것을 좋아합니다. 올해 초에 AWS Step Functions 및 기타 AWS 서비스를 사용하여 Coke.com Vending Pass 프로그램을 지원한 방법을 알아보기 위해 Coca-Cola Company의 Patrick과 대화를 나눈 적이 있습니다.

이 프로그램에는 Coca-Cola Vending Pass를 사용하여 모바일 결제를 지원할 수 있는 기능을 갖춘 자동 판매기에서 제품을 구매하여 얻은 음료 보상이 포함됩니다. 참가자는 자신의 NFC 지원 휴대폰을 갖다 대서 Apple Pay 또는 Android Pay 구매를 완료함으로써 자동 판매기에서 자신을 식별하고 향후 무료 자동 판매기 구매를 위한 크레딧을 획득할 수 있습니다.

AWS SNS 토픽과 AWS Lambda 기능의 조합을 통해 기존 백엔드 코드 중 일부에 대한 한 쌍의 호출을 시작하여 자동 판매기 포인트를 계산하고 참가자의 레코드를 업데이트했습니다. 그러나 백엔드 코드는 반응이 느리고 시간 종속성이 있어 Vending Pass 참가자에게 혼동을 줄 가능성이 있는 업데이트 누락이 발생할 수 있었습니다. 이 문제에 대한 초기 해결책은 매우 간단했습니다. 즉, 두 호출 사이에 90초 지연을 포함하도록 Lambda 코드를 수정하는 것이었습니다. 이것으로 문제는 해결되었지만 아무 이유도 없이 프로세스 시간을 소비했습니다(Lambda 함수 사용에 대한 요금 청구는 100ms 간격으로 요청 기간을 기반으로 함).

솔루션을 보다 비용 효율적으로 만들기 위해 팀은 AWS Step Functions를 사용하여 매우 간단한 상태 시스템을 구축했습니다. 이전 블로그 게시물에 썼듯이 Step Functions는 구축하기 쉬운 시각적 워크플로를 사용하여 분산 애플리케이션 및 마이크로서비스의 구성 요소를 규모에 따라 조정합니다.

Coke는 매우 간단한 상태 시스템을 구축하여 비즈니스 로직을 간소화하고 비용을 절감했습니다. 사용자는 동등하게 간단하거나 순차 및 병렬 실행 등의 기타 Step Function 기능과 의사를 결정하고 대체 상태를 선택할 수 있는 기능을 사용할 수 있습니다. Coke 상태 시스템은 다음과 같습니다.

FirstStateSecondState 상태(작업 상태)는 Step Functions가 90초 지연(대기 상태)을 구현하는 동안 적절한 Lambda 함수를 호출합니다. 이 수정 사항을 통해 로직을 간소화하고 비용을 절감했습니다. 함께 정상적으로 작동되는 방식은 다음과 같습니다.

다음 단계
이 초기 성공으로 인해 서버리스 컴퓨팅에 대해 자세히 알아보고 다른 프로젝트에 이 서버리스 컴퓨팅의 사용을 고려하게 되었습니다. Patrick은 생산성의 향상과 개발자의 행복을 이미 실현했다고 말했습니다. 개발자는 더 이상 서버를 프로비저닝할 때까지 기다릴 필요가 없으며 이제 (Jeff의 말처럼) 자신의 창의성을 발휘하고 자신의 꿈을 추구할 수 있습니다. 그들은 Step Functions를 사용하여 애플리케이션의 확장성, 기능성 및 안정성을 향상시킴으로써 Coca-Cola Vending Pass의 초기 사용을 훨씬 능가할 것으로 예상합니다. 예를 들어 Coke는 Lambda, Step Functions, API Gateway를 사용하여 영양 정보를 식품 서비스 파트너에게 게시할 수 있는 서버리스 솔루션을 구축했습니다.

Patrick과 그의 팀은 이제 기계 학습 및 인공 지능을 실험하고 있습니다. 그들은 프로토타입 애플리케이션을 구축하여 Instagram의 사진 스트림을 분석하고 맛과 향미의 추세를 추출했습니다. 애플리케이션(빠른 1일 프로토타입으로 구축)은 Lambda, Amazon DynamoDB, Amazon API Gateway, Amazon Rekognition을 사용했으며 Patrick의 말에 따르면 “큰 승리이자 조력자”였습니다.

서버리스 애플리케이션을 보다 신속하게 구축하기 위해 개발 팀은 서버리스 애플리케이션 프레임워크를 기반으로 하는 내부 CI/CD 참조 아키텍처를 생성했습니다. 이 아키텍처에는 내부 서비스 및 자산에 액세스할 수 있는 몇 가지 보일러플레이트 코드와 서버리스의 가이드 투어가 포함되어 있습니다. Patrick은 이 모델을 통해 유망한 프로젝트를 “컴퓨터를 가진 사람”에서 전체 개발 팀으로 쉽게 확장할 수 있다고 말했습니다.

AWS re:Invent에서 제 동료인 Tim Bray 다음으로 Patrick이 무대에 오를 예정입니다. 직접 만나기 위해서는 SRV306 – 현장에서의 상태 시스템! 고객이 AWS Step Functions를 사용하는 방법에 참석하시기 바랍니다.

참고) 2016년 AWS re:Invent에서 Cocacola가 직접 발표한 세션 동영상도 참고하시기 바랍니다.

Jeff

이 글은 Things Go Better With Step Functions의 한국어 번역입니다.

Source: AWS Step Functions를 통해 서비스 플로우 개선 – 코카콜라 지불 서비스 사례




About KENNETH 9242 Articles
지락문화예술공작단

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.