미리보기
기본 정보
기술 스택
Kubernetes, Docker, Node.js, express.js, AWS, Google Cloud Platform, Linux, Django, GitHub, REST API, ESXi, Shell Script, cloudflare, TypeScript, firestore
경력
주식회사커먼컴퓨터
Software Engineer
2022.05. ~ 2024.05. (2년 1개월)
On-Premise 환경의 머신들과 클라우드 서비스를 통합 관리, 개발 환경 구축에 대한 경험을 가진 인프라/소프트웨어 엔지니어 입니다.
동료가 개발하기 어렵고 불편한 상황에 대해 항상 고민하며, 더 나은 방향을 추구합니다. 동료들이 사내 SSH 환경에 접속하여 직접 Container 를 업로드 하는 환경에서, Kubernetes 구축을 통해 Dashboard 제공, 사내 Container Registry 구축, Cloudflare Zero-Trust 를 사용한 One-click Domain 등록 API 를 통해 팀원이 개발하는 과정에 대해 더욱 집중할 수 있는 환경을 제공하였습니다.
On-Premise GPU (A100, T4, A2, .. ) 21대, CPU 7대 머신과 Network 장비들을 IDC 위에서 관리와 가상 환경 구축을하고,구축한 환경을 통해 사내에서 AI환경 개발과 테스트를 위한 인프라의 원활한 사용 환경을 구축한 경험을 보유하고 있습니다.
프로젝트
Hybrid Cloud IaaS Platform Service
주식회사 커먼컴퓨터
2023.07. ~ 2024.05.
- 사용자가 직접 사용할 수 있는 IaaS 서비스를 위해 인프라를 구축, 통합하고, API 서버를 개발했습니다.
- IaaS 판매 플랫폼 개발 프로젝트에 참여하여, AWS와 GCP와 같은 Public Cloud와 On-Premise Cloud(GPU Machine)를 결합한 하이브리드 클라우드 환경을 구축.
- On-Premise VM hypervisor의 필요성, Public Cloud와 On-Premise SDK 간의 종속성 문제, 그리고 효율적인 서버 배치, 스케줄링, 클린업이 주요 해결 문제.
- 이를 해결하기 위해 API 서버 아키텍처를 설계하고, 각 클라우드 SDK와 ESXi의 shell command 호출 간의 종속성 문제를 해결하기 위해 Dependency Injection 구조를 도입함.
- AWS Eventbridge Scheduler를 활용하여 사용 기간이 지난 환경에 대해 자동으로 스케줄링 및 클린업 진행함.
- On-Premise 환경에서는 ESXi를 설치하고 GPU Passthrough 설정을 통해 가상화된 GPU 리소스를 활용하도록 구성함.
- OS 선택, GPU 선택, 네트워크 설정(Ingress, Egress) 을 API로 노출하여 사용자가 직접 환경을 설정할 수 있도록 API 를 구현함.
- 결과적으로, API를 통해 리소스가 효율적으로 배치되고 안정적인 접속 환경이 마련되었으며, 이를 통해 협력 업체와 함께 3개월간의 베타 테스트를 진행하며 서비스의 성능과 안정성을 검증함.
Internal Infrastructure Management
주식회사 커먼컴퓨터
2022.05. ~ 2024.05.
- 입사 후 사내 AI 환경 / 협력 기업 AI 환경 대여를 위한 사내 Infra(Cloud/On-Premise) 관리 역할을 맡았습니다.
- 회사의 서버 환경은 Host 환경과 Docker Container 환경으로 나뉘어 운영되고 있었으나, Host 환경 대여는 보안상 위험이 있으며 과도한 권한이 외부에 노출되는 문제가 있었고, Docker Container는 특정 팀의 과도한 자원 사용으로 인해 OOM Killed 현상이 발생하여 운영 및 개발 컨테이너에 영향을 주었음.
- 또한, 컨테이너를 전부 수동으로 관리했으며, 개발자들은 VPN을 통해 SSH로 접근해 로그를 확인하고 테스트를 진행해야 하는 비효율적인 환경이었음.
- 이를 해결하기 위해 컨테이너 오케스트레이션 도구로 On-premise Kubernetes(microk8s)를 도입함. Multi-Region IDC 간 안전한 통신을 위해 Site-to-Site VPN(Unifi)을 구성하고, 스위치 Stacking 기술을 적용하여 네트워크 다운타임을 방지.
- 기존 인프라 사용량을 분석해 5대의 CPU 머신을 Master Plane으로, GPU 머신을 Worker Node로 설정하여 Kubernetes 클러스터를 구성. 내부 개발자의 접근성을 개선하기 위해 Cloudflare Zero-Trust를 활용하여 VPN 및 SSH의 필요성을 최소화. Kubernetes Dashboard, Harbor, Grafana를 통해 UI 기반 관리 환경을 제공.
- Cloudflared와 Cloudflare Zero-Trust API를 활용해 개발자가 원클릭으로 도메인을 등록하고 배포할 수 있는 자동화 시스템을 구축.
- 결과적으로 약 70개의 컨테이너를 안정적으로 운영하며, Public Cloud에서 Private Cloud로 이전하여 약 60%의 비용을 절감. 사내 개발자들의 인프라 접근 장벽을 낮추고 배포 및 테스트 과정의 효율성을 대폭 향상시켜 생산성을 크게 높임.
자기소개
On-Premise 환경의 머신들과 클라우드 서비스를 통합 관리, 개발 환경 구축에 대한 경험을 가진 인프라/소프트웨어 엔지니어 입니다. 동료가 개발하기 어렵고 불편한 상황에 대해 항상 고민하며, 더 나은 방향을 추구합니다. 동료들이 사내 SSH 환경에 접속하여 직접 Container 를 업로드 하는 환경에서, Kubernetes 구축을 통해 Dashboard 제공, 사내 Container Registry 구축, Cloudflare Zero-Trust 를 사용한 One-click Domain 등록 API 를 통해 팀원이 개발하는 과정에 대해 더욱 집중할 수 있는 환경을 제공하였습니다. On-Premise GPU (A100, T4, A2, .. ) 21대, CPU 7대 머신과 Network 장비 들을 IDC 위에서 관리와 가상화 환경 구축을 하고, 구축한 환경을 통해 사내에서 AI 환경 개발과 테스트를 위한 인프라의 원활한 사용 환경을 구축한 경험을 보유하고 있습니다.
교육
42Seoul
사설 교육
2020.09. ~ 2021.11.
중앙대학교
대학교(학사) | 전자전기공학부(전자공학전공)
2018.03. ~ 2022.02. | 졸업
자격증
AWS Certified Solutions Architect
Associate | Amazon Web Services
2024.12.