AWS Summit Seoul 2023 첫 방문 : DBA의 이야기

Beaver Lee
Spoon Radio
Published in
7 min readMay 19, 2023

안녕하세요. SpoonRadio SRE 팀에서 DBA 업무를 담당하고 있는 Beaver(이선영)입니다. AWS Summit Seoul 2023에 참석할 수 있는 기회를 주셔서 다녀오게 되었습니다. 오늘은 제일 인상 깊었던 세션인 “삼성전자/쿠팡의 대규모 트래픽 처리를 위한 클라우드 네이티브 데이터베이스 활용”에 대해서 이야기해 보고자 합니다.

현대 어플리케이션의 특징

현대의 어플리케이션은 전 세계의 다양한 기기를 사용하는 수많은 사용자들에게 대규모 데이터를 효과적으로 제공하기 위해 AWS 클라우드 네이티브 어플리케이션 구축을 하고 있습니다. AWS 클라우드 네이티브 어플리케이션은 AWS의 클라우드 인프라를 최대한 활용하여 개발, 배포, 운영되는 애플리케이션으로 높은 확장성, 운영 효율성 및 빠른 변화에 대응할 수 있는 유연성을 얻을 수 있습니다.

이를 활용함에 있어서 각각의 기업들은 고민을 가지고 있습니다. 삼성은 나에게 맞는 데이터베이스 선택에 대해서 쿠팡은 물류 서비스 확장에 따른 트래픽 증가에 따른 DBA(데이터베이스 관리) 활용에 대해 고민을 하고 있습니다.

AWS 데이터 베이스

AWS 데이터베이스에는 다양한 종류가 있습니다. 목적에 적합한 것을 선택해야 합니다. 그러기 위해서는 어플리케이션의 워크로드, 데이터의 형태, 어플리케이션의 성능 요구사항, 운영 부담에 대해 고려해야 합니다.

삼성전자의 “Shared Repository Architecture Style” 디자인 전략

삼성전자는 Rich Communication Service로 메시지, 파일 전송, 채팅에 대한 서비스가 있었고 2019년에 처음으로 삼성전자 핸드폰에 탑재되었습니다. 트래픽이 증가함에 따라서 정합성과 성능에 대한 문제가 발생하였습니다. 이에 따라서 재설계로 마이크로 서비스 아키텍처와 하위 도메인 분리를 진행하였습니다.

삼성전자에서의 재설계 과정에서 얻은 두 가지 경험에 대해 들려주셨습니다.

첫 번째는 챗봇 브랜드 정보 제공 서비스-SAMSUNG RCS 2.0 CHATBOT PROFILE SERVICE에 대한 경험입니다. 해당 서비스는 높은 읽기 성능 품질이 요구되었습니다. 빈번한 읽기가 일어나지만 쓰기는 적게 발생하였습니다.

  • Aurora : 다중 AZ 배포 및 자동 복제 기능을 통해 읽기 작업을 분산시켜 데이터의 빠른 조회와 응답속도를 보장합니다.
  • ElasticCache — Key event subscription : key event subscription은 분산 시스템에서 데이터의 변경 사항을 감지하고 이벤트에 대한 구독자에게 이벤트를 알릴 수 있습니다.
  • Data Provider Service — Local : Local은 읽기 성능을 향상시킵니다.

두 번째는 가입자 연결 정보 제공 서비스-SAMSUNG RCS2.0 ALLOCATION SERVICE에 대한 경험입니다. 해당 서비스는 메시지 누락, 오 전송에 매우 민감, 연결 정보 획득 성능이 메시지 송신 성능에 영향을 줍니다.

  • DynamoDB — Strong consistency read: Strong consistency read는 데이터 불일치를 방지하고 일관된 결과를 보장합니다.
  • ElasticCache : 캐싱 서비스로 데이터를 빠르게 조회합니다.
  • Data Provider Service — Elastic Cache consistency lock : 클라이언트 간에 동시에 발생하는 데이터 접근을 제어하여 일관성을 보장한다. Elastic Cache consistency lock은 동시 업데이트로 인한 데이터 충돌을 방지합니다.

목적에 맞는 Managed Service도메인 특성을 반영한 전략이 결합되어 견고한 서비스를 만든다.

대용량 트래픽, 쿠팡의 DB 엔지니어가 클라우드를 사용하는 방법

쿠팡에서는 더 효율적인 업무를 위해서 스마트 지원 서비스, 블루/그린 서비스에 대해서 개발을 진행했습니다.

  • 스마트 지원 서비스 : DML, DDL, ACL 작업 요청이 DML 681%, DDL 836%, ACL 235% 다음과 같은 비율로 증가함에 따라서 반복되는 작업을 자동으로 수행하도록 만들게 되었습니다. 해당 서비스는 작업을 요청하기 전에 테이블, 인덱스에 대한 size와 같은 상세 설명을 보여주었습니다. 또한 validation 서버를 통해서 ddl syntax 유효성을 체크하고, 원하는 시간으로 스케줄링하여 특정 시간에 대한 작업이 불필요 해졌습니다.
스마트 지원 서비스
  • 블루/그린 서비스 : 클러스터 그룹 간의 서비스 트래픽의 흐름 변경을 제어하여 데이터베이스 가용성을 확보하게 됩니다. 서버 버전 패치, 데이터 마이그레이션, 대용량 테이블 변경 시에 유용하게 사용할 수 있습니다.
쿠팡의 블루/그린 서비스

마무리하며..

한 달 전부터 DBA로 일하고 있는 저에게는 데이터베이스를 바라보는 관점이 모호하고 불분명했습니다. 그러나 AWS Summit에 참석하며 얻은 경험은 저에게 매우 소중한 시간이었습니다.

데이터베이스를 어떤 관점으로 바라보아야 하는지에 대해 생각해 볼 수 있었습니다. 그 중에서도 삼성전자의 경험을 바탕으로 읽기성능이 요구되는 경우에 Aurora + ElasticSearch — Key event subscription를 사용하면 좋다는 것을 알게 되었습니다. 현재 SpoonRadio에서는 Aurora, RDS, DynamoDB, DocumentDB, ElasticCache와 같은 다양한 데이터베이스를 환경 및 도메인 특성에 맞춰 사용하고 있습니다. 앞으로는 정합성, 성능을 고려하여 더 적합한 데이터베이스를 사용하고 싶습니다.

또한, 자동화를 통해 반복되는 작업을 최소화하여 더 가치 있는 업무에 집중할 수 있는 환경을 스스로 만들어 갈수 있다는 것을 알게 되었습니다. 그래서 저는 SpoonRadio에서 반복되는 업무를 찾아내고, 이를 자동화하는 작업을 해보고 싶습니다.

이런 경험을 통해 저는 더욱 깊이 있는 관점으로 문제를 바라볼 수 있게 되었고 앞으로 더 나은 DBA로 성장해 나갈 것입니다.

AWS Summit 참석 후기

AWS Summit에서 세션뿐만 아니라 부스를 방문하여 체험도 하였습니다. AWS 서비스로 만들어진 체험형 데모 부스에 다양한 것들이 있었습니다. One Million Trees에서는 NFT를 활용하여 가상의 나무를 심어보았고, My Emotion Gardens에서는 AI 기술을 사용하여 사용자의 감정을 파악하여 개인화된 정원을 생성해 보았습니다. 이날 제 기분은 “기쁨”이었습니다.

처음 참석하는 AWS Summit이었기 때문에 모든 세션에 참석하고 싶었지만 참석하지 못한 점이 아쉬웠습니다. 그러나 직접 참석하지 않으면 경험할 수 없는 멋진 경험들을 할 수 있었습니다. 다음에 AWS Summit에 참석할 기회가 주어진다면 다양한 세션에 참석하고 싶습니다. 😀

One Million Trees / My Emotion Gardens

해당 세션 관련하여 자세한 내용은 AWS에서 제공하는 영상자료를 꼭 한번 보시길 추천합니다.

--

--