Upgrade to Pro — share decks privately, control downloads, hide ads and more …

카카오페이 서버 개발자로 일한다는 것

kakao
PRO
December 09, 2022

카카오페이 서버 개발자로 일한다는 것

#Backend

카카오페이 서버 개발자들이 참여하는 프로젝트와 사용하는 기술, 협업 방식과 기술 문화에 대해 이야기합니다.

발표자 : happy.together
카카오페이 오프라인결제서비스에서 서버 개발을 하고 있는 Happy입니다.

kakao
PRO

December 09, 2022
Tweet

More Decks by kakao

Other Decks in Programming

Transcript

  1. 카카오페이


    서버 개발자로 일한다는 것
    황지연 Happy.together


    카카오페이


    Copyright 2022. Kakao Corp. All rights reserved. Redistribution or public display is not permitted without written permission from Kakao.
    if(kakao)2022

    View Slide

  2. 카카오페이 경험


    협업 방식


    개발 언어 및 환경


    기술 전파와 스터디 문화


    업무의 확장

    View Slide

  3. 카카오페이 경험

    View Slide

  4. 오프라인 결제 정산
    - 입사 3주 만에 제주도로

    (결제 시스템과 PG에 대한 도메인 학습)

    View Slide

  5. 오프라인 결제 정산
    - 입사 3주 만에 제주도로

    (결제 시스템과 PG에 대한 도메인 학습)


    - 정산을 개발해 본 적 없던 개발자 5명

    (모두 입사 6개월 미만, 그중 2명은 1개월 미만)


    - 정산 도메인 전문 PM 3명

    View Slide

  6. 오프라인 결제 정산
    - 입사 3주 만에 제주도로

    (결제 시스템과 PG에 대한 도메인 학습)


    - 정산을 개발해 본 적 없던 개발자 5명

    (모두 입사 6개월 미만, 그중 2명은 1개월 미만)


    - 정산 도메인 전문 PM 3명


    - 2주 동안 무에서 유를 만들어 냄


    - 잇몸으로 초반 데이터 설정

    View Slide

  7. 페이상품권
    - 카카오톡 친구에서 상품권 선물


    - 받은 친구는 카카오페이 모든 가맹점에서 사용


    - Kotlin + Spring MVC


    - MySQL에 상품권, 결제 데이터 저장


    - Redis로 분산 락 관리


    - Kafka 프로듀서/컨슈머 구현


    - MongoDB 조회성 데이터 저장


    View Slide

  8. 내 주변
    - 지도 기반 매장, 멤버십, 혜택 정보 제공


    - Kotlin + Spring Web
    fl
    ux


    - 마이크로 서비스들을 비동기로 호출


    - BFF(Backend For Frontend) 패턴


    - MySQL에 즐겨찾기 관리


    View Slide

  9. View Slide

  10. - 인프라가 잘 구축되어 있고, 지원이 잘 된다


    - 서비스 도메인과 어플리케이션 개발에 집중할 수 있다


    - k8s 환경에서 MSA 개발을 경험해 볼 수 있다


    - 결제나 송금 등 돈과 관련된 서비스의 경우, 트랜잭션 처리에 관해 깊게 개발해 볼 수 있다


    If Kakao Pay

    View Slide

  11. - 인프라가 잘 구축되어 있고, 지원이 잘 된다


    - 서비스 도메인과 어플리케이션 개발에 집중할 수 있다


    - k8s 환경에서 MSA 개발을 경험해 볼 수 있다


    - 결제나 송금 등 돈과 관련된 서비스의 경우, 트랜잭션 처리에 관해 깊게 개발해 볼 수 있다


    - 금융을 개발해야 하기 때문에 망분리 환경에서 개발해야 한다


    - 때로 금감원에 제출하는 데이터 작업이 필요하기도 하다


    - 탈퇴 유저 데이터 분리 보관, 개인 정보 마스킹 등

    유저의 개인 정보 보호를 위해 신경써야 할 부분들에 대해 경험할 수있다


    If Kakao Pay

    View Slide

  12. 협업 방식

    View Slide

  13. PM View
    FE
    목적 조직에 소속. 주로 PM FE와 협업
    목적 조직
    BE

    View Slide

  14. PM View
    FE
    RE, QA, Client
    View
    QA View
    Client
    View
    RE
    BE
    목적 조직

    View Slide

  15. DevOps View
    SRE
    DevOps, Infra, DBA, SRE, BI
    View
    DBA View
    BI
    Infra

    View Slide

  16. 개발 언어 및 환경

    View Slide

  17. 프레임워크
    언어
    Java/Kotlin


    Scala


    Go
    Spring
    DB
    MySQL


    MongoDB
    개발 언어 및 환경

    View Slide

  18. Admin
    API
    Spring MVC


    Spring WebFlux
    Spring Security


    Vue.js, React
    Batch
    Spring Batch
    개발하는 어플리케이션

    View Slide

  19. Grafana
    APM
    트랜잭션/에러 로그 수집 서버 상태 모니터링
    Elastic
    HTTP 요청/응답 로그
    서버 모니터링

    View Slide

  20. T2
    Krane
    개발 환경 VM 생성 API 테스트
    TestLAB
    성능 테스트
    서버 개발 지원 인프라

    View Slide

  21. 기술 전파와 스터디 문화

    View Slide

  22. 카카오페이 기술 블로그

    View Slide

  23. 기술 블로그 기고 및 피드백

    View Slide

  24. 꼬꼬지(꼬리에 꼬리를 무는 지식)
    - 프로모션 서버로 기술 찍먹 해보기


    - GKA - T2 intellij http 통합테스트로 안심하고 배
    포하기


    - 통합테스트 어디까지 해봤니?

    (testContainer, wireMock, etc)


    - 코루틴으로 spring mvc에서 논블로킹 맛보기


    - 페이상품권 E2E Test 적용기


    - 청구서 레거시를 다루는 방법

    /
    / 여기는 절대로 수정하지 마세요


    View Slide

  25. - 마이크로 서비스 패턴


    - 구글 엔지니어는 이렇게 일한다


    - 코틀린을 다루는 기술


    - Kotlin in Action


    - 도메인 주도 설계


    - DDD Start


    - 프로젝트 성패를 결정짓는 데이터 모델링 이야기


    - Neo4j로 시작하는 그래프 데이터베이스
    스터디 그룹

    View Slide

  26. 업무의 확장

    View Slide

  27. 데이터 관점
    페이상품권을 개발하면서


    데이터를 기반으로 실험과 개선을 반복하는 기법인

    그로스해킹을 실무에 도입했습니다.


    PM과 함께 지표에 대해 토의하고, 빠르게 대응할 수
    있도록 제플린 대시보드를 개발했습니다.


    View Slide

  28. 아이디어 제안
    아이디어 워크샵을 통해 신규 서비스, 개선 방향에 대
    해 주기적으로 논의하는 자리가 있습니다.


    전사적으로 아이디어를 제안할 수 있는 다양한 창구가
    있습니다.


    - 아이디어 공모전


    - 서비스에 대한 개선점 제안


    - 벤치마킹 사례 공유


    - 사내 CBT


    View Slide

  29. E.O.D

    View Slide