
백엔드
여기어때 신입 개발자의 암호화 서비스 개선기
두줄요약
기존 AWS KMS 암호화 서비스를 EKS와 Java 비동기 처리로 개선했습니다.\n형상 관리, CI/CD, APM까지 도입해 성능과 운영 안정성을 함께 높였습니다.
문제 상황
- AWS KMS 기반 암호화 서비스의 성능 저하와 코드 최신화 필요성
- API Gateway와 Lambda 중심 서버리스 구조의 비용·경로 비효율
- 개발·스테이징·상용 환경 통합 운영으로 인한 상용 영향 가능성
- 형상 관리와 모니터링 부족, 대량 요청 시 연결 수 한도 초과 이슈
해결 방법
- API Gateway와 Lambda 구조를 환경별 AWS EKS 기반으로 재설계
- Python 동기 처리에서 Java 기반 AWS SDK for Java 2.x의 KmsAsyncClient 비동기 처리로 전환
- CompletableFuture와 청크 단위 요청 처리로 병렬 처리와 연결 수 제어
- GitLab 형상 관리, 회사 표준 CI/CD, 사내 APM과 슬랙 알림 적용
성능/운영 포인트
- 비동기 처리 도입으로 다량 데이터 암복호화 성능 개선
- 청크 사이즈를 CPU 코어 수 + 1 기준으로 조정해 CPU 사용률 안정화
- KMS Throttling 가능성에 대비한 환경별 처리율 제한 필요성 제기
- nGrinder 테스트에서 기존 대비 약 3배 성능 향상 확인
