나는 어디에 있는가
오랫동안 블로그를 쓰지 않았다. 하지만 이제는 지난 1년을 돌아보며 시니어 개발자로서 회사와 나 자신의 발전에 대해 고민해보는 자리를 가지려 한다. 이 시간 동안 많은 일들이 있었고, 그만큼 나에게도 큰 변화가 있었다.
2023년의 나의 발자취
업무적인 성장
Kubernetes 기반 인프라 구축
올해 가장 큰 성과 중 하나는 AWS EKS를 활용한 Kubernetes 기반의 인프라를 구축한 것이다. 기존의 레거시 시스템에서 벗어나 마이크로서비스 아키텍처로 전환하기 위해 노력하였다.
- AWS EKS 도입: 관리형 Kubernetes 서비스인 AWS EKS를 도입하여 클러스터 관리의 복잡성을 줄이고, 확장성과 가용성을 높였다.
- CI/CD 파이프라인 구축: GitHub Actions를 통해 지속적인 통합 및 배포 환경을 구축하여 코드 변경 사항이 자동으로 빌드, 테스트, 배포되도록 하였다.
앞으로 할 것들
- 인프라 자동화: Terraform을 활용하여 인프라를 코드로 관리(IaC)하고, Helm 차트를 사용하여 애플리케이션 배포를 자동화하였다.
- 모니터링 및 로깅: Prometheus와 Grafana를 도입하여 시스템 모니터링을 강화하고, EFK 스택을 활용하여 로그 관리의 효율성을 높였다.
- 보안 강화: RBAC(Role-Based Access Control)과 네트워크 폴리시를 설정하여 클러스터 보안을 강화하였다.
Stable Diffusion 기반 이미지 생성 시스템 구축
Stable Diffusion 1.5 및 SDXL 모델을 기반으로 한 이미지 생성 시스템을 구축하였다. 이를 통해 다양한 이미지 생성 및 변환 작업을 자동화하고, 서비스의 시각적 요소를 강화하였다.
- Image-to-Image 시스템 구현: 사용자가 입력한 이미지를 기반으로 새로운 이미지를 생성하는 기능을 추가하여 사용자 경험을 향상시켰다.
- 모델 최적화: PyTorch 모델을 최적화하여 인퍼런스 시간을 단축하고, GPU 리소스 사용 효율을 높였다.
- API 서비스화: 이미지 생성 기능을 마이크로서비스 형태의 API로 제공하여 다른 서비스와의 연동을 용이하게 하였다.
푸시 시스템 구축
배치 서버를 기반으로 한 예약 발송 기능을 갖춘 푸시 시스템을 구축하였다.
- 사용자 세분화: 빅데이터 분석을 통해 사용자 그룹을 세분화하고, 타겟팅된 푸시 알림을 발송하였다.
- 스케줄링 기능 추가: Quartz Scheduler를 활용하여 예약 발송 및 반복 발송 기능을 구현하였다.
- 알림 채널 다각화: 푸시 알림뿐만 아니라 이메일, SMS 등 다양한 채널로 알림을 발송할 수 있도록 시스템을 확장하였다.
검색 시스템 개선
Elasticsearch를 도입하고 멀티 리전 클러스터를 구축하여 검색 기능을 대폭 향상시켰다.
- 데이터 인덱싱 최적화: 대용량 데이터의 효율적인 검색을 위해 인덱스 설계를 최적화하였다.
- 멀티 리전 아키텍처: 여러 지역에 걸친 클러스터를 구축하여 지연 시간을 최소화하고 가용성을 높였다.
- 검색 기능 강화: NLP 기술을 적용하여 자연어 검색 기능을 개선하고, 사용자에게 더욱 정확한 검색 결과를 제공하였다.
Docker 기반 개발 및 배포 환경 개선
Docker를 기반으로 개발 서버 및 일부 서버의 배포를 간소화하였다.
- 컨테이너화: 모든 애플리케이션을 Docker 컨테이너로 패키징하여 환경 간 일관성을 유지하였다.
- GitHub Actions 도입: GitHub Actions를 활용하여 빌드 및 배포 파이프라인을 자동화하고, 배포 시간을 단축하였다.
- 로컬 개발 환경 개선: Docker Compose를 사용하여 로컬에서도 프로덕션과 유사한 환경에서 개발할 수 있도록 지원하였다.
개인적인 성장
꾸준한 운동
지난 1년 동안 일주일에 두 번 이상 한 시간씩 운동을 지속해왔다. 이를 통해 체력도 향상되고 스트레스 관리에도 큰 도움이 되었다. 꾸준한 운동은 이제 나의 생활 패턴 중 하나로 자리 잡았다.
소중한 인연과의 시간
여자친구와 함께한 지 300일이 지났다. 이 기간 동안 서로에게 많은 것을 배우고, 함께 성장해왔다. 그녀와의 시간은 나에게 큰 기쁨과 삶의 원동력이 되었다.
1년을 돌아보며
시간이 참 빠르게 지나갔다. 업무적으로나 개인적으로나 많은 성과와 변화를 이루었다. 물론 모든 것이 순탄하지만은 않았지만, 그 과정에서 많은 것을 배우고 성장할 수 있었다.
앞으로의 계획
지속적인 학습
- 클라우드 네이티브 기술 심화: Kubernetes와 컨테이너 오케스트레이션에 대한 전문성을 더욱 높이고자 한다.
- DevOps 문화 확산: 팀 내에서 DevOps 문화를 정착시키고, 자동화와 협업을 통한 생산성 향상을 목표로 한다.
- 오픈소스 기여: 업무에서 활용하는 오픈소스 프로젝트에 기여하여 커뮤니티에 공헌하고, 더 넓은 시야를 가지려 한다.
건강 관리
- 운동 루틴 강화: 현재의 운동 습관을 유지하며, 새로운 운동에도 도전하여 체력과 정신 건강을 더욱 향상시키고자 한다.
- 영양 관리: 균형 잡힌 식단을 통해 전반적인 건강 상태를 개선하고, 생활 습관을 더욱 건강하게 만들고자 한다.
소중한 사람들과의 시간
- 가족과의 시간: 가족과 더 많은 시간을 보내며, 소중한 추억을 쌓고자 한다.
- 친구들과의 교류: 바쁜 일상 속에서도 친구들과의 만남을 지속하여 인간관계를 풍요롭게 하고자 한다.
기록과 공유
- 블로그 활동 재개: 한 달에 한 번 회고와 일주일에 한 번 기술 블로그를 작성하여 지식을 공유하고 스스로를 되돌아보려 한다.
- 독서와 학습 기록: 한 달에 한 권의 책을 읽고 독서 노트를 작성하여 지식을 체계화하고 공유할 계획이다.
마치며
지난 1년은 도전과 성장의 시간이었다. 앞으로도 멈추지 않고 계속해서 나아가고 싶다. 이 글을 통해 내 발자취를 돌아보고, 다가올 새로운 도전을 기대한다.
“최선을 다하도록 노력하고 싶다. 100%를 못하더라도 목표라도 정하면 50%라도 가니까.”
이 말처럼 앞으로도 목표를 세우고 그를 향해 나아가는 내가 되고자 한다.