AWS AppSync를 사용하여 독자의 옳은 행동을 실시간으로 유도하는 Public Good Software

Public Good Software는 언론 기사를 관련 사회 운동과 연계하여 뉴스에 대한 행동을 이끌어 내는 것을 목표로 하는 최고의 사회 운동 마케팅 플랫폼입니다. 게시자의 웹 사이트에 있는 기사에 포함된 이 회사의 Impact Unit 위젯은 이러한 상관 관계를 식별하고 독자들이 행동에 나서도록 유도합니다. Public Good Software는 비영리 단체와 미디어 파트너뿐만 아니라 사회 운동 캠페인에 적극적인 유명 브랜드와도 협력하고 있습니다.

미디어 파트너는 이 위젯을 콘텐츠 관리 시스템(CMS)의 마스터 템플릿이나 광고 서버에 통합합니다. Impact Unit의 이전 버전에서는 어떤 기사를 어떤 사회 운동과 연결해야 할지 결정하는 데 필요한 데이터를 API 호출을 통해 캡처했습니다. 그런데 막대한 API 호출 건수로 인해 위젯 작동에 대기 시간이 가중되었고 위젯의 기반 코드 크기로 인해 일부 게시자에게 문제가 발생하는 것으로 확인되었습니다. 이 같은 대기 시간과 코드 크기의 문제는 Public Good Software가 현재 고객의 요구를 충족하고 새로운 고객을 유치하는 데 걸림돌이 되었습니다. Public Good Software의 최고 기술 책임자인 Michael Manley 씨는 "고객들은 갈수록 더 많은 미디어 파트너가 참여하는 더 정교하고 복잡한 캠페인을 가지고 저희를 찾았습니다. 이러한 수요에 대응하려면 Impact Unit의 성능을 향상해야 했습니다."라고 말합니다.

"AWS AppSync 서비스를 담당하는 엔지니어 한 명이 한 달도 안 되는 기간 내에 개념 단계에서 프로덕션 단계까지 진행할 수 있었습니다."

– Michael Manley, 최고 기술 책임자, Public Good Software

 

  • Public Good 소개
  • Public Good Software는 선도적인 사회 운동 마케팅 플랫폼을 운영합니다. 이 플랫폼은 개인화된 상황별 추천을 통해 미디어 회사와 사회 운동에 적극적인 브랜드가 사회 운동을 중심으로 한 참여와 행동을 독려할 수 있도록 지원합니다.

  • 이점
    • 한 달도 안 되는 기간에 API를 개선하고 프로덕션 환경으로 전환
    • 업데이트된 API 덕분에 고객 경험이 개선되고 페이지 로드 시간이 단축됨
    • 가변적인 사이트 트래픽에 맞추어 원활하게 애플리케이션 크기 조정
    • 약 12 대 1 또는 12 대 2의 비율로 API 호출 감소
    • 인프라 문제를 해결해야 하는 부담을 없앰으로써 개발자가 API 개선에 집중할 수 있게 됨
  • 사용된 AWS 서비스

한 달도 채 되지 않는 기간 내에 개념 증명 단계에서 프로덕션 단계까지 진행

Public Good Software는 API를 위한 오픈 소스 쿼리 언어인 GraphQL을 시험해볼 계획이었습니다. Manley 씨는 "GraphQL을 올바르게 사용할 경우 Impact Unit이 서비스를 한두 번만 호출하면 된다는 것을 알게 되었습니다. GraphQL을 사용하면 여러 서비스에서 데이터를 개별적으로 요청하는 것이 아니라 원하는 데이터를 정확히 지정하고 한 번에 요청할 수 있습니다."라고 말합니다. Amazon Web Services(AWS)가 GraphQL 관리형 서비스인 AWS AppSync를 제공한다는 사실을 알게 된 Manley 씨의 팀은 이를 통해 API 호출 수를 줄이고 인프라를 유지 관리할 필요 없이 대기 시간 문제를 해결할 수 있을지 알고자 했습니다.

Public Good Software 팀은 월요 기획 회의에서 AWS AppSync 사용에 대해 논의하고 그 주 금요일까지 개념 증명을 작성을 마쳤습니다. 그 결과, 팀은 HTTPS를 통한 API 호출 수를 약 12개에서 1~2개로 즉시 줄일 수 있었습니다. 또한 별도의 API 서버를 유지 관리하지 않고도 이 같은 결과를 얻을 수 있었습니다. 솔루션을 찾는 기간만 3개월로 계획했던 Manley 씨는 솔루션을 이렇게 빨리 찾아낸 데 놀라움을 금치 못했습니다. 팀은 불과 한 달 만에 AWS AppSync를 구현했습니다.

Manley 씨는 "출시 시간이 짧아진 것이 가장 큰 이점이었습니다. AWS AppSync 서비스를 담당하는 엔지니어 한 명이 한 달도 안 되어 개념 단계에서 프로덕션 단계까지 진행할 수 있었습니다. 다음으로 가치 있는 이점은 가변적인 트래픽에 따라 서비스를 확장할 수 있다는 것입니다."라고 말합니다. Public Good Software는 AWS AppSync를 사용하여 GraphQL API를 제공하는 것이 회사의 애플리케이션 스택에 자체 공급자를 구현하는 것보다 반복적으로 발생하는 비용과 인건비 측면 모두에서 훨씬 저렴할 것으로 생각합니다.

AWS AppSync를 사용하면서 클라이언트에서 백엔드로 전달해야 할 호출 수가 감소함에 따라, 행동을 유도할 수 있는 콘텐츠를 제공하는 대기 시간이 단축되었습니다. AWS AppSync와 GraphQL의 조합을 사용한 결과 단일 네트워크 요청을 통해 여러 마이크로서비스에서 데이터를 가져오고 집계할 수 있게 되었습니다. Manley 씨는 "AWS AppSync를 통해 Impact Unit 위젯과 함께 보다 간결한 JavaScript 라이브러리를 제공할 수 있었고, 덕분에 코드 크기와 대기 시간이 줄었습니다. 이는 복잡한 캠페인에서 고객에게 향상된 경험을 제공하고 미디어 파트너의 페이지 로드 시간을 단축할 수 있게 되었다는 것을 의미했습니다."라고 말합니다.

인프라 문제에 대한 부담을 없애고 경쟁력 확보에 집중

Public Good Software는 시장에서 회사를 차별화하는 주된 요인은 기술 역량이 아니므로 관련 업무를 다른 곳에 넘겨야 한다는 철학을 갖고 있습니다. 회사 입장에서 이는 AWS 제품에 업무 수행을 위임하는 것을 의미합니다. 이 같은 업무 부담을 AWS에 넘기면 팀이 API 및 기타 주요 프로젝트에 더 집중할 수 있습니다. Manley 씨는 "저희 팀에는 엔지니어가 4명뿐입니다. 저희 같은 규모의 회사라면 AWS가 이미 관련 기능을 구축한 인프라 업무의 80~90%를 AWS에 넘기는 것이 타당합니다. 그러면 Public Good Software만의 고유한 10~20%의 업무에 시간을 할애할 수 있습니다."라고 말합니다.

Public Good Software는 기존 마이크로서비스와 클라이언트 애플리케이션 사이의 계층 역할을 할 수 있는 여러 클로즈드 소스 및 오픈 소스 GraphQL 공급자를 고려했습니다. 하지만 공급자마다 각기 추가적인 운영 오버헤드를 수반했고, 이는 대부분 팀이 프로비저닝하고 강화하고 확장해야 할 애플리케이션 서비스의 형태로 나타났습니다. Manley 씨는 GraphQL API를 제공하는 것은 경쟁력을 높이는 데 상당한 효과가 있지만 이를 지원하는 인프라의 운영 및 유지 관리하는 것은 경쟁력을 높이는 데 그다지 도움이 되지 않는다고 생각합니다. "API의 인프라에 대한 운영 책임을 위임하고 대신 API의 동작을 맞춤화하는 데 리소스를 집중할 수 있다면 큰 도움이 될 것입니다. 바로 이것이 저희가 AWS 서비스를 이용하는 이유입니다. AWS AppSync는 애플리케이션 스택의 상위 수준에서 확장 가능한 상용 기능을 제공합니다."

기계 학습 모델 개선

Public Good Software는 현재의 성공에 안주하지 않고 고객에게 더욱 향상되고 차별화된 서비스를 제공할 방법을 끊임없이 모색하고 있습니다. 개발자와 데이터 사이언티스트가 기계 학습 모델을 신속하게 구축하고 훈련하고 배포할 수 있도록 지원하는 서비스인 Amazon SageMaker를 활용할 방안을 모색 중인 만큼, 앞으로 기계 학습의 활용도가 더욱 높아질 전망입니다. 이제 목표는 저널리즘 콘텐츠와 관련 사회 운동 간의 매칭 프로세스를 획기적으로 확장하는 데 기계 학습과 자동화된 텍스트 분석을 어떻게 활용할 수 있을지 알아내는 것입니다. Manley 씨는 "저희가 하는 일 중 큰 부분은 저널리즘 콘텐츠를 사회 운동과 연계하는 방법을 찾아내는 것입니다. 어떤 콘텐츠가 운동과 연계될 수 있을지를 알아낼 방법, 어떤 조직을 보여주고 어떤 행동을 제안할지 알아낼 방법, 어떤 사회 운동 캠페인이 적합할지를 알아낼 방법을 찾아야 하는 거죠. 이러한 과제를 해결하기 위해 Amazon SageMaker를 사용하여 기계 학습 모델을 훈련하고 있습니다."라고 말합니다.


자세히 알아보기

자세한 내용은 thinkwithwp.com/appsync를 참조하세요.