미리보기
기본 정보
2년차 개발자입니다. 스타트업에서 AWS를 사용한 서버 배포, 자동배포 파이프라인, 글로벌 인프라 구축을 경험을 했습니다. MAU 1만인 서비스를 운형한 적이 있습니다.
기술 스택
Node.js, NestJS, AWS, PostgreSQL, GraphQL, Redis
경력
주식회사 리퀴드네이션
팀원 | 개발팀
2023.07. ~ 2024.01. (7개월)
ZELLU 서비스의 서버 개발 및 유지보수를 진행했습니다.
- 글로벌 배포를 위해 글로벌 아키텍쳐 구축
- 기존 배포 방식 단축 및 파이프라인 개선
주식회사 루빗
팀원 | 개발팀
2021.07. ~ 2022.12. (1년 6개월)
루빗 서비스의 서버제작 및 유지보수를 진행했습니다.
생산성 개선을 위해서 Github Action을 사용한 자동배포 적용
응답 속도 향상을 위한 Redis cache 적용
람다 함수를 사용한 고정IP 클라이언트 제작
도커 이미지 용량 개선으로 인한 배포 소도 향상
Grafana와 CloudWatch를 사용한 서버 상태 모니터링
신규 프로젝트 서버 아키텍쳐 설계 및 배포
프로젝트
ZELLU 글로벌 서버 배포
리퀴드네이션
2023.11. ~ 2023.12.
ZELLU의 글로벌 버전으로 미국, 호주, 멕시코, 콜롬비아, 브라질, 스페인 6개국에 서버 배포
Terraform을 사용하여 글로벌 서버 배포를 위한 인프라 환경을 코드로 제작 후 각 지역마다 복제된 환경 생성함
VPC의 내부 IP 주소가 겹치지 않게 제작 후 VPC Peering을 사용하여 내부적으로 연결하여 bastion 및 superset에서 외부망을 거치지 않고 내부망을 이용하여 타 리전의 서비스에 접속할 수 있게 함
람다 함수를 사용한 고정 IP API 클라이언트 제작
루빗
2022.04. ~ 2022.05.
SMS 관련 API를 사용할 때 고정 IP가 필요했음. 기존 서버에서 요청하면 IP주소가 바뀌었기에 람다로 내부 API서버를 제작하고, VPC에 연결 후 NAT 게이트웨이를 사용하여 고정IP를 가진 람다 API를 제작함.
응답 속도 향상을 위한 Redis 캐시 적용
루빗
2022.02. ~ 2022.03.
특정 로직에서 (Date를 기준으로 1000만개 이상의 row에서 값을 찾는 쿼리) 성능 저하가 발생하여 개선함. 읽기와 쓰기 작업의 비율이 9:1인 것을 감안하여 읽기 작업의 결과물을 캐시로 대체하고, 쓰기 작업이 있을 경우에는 캐시를 업데이트하는 로직을 적용함.
루빗 서버 자동배포 적용
주식회사 루빗
2022.01. ~ 2022.02.
루빗 서버의 수동 배포 방식을 Jenkins를 이용한 자동 배포로 전환함.
기존의 배포 방식은 Github 에 코드를 올리면 DockerHub에서 설정한 Dockerfile에 기반해 자동으로 도커 이미지를 빌드한다. 그 다음 Elastic Beanstalk 환경을 수동으로 복사한 이후 서버 동작을 확인하고 기존 서버를 닫았다. 위 모든 과정을 자동으로 동작하게 하기 위해 도커 이미지를 ECR로 업로드 한 다음 cli명령어를 통해 Jenkins에서 ECR의 최신 이미지를 불러와서 배포하게 했다. 이후 서버 배포의 성공 유무를 확인하기 위해서 Slack으로 전송하게 함. 서버의 상태는 AWS Chatbot과 Eventbridge를 통해 슬랙으로 알람을 받고, Cloudwatch와 Grafana를 이용하여 쉽게 모니터링 할 수 있게 함.
추후 해당 과정은 Docker 이미지 빌드 시 종종 다운되는 문제로 인해서 Github Action으로 이전하여 자동 배포 환경의 안정성을 높임
포트폴리오
교육
금오공과대학교
대학교(학사) | 전자공학부
2016.03. ~ 2023.02. | 졸업
자격증
AWS Solution Architect Associate
Associate | AWS
2023.06.
TOEIC Speaking
IM | YBM
2022.12.
자기소개
주어진 일에 대해서는 책임감 있게 일을 진행합니다.
- NestJS 기반의 서버를 처음부터 설계하고, 프로덕션 배포까지 진행한 경험이 있음
- AWS 클라우드 환경에서의 자동배포 파이프라인 설계
- 서버 상태를 Grafana로 확인할 수 있는 모니터링 시스템 설계
- 글로벌 서버 배포를 위한 Iac 활용 및 내부망 연결을 통한 BI시스템 구축
스타트업에서 백엔드 개발을 리딩한 경험이 있습니다.