2200만 사용자를 위한 채팅 시스템 아키텍처 - 서호석 솔루션즈 아키텍트, AWS / 변규현 SW 엔지니어, 당근마켓 :: AWS Summit Korea 2022

Поделиться
HTML-код
  • Опубликовано: 24 сен 2024
  • 발표 자료 다운로드: kr-resources.a...
    당근마켓은 최근 몇 년간 빠르게 성장한 기업 중 한 곳으로, 2200만 명이 넘는 회원이 가입했습니다. 당근마켓의 성장에는 당근마켓 채팅시스템의 역할이 컸는데, 이번 세션에서는 당근마켓의 매력적인 채팅시스템 아키텍처를 살펴봅니다. 또한, 데이터 캐싱, 사용자의 커넥션 관리, 분석 파이프라인 구성 등 아키텍처의 각 구성 요소로 사용된 ElastiCache, Lambda, DynamoDB, Athena, Glue, Firehose, Severless Framework 등의 적용 사례도 함께 설명합니다.

Комментарии • 15

  • @heuristicwave8922
    @heuristicwave8922 Год назад +7

    0:09 발표자 소개
    0:37 Agenda
    1:09 아키텍처 현대화
    5:38 아키텍처 현대화 요약
    7:27 당근마켓 채팅 시스템의 모더나이제이션
    8:45 Ruby on rails 모놀리틱 서비스
    9:56 변화하는 서비스의 형태
    11:16 당근마켓의 첫번째 마이크로서비스 시작
    12:22 채팅 마이크로서비스 개발하기
    12:47 채팅 데이터 분리하기
    14:29 DynamoDB를 사용하면서 어려운 점
    16:10 인덱스 설계
    16:45 API Server
    17:52 WebSocket
    19:16 Data Pipeline
    22:05 AWS Lambda does
    22:39 Amazon Kinesis Data Firehose
    24:26 Serverless Framework
    25:10 Amazon Athena
    25:49 AWS Glue
    27:56 데이터 분석하기
    29:06 채팅 데이트를 다른 서비스에서 활용하기
    30:01 Fluent Bit
    31:21 맺음말

  • @minseokjeong1881
    @minseokjeong1881 Год назад

    잘 봤습니다.. 현시스템을 하나의 이미지로 나타내고, 이미지의 각 컴포넌트들을 만들기위 해작성한 코드며, 이런 아키텍쳐를 구상하는것 모두 다 고생 많으셨습니다. 궁금한점은 비용이 궁금합니다. 이렇게 microservice 이런 아키텍쳐로 갈수록 비용도 증가하나요?

  • @호빵맨주인-j3j
    @호빵맨주인-j3j 5 месяцев назад

    glue 비싼디 대안은 없었으려나용

  • @핵자전거
    @핵자전거 11 месяцев назад +3

    AWS를 써야 한다고 끝임 없이 가스라이팅이군요. -_-;
    거의 대부분의 AWS 기능들은 별 필요가 없거나 굳이 쓰지 않아도 되는 것들이죠.
    근데 이것 때문에 힘들게 번 돈 서버비로 다 갖다 바칠 필요 있을 까요.
    일반적으로 AWS 비용 몇달 치면 온프라미스로 구축할텐데...
    Amazon에서 광고비나 두둑히 받았으면 모를까 그게 아니면 거의 공짜로 amzone 광고를 해주는 것 같군요.
    AWS같은 Instance형 서버 서비스는 아주 단기간 사용하거나 아주 적은 트래픽이거나 부하에 기복이 많은 서비에서는 효용성이 있을 지 몰라도
    (예를 들면 뭐 회사 웹사이트 거의 사람이 들어오지 않는데 있긴 해야 된다든가... 이벤트 기간에만 잠시 사람이 몰리는 서비스라든가...)
    대부분의 대규모 장기 서비스들에게는 아마 과비용일 것입니다.
    AWS같은 클라우드 서비스가 돈이 많이 되니까 국내외업체들까지 개나소나 다 달려드는 것이겠죠.
    많이 남는다는 거죠.
    근데 굳이 이런 비싼 서비스를 사용하면 돈을 매달 힘들게 번돈 쥐어 박을 필요 있을까요?
    이제 매트릭스에서 깨어날만 한데...
    홍보차원에서 유명한 서비스 몇 개정도 협상을 통해 저렴하게 제공하고 그걸 미끼로
    또 이런 컨퍼런스 주구장창 열어서 마치 시대의 흐름인 냥 쓰는 것이 당연하다는 냥 가스라이팅을 주기적으로 하는 마케팅 기법에 낚이는 것이 아닌가 싶네요.

    • @카라멜프라푸치노-g3s
      @카라멜프라푸치노-g3s 10 месяцев назад

      구지 x, 굳이 o 수정 부탁드립니다.

    • @parkjun611able
      @parkjun611able 10 месяцев назад +2

      마케팅에 대한 부분은 일부 동의 하지만 다른부분은 시대의 흐름을 따라가지 못하시는 것 같습니다.
      온프레미스로 AWS 서비스들 만큼의 고가용성과 확장성을 확보하려면 단기에 너무 큰 비용이 들어가게 되고
      장기적으로도 인건비부터 장비 감가 등 무시할 수 없는 금액이 소요됨을 아실겁니다.
      지속적으로 성장할 가능성이 높은 서비스의 시작을 온프레미스에서 혹은 초기투자 정도의 규모에서 온프레미스로 돌렸다면
      아마 그만큼의 역량을 서비스에 집중하기 힘들겠죠.
      이런 기회비용을 서비스 개발과 비지니스에 집중하는 것이 서비스 성장에 이득이라고 판단 하는 사람들은 그렇게 선택한다는 것이죠.
      결국 다 계산기 두들기고 나온 자연스런 흐름이라고 생각합니다.
      비용 관련해서도 인건비와 장비감가 임대료 솔루션비용 등 전체 금액을 생각하면 온프레미스 대비 압도적으로 비싸다고는 생각하지 않습니다.
      물론 최적화를 위한 전문가가 있다는 하에 말이죠.
      그렇다고 온프레미스 환경에서 무조건 AWS 로 이전하는 것이 낫다는 얘기는 아닙니다.
      클라우드로 마이그레이션 하는 것도 많이 비용이 들고 인적구성과 물적구성이 전체적으로 바뀌는 것이기에
      이 역시 서비스가 안정기인지 내부적으로 인프라에 대한 관리 책임이 있는 지, 비용은 올바른지 여러 계산을 해보고
      선택하는 것이 맞다고 생각합니다.

    • @핵자전거
      @핵자전거 10 месяцев назад +2

      ​@@parkjun611able 님에 생각하는 그런 이걸 사용하지 않으면 시대에 뒤떨어진 것처럼 느끼게 하는게 AWS의 핵심 마케팅 포인트가 아닐까 합니다.
      네 그냥 비싼 수준이 아니라 압도적으로 비쌉니다.
      고가용성 확보? 요즈음에는 그냥 가정집에 조립 PC만 사용해도 왠만해서는 문제되는 경우 없을 정도로 많이 안정적이 되었습니다
      그리고 하드웨어가 고가용성에 문제되는 경우가 몇%나 될까요?
      정작 소프트웨어적인 문제로 서버가 수시로 죽을텐데 말입니다.???
      그리고 AWS와 Azuer는 고가용성에 아무 문제 없다고 생각하십니까?
      온프레미스보다 더 좋다고 생각하세요??
      오히려 고가용성 문제에서 더 문제가 많던데요?
      단순 비용 문제만은 아닙니다.
      인건비와 장비 감가 삼각비 솔루션 비용을 모조리 다 따지더라도 AWS가 아주 아주 압도적으로 비쌉니다.
      Azure가 좀 더 싸긴 했지만 여젼히 바쌌죠.
      시대에 못 따라가는 것이 아니라 매트릭스에서 탈출한 것일 겁니다.
      저도 처음에는 당연히 Cloud를 써야 한다고 생각했었습니다.
      그래서 AWS와 Azure 등등을 전전헸었습니다.
      비용 차가 어느 정도 인지 말씀드리자면
      비교적 소규모 서비스 AWS를 사용할때 매달 5000~7000만원을 지불했었는데 그걸 AZure로 바꾸면서 2/3정도로 비용을 줄일 수 있었습니다.
      근데 온프레미스로 구축을 하니까 처음 구축 비용 1000만원이 들지 않았습니다. 사실 싸게하면 반으로도 구축 가능했다 생각합니다.
      매달 나가는 비용도 100만원이 들지 않았습니다.
      고가용성은 온프레미스가 더 좋으면 좋았지 나쁘지 않았습니다.
      동일 AWS나 AZure가 내세우는 스펙과 똑같은 실머신 하드웨어이 훨씬 성능이 우수하다는 것도 알게 되더군요.
      이런 케이스 여러 번 경험했습니다.
      해보지도 않고 그냥 막연히 별 차이가 없을 것이라 생각하시지만
      직접 구축해보시면 그렇지 않습니다.
      저도 이런 광고에 낚여서 AWS나 Azure 같은 걸 반드시 써야 한다고 생각하다 온프레미스 환경을 구축해서 써보니 그간 가스라이팅 당했다는 걸 알게 되더군요.
      뭐 자유로운 확장이 장점이다? 네 그게 클라우드의 장점이겠네요.
      하지만 그럴 수 있지만 그럴 일이 거의 업더라구요.
      그냥 고정적으로 인스턴스를 사용하더라구요.
      대규모 서비스하면 비용 차이가 훨씬 크게 때문에 많은 대형 서비스사들이 온프레미스 환경을 이미 구축했거나 고려하고 있는 상황이죠.
      또 대규모 서비스사들은 별도로 협상해서 깍아도 줍니다. 하지만 그래도 압도적으로 비쌉니다.
      나중에 느낀거지만 AWS아 AZure가 좋다고 내세우는 기능 사실 거의 안 쓰는 기능란 게 느껴지더군요.

    • @parkjun611able
      @parkjun611able 10 месяцев назад +1

      ​@@핵자전거 글쎄요 ...
      뭐든지 일률적으로 판단하기는 힘들겠지만 말씀하신 사례들은 대략 이해는 했습니다.
      수요가 예측 가능하고 내부 인프라 인력이 있는 경우에는 온프레미스가 비용대비 성능이 압도적인 것은 공감합니다.
      다만 기업 입장에서 사무실에 단순 PC 한대로 서비스를 운영하지는 않겠죠..
      외부 서비스를 운영하는 회사는 장애복구를 위한 대책들은 필수라고 생각하구요..
      가용한 물적 인적 자원이 없을 수도 있는 것이구요.
      단순 성능만을 비교해서는 의미가 없으며 각자의 장단점을 따져봐야 한다는 것입니다.
      소프트웨어적인 서버가 죽는다는 건 어떤 의미인지 잘 모르겠으나
      사용자 어플리케이션 혹은 장비 펌웨어 장애라고 생각 한다면 온프레미스에서 대처하기더욱 힘들지 않을까 싶습니다.
      failover 시간이나 편의성은 제외 하고서라도 말이죠.
      말씀하신 온프레미스의 경우에도IDC 입주인지 직접운영인지 등 여러 사항들에 따라서 가격이 달라질 수 있겠지만
      재해복구를 위한 사항들이 포함 되어있는 가격은 아닌 것이라고 생각되고,
      만약 시스템 규모가 점점 커지고 운영 난이도가 상승하게 되면 다시 클라우드의 장점들이 다시 생각 나실 가능성이 높다고 생각합니다.
      이렇게 클라우드로 넘어가는 것도 자연스럽고 괜찮은 선택이라고 생각합니다.
      클라우드 인프라를 반드시 써야 하는 것은 아니지만 사용하기 따라 많은 경우에 비용대비 합리적인 선택이 된다고 생각합니다.
      그래서 많은 기업에서 사용하고 있고 그게 시대의 흐름이라고 생각하는 것 이구요..
      아무쪼록 안정적으로 서비스 운영하시길 바라고 사업 번창하시길 바랍니다.

    • @핵자전거
      @핵자전거 10 месяцев назад

      @@parkjun611able AWS 같은 클라우드라고 해서 안주지 않습니다.
      기본적으로 Virual 머신 기술을 사용하기 때문에 안정성도 특별난것 없고 성능도 상상하는 것보다 더 떨어지죠.
      실제 조립PC 사용한 온프레미스랑 큰 차이 없다는 거죠. 우리나라서 무슨 수실로 전기 끊기거나 하면 몰라도 그렇지 않은 이상 큰차이없어요.
      그리고 소프트웨어적인 서버가 죽는서버보다 하드웨어 문제로 죽는 경우가 더 많다는 거죠.
      조립PC라도 하드웨어적인 서버 불안정 때문에 문제가 될정도는 아니란 거죠.
      재해복구는 뭘 하나요? 그것도 소프트웨어 적인 서버 문제지... 무슨 하드웨어가 문제될 경우가 있긴 하나요?
      만약 시스템 규모가 커지면?? 온프레미스가 압도적으로 유리해집니다. 비용면에서나 운영면에서 말이죠.
      그놈에 시대의 흐름이란 것에 많이 낚여서 서비스로 어렵게 번돈을 갖다 바치는 거죠.
      단순 시대적 흐름이란 이름으로 그렇게 쌩돈을 바칠 필요가 없다고 봅니다.

  • @hit_me_hamster
    @hit_me_hamster Год назад

    좋은 발표 감사합니다. 많은 도움이 되었습니다