미리보기
기본 정보
무신사에서 트래픽이 평소 피크의 N배가 되는 블랙 프라이데이를 3년간 5번 경험하며 대규모 트래픽에서 인프라를 안정적으로 제공하는 방법을 배웠습니다. 인프라 지식을 바탕으로 안정적인 서비스를 만들어 나가는 데 기여하고 싶습니다. 백엔드 개발 혹은 플랫폼 엔지니어링을 할 수 있는 기회를 찾고 있습니다. 불편한 점이 있으면 해결 방법을 생각하고, 코드로 자동화하는 엔지니어입니다. 코드로 일을 더 효율적으로 하고 싶어 데이터 엔지니어를 선택했고, 조직의 문제를 코드로 해결하고 싶어 SRE가 되었습니다. 조직에 필요한 문제를 정의하고 해결에 기여하는 것이 즐겁습니다. 팀 회의에서 의견을 내고, 팀과 조직에 당장 필요한 문제를 기술과 문서, 문화로 해결하는 데 관심이 많습니다. 조직의 구성원과 함께 성장하려 합니다. 사내에서 <구글 엔지니어는 이렇게 일한다>, <개발자와 함께하는 EKS 실습 스터디>, <기술 문서 작성 완벽 가이드> 스터디를 주최하고 운영했습니다.
기술 스택
Python, Go, AWS, Kubernetes, Terraform, Docker, Elasticsearch, Logstash, Kibana, grafana, eks
경력
주식회사 무신사
Site Reliability Engineer | SRE팀 | 재직 중
2022.09. ~ 재직 중 (2년 5개월)
블랙프라이데이 매출, 세일액 전광판 Python 백엔드 코드 작성, 인프라 구성, 배포
기존에는 사용자의 요청을 CDN → 서버로 보냈기 때문에 서버 대수가 많이 필요하고, 서버가 죽는 경우가 생김
→ 응답을 S3에 정적 파일로 내보내게 하고, 이를 CDN에서 가져오게 하는 구조로 변경
→ 백엔드 서버의 대수를 1/20배로 줄이면서도 비용 효율적으로 분당 최대 2,150만 번의 요청에 안정적으로 데이터를 서빙
트래픽을 유발할 수 있는 이벤트를 등록/관리할 수 있는 Python 백엔드 API 개발
서비스에 부하를 줄 수 있는 이벤트가 있어도, 여러 팀에서 엑셀, 슬랙, 캘린더 등의 방법으로 관리하였기 때문에 인프라를 미리 증설하는 데에 차질이 생기는 이슈가 빈번히 발생
→ 이벤트 스케줄을 한 곳에서 등록/관리할 수 있는 통합 API를 개발하여 향후 서비스 증설이 용이하게 할 수 있는 기초를 마련
팀에 가장 빈번히 들어오는 운영 업무를 Argo Workflows, GitHub Actions으로 자동화, 최적화
팀에 들어오는 문의 요청 중 AWS 권한 추가/수정, 네트워크 통신 확인/추가 요청이 가장 많은 비중을 차지하는 것을 Jira 티켓을 통계 내 확인
→ Argo Workflow로 개발자가 직접 네트워크 통신 가능 여부를 30초 이내에 확인할 수 있는 도구를 개발, 공개 후 3일 만에 지난 2달 동안 팀 문의 채널에 들어왔던 요청보다 많은 수의 워크플로가 실행됨
→ AWS 권한 추가/수정 요청 시 Jira 티켓에 꼭 필요한 정보가 들어가도록 GitHub Actions으로 자동화 & 티켓 포맷을 수정해 작업에 드는 의사소통 비용을 최소화
사내 신규 프로젝트에 필요한 AWS 인프라 환경을 처음부터 끝까지 구축
외주 개발팀과 협업 시, 개발자가 AWS 인프라를 잘 알지 못해 인프라 비용이 과도하게 발생
→ 비용 대시보드를 분석해 개선 효율이 높은 항목 선별 후 네트워크 아웃바운드, EC2 인스턴스 타입 최적화로 프로젝트 비용 최적화에 기여관련 발표 : AWS 인프라 환경을 처음부터 구축하며 배운 것들
좋아요, 랭킹, 회원 등의 코어 서비스를 EC2 → EKS 환경으로 이관
이 과정에서 부하 테스트가 리소스 최적화와 애플리케이션 성능에 필수적이라고 생각했지만 기존 회사의 서비스 이관 프로세스에 해당 항목들이 잘 적용되지 않았음
→ K6로 RPS, 사용자 시나리오를 고려하여 개발팀이 직접 부하 테스트를 하고 모니터링 할 수 있는 환경을 GitHub Actions, ArgoCD, Datadog 을 사용해 구축, 사내 전파
→ K6 환경 구축 이후 부하 테스트를 하는 팀이 동기간 대비 4배로 늘었으며, 트래픽이 평소의 N배로 증가하는 블랙프라이데이 상황에서도 버틸 수 있는 서비스를 만들어 나가는 데 기여
애플리케이션 로그 수집용 ELK 클러스터 고도화(설계/운영)
기존에는 애플리케이션 로그 보관 기간이 짧아, 개발자들이 N일 이상의 로그를 볼 수 없었음
→ Warm Node를 도입하고 HDD 디스크를 사용하여 로그 보관 기간을 최대 14배로 늘리고, 개발자들이 장기간의 로그/데이터를 검색하고 활용할 수 있도록 함
주식회사 여기어때컴퍼니
Data Engineer | 인프라개발팀
2021.06. ~ 2022.09. (1년 4개월)
전사 EC2 인스턴스의 로그 수집용 Logstash → Fluentd 교체 작업
- 기존에 사용하던 Logstash는 CPU, Memory 사용량이 높아 EKS 환경에서 그대로 사용하긴 부담이 되는 상황
-> Logstash에 비해 CPU 사용량은 1/2, Memory 사용량은 1/8로 낮은 Fluentd로 로그 수집 프로그램을 교체하고, 애플리케이션과 로그 수집 프로그램의 종속성을 낮춤
-> 로그 수집 프로그램이 서비스에 주던 영향을 없애 서비스를 보다 안정적으로 운영하는 데 기여
EKS, Fluent Bit, Kinesis, Elasticsearch 기반의 로그 수집 프로세스 도입, 운영
- 실시간으로 데이터를 수집하는 프로세스가 필요한 상황
-> Kinesis Data Streams, Kinesis Firehose를 50가지 이상의 조건의 상황에서 테스트해 보고 서비스에 필요한 최적의 구성을 찾음
-> 회사 기술 블로그 글 : EKS 환경에서의 EFK 도입기
Elasticsearch, Logstash, Kibana를 사용한 전사의 로그 수집 관리, 운영
사내 데이터 추출 사이트가 DB 대신 Data Warehouse를 사용할 수 있도록 변경
- 해당 사이트가 DB를 호출하며 기존 DB에 부하를 주는 상황
-> 데이터를 RDS → Redshift+S3에서 받아오도록 백엔드 코드, SQL 쿼리를 수정하여 RDS의 부하 감소
대외활동
성수 지역 소모임/Women In Cloud 오거나이저
AWSKRUG
Argo Workflows 오픈소스 기여
오픈소스 컨트리뷰션 아카데미
- Argo Workflows의 공식문서 개선
- Argo Workflows에 함께 기여하는 팀원들과 '이슈 해커톤'을 제안해, 1-2주의 기간동안 집중해서 이슈를 해결하고, PR을 올리는 해커톤을 진행
- 해당 프로젝트는 대상인 과학기술정보통신부장관상을 수상
GameDay 우승
AWS Comminity Day Korea
교육
동국대학교
대학교(학사) | 영화영상학과
2012.03. ~ 2017.02. | 졸업
외국어
영어
비즈니스 회화 가능