대규모 트래픽 환경에서 최고의 사용자 경험을 설계합니다.
Java 17, Spring Boot, Spring Security, JPA/Hibernate, PHP
API Design (REST) 기반의 백엔드 설계 및 구현 경험.
React.js, TypeScript, JavaScript, HTML/CSS
사용자 중심의 반응형 UI/UX 구현 및 화면 구조 설계 경험.
AWS(EC2, S3, RDS, Route53), Docker, Linux
클라우드 인프라 구축·운영 및 배포 자동화 기반 서비스 안정화 경험.
MySQL, Redis 기반 데이터 모델링 및 캐싱 설계.
Git(+Actions), IntelliJ IDEA, VS Code, Postman 중심의 협업/개발 도구 활용.
Full-Stack Developer & DevOps Engineer (2024.02 - Present)
Redis ZSET 대기열과 Kafka 비동기 지급을 결합해 1만+ 동시 접속을 가정한 피크 트래픽을 흡수하고, 202 PENDING 응답으로 API 지연을 완화했습니다.
Dnsmasq · FOG 오픈소스(FOG Server) 기반 PXE 환경을 구축하고 Intel VMD 잠금 우회, Snapin 64비트 레지스트리 정책 적용으로 210대 무인 배포를 완료했습니다.
AWS VPC 3계층 보안 격리와 PHP 레거시 무중단 마이그레이션을 수행해 공공기관 보안 실사를 1회에 무결점 통과했습니다.
비개발자·주니어 대상 AWS 아키텍처 실무 교육을 기획·운영하며 VPC, EC2·RDS, 보안 그룹 중심의 현장형 커리큘럼을 구축했습니다.
대기열 기반 서버 보호 + 비동기 지급 처리로 피크 트래픽 대응
Java 17 · Spring Boot 3.x · Redis ZSET · Kafka · Redisson Lock
1) 해결한 문제와 배경
선착순 이벤트에서 동시 접속이 순간적으로 1만+ 규모로 몰릴 때, 동기 처리 중심 구조는 재고 경합과 응답 지연이 동시에 발생해 500 오류로 이어질 수 있었습니다. 목표는 서버 붕괴 방지, 대기 UX 제공, 지급 처리 경로 분리였습니다.
2) 내가 설계/구현한 핵심 아키텍처
도메인 모델: User, Event, RewardHistory를 분리하고,
RewardHistory 상태를 PENDING/SUCCESS/FAILED로 관리해 비동기 처리 결과를 추적했습니다.
요청 흐름: 사용자 요청 시 Redis ZSET 대기열(score=timestamp)에 진입시키고, ZRANK로 순번/예상 대기 시간을 반환했습니다.
스케줄러(1초 주기)가 상위 N명을 dequeue하여 Kafka로 발행하면, 소비자가 지급 이력을 저장하는 구조로 분리했습니다.
API 경로 정책: 재고만 선차감 후 reward-issue-topic 발행, API는 202 + PENDING으로 즉시 응답하여
DB insert 지연을 동기 요청 경로에서 제거했습니다.
요청 경로를 Queue/재고 차감/비동기 지급으로 분리해 피크 구간에서도 응답 안정성과 운영 복원력을 확보한 구조입니다.
동시성 제어: 초기 JPA 비관적 락에서 시작해, 이후 @DistributedLock + AOP 기반 Redisson 분산 락으로 전환했습니다.
락 로직을 비즈니스 코드와 분리해 유지보수성과 재사용성을 높였고, 락 획득 실패/인터럽트 예외를 코드로 명시했습니다.
지급 처리: 동기 DB 저장 대신 Kafka 비동기 소비 구조를 적용하고 Retry + DLT를 구성해 API 응답 시간의 변동성을 줄이면서 장애 전파를 완화했습니다.
UX 전략: 과부하 시 실패 응답을 늘리는 대신, Redis ZSET 기반 순번/예상 시간 노출로 사용자에게 예측 가능한 대기 경험을 제공했습니다.
검증: 단위 테스트(도메인/대기열/스케줄러), Testcontainers 통합 테스트(MySQL·Redis·Kafka), 100개 동시 요청 정합성 시나리오를 수행했습니다.
부하 테스트: K6 스파이크(10초 ramp-up 1000 VUs → 30초 유지 → 10초 ramp-down) 시나리오와
P95 < 200ms, 실패율 < 1% 기준으로 점검했습니다.
한계: 로컬 환경에서 Gradle 캐시 파일 잠금 이슈로 테스트 실행이 간헐적으로 차단되었습니다. 이를 코드 결함과 분리해 기술했으며, 설계/로직 검증 범위는 테스트 코드와 부하 스크립트 기준으로 명확히 구분했습니다.
210대 데스크톱 Zero-Touch 배포 파이프라인 구축 사례
PXE Boot · FOG Open Source · ProxyDHCP · Snapin Automation
Situation
천재IT교육센터 독립 사내망 내 기존 삼성 데스크톱 210대 관리 시스템 적용 및 배포 수정 진행. UEFI 전용 펌웨어(CSM 미지원) 환경에서 수작업 배포 시 엔지니어 1인 기준 수백 시간이 소요될 것으로 예측.
Task
기존 DHCP 인프라를 변경하지 않고, PXE 네트워크 부팅을 기반으로 자동화된 Zero-Touch 배포 파이프라인을 DevOps 엔지니어 단독으로 설계 및 구현.
Result
BIOS 잠금·레지스트리 우회 등 4건의 기술적 장애를 직접 해결하여, 210대 전 PC에 표준 OS 이미지와 그룹 정책을 무인(Zero-Touch) 배포 완료.
Situation: 독립 사내망에서 메인 DHCP 서버 수정이 정책상 불가했으나, PXE 부팅 트래픽을 처리할 별도 인프라 구성이 필요한 상황.
Action: Dnsmasq와 Tftpd-hpa를 구축하여 ProxyDHCP 방식으로 PXE 트래픽을 완전 분리. UEFI/CSM 혼재 환경을 대응하기 위해 아키텍처 식별 로직을 구성하여 ipxe.efi 부트 로더를 동적 할당. ip link set으로 물리 링크 단절 및 고정 IP 충돌 이슈를 즉각 디버깅.
Result: 메인 DHCP 서버 무변경 상태에서 안정적인 PXE 네트워크 부팅 환경 완전 분리 구현 성공.
Situation: 삼성 데스크톱 제조사 BIOS에서 Intel VMD(RAID) 모드가 잠겨 있어, FOG 오픈소스 서버가 nvme0n1 디스크를 인식하지 못하고 600MB의 빈 파티션만 캡처하는 치명적 장애 발생.
Action: BIOS 설정 우회 불가 판단 후 FOG 리눅스 커널(bzImage)을 최신 버전으로 직접 업데이트. Debug 모드 터미널에서 lsblk 명령어로 nvme0n1 물리 인식을 검증한 뒤 수동 캡처 진행. Single Disk - Resizable 옵션으로 동적 파티셔닝 적용 최적화.
Result: 하드웨어 제약을 소프트웨어 레이어에서 우회하여 전체 디스크 이미지 캡처 및 배포 성공.
Situation: 사내 표준 바탕화면 강제 적용 Snapin 배포 중, 32비트 FOG Client가 레지스트리를 HKLM\...\WOW6432Node로 우회하여 64비트 그룹 정책이 무시되는 문제 발생.
Action: reg add 명령어에 /reg:64 옵션을 명시적으로 추가하여 네이티브 64비트 레지스트리 하이브를 직접 제어. SYSTEM 계정 권한 범위 내에서 실행 가능한 HKLM 로컬 머신 그룹 정책 제어 CMD 스크립트를 .zip 패키지로 구성하여 Snapin으로 배포.
Result: 210대 전 PC에 사내 표준 UI 정책을 무인으로 성공적으로 일괄 적용 완료.
Situation: 210대 PC의 MAC 주소와 Hostname을 개별 등록할 경우 막대한 수작업 공수가 발생하여, 대규모 배포 자동화의 이점이 반감될 우려 발생.
Action: 자동 .bat 스크립트를 직접 작성하여 각 pc마다 Mac 주소을 추출 및 일괄 수집 하였으며, PC를 용도별·위치별 그룹으로 분류하고 그룹 단위 배포 태스크를 편성하여 대규모 관리 효율을 극대화.
Result: 210대 등록·그룹핑 작업을 최소 공수로 완료, 전체 배포 파이프라인의 운영 효율성 극대화.
Dnsmasq — ProxyDHCP 방식 PXE 부팅 트래픽 분리
Tftpd-hpa — TFTP 서버 구성 및 부트 파일 전달
iPXE (ipxe.efi) — UEFI 펌웨어 전용 부트 로더 대응
Linux ip 명령어 — 네트워크 링크 진단 및 IP 충돌 해소
FOG Open Source (FOG Server) — 네트워크 기반 OS 이미지 캡처·배포
bzImage (FOG Kernel) — NVMe VMD 인식을 위한 커널 직접 업데이트
lsblk — Debug 모드 디스크 물리 인식 검증
Single Disk - Resizable — 타겟 PC 환경별 동적 파티셔닝 최적화
FOG Snapin — 배포 후 무인 정책 자동화 스크립트 패키지
reg add /reg:64 — 64비트 레지스트리 하이브 네이티브 직접 제어
CMD Scripting (.zip) — SYSTEM 계정 HKLM 그룹 정책 패키지
CSV Bulk Import — MAC 주소·Hostname 210대 일괄 등록
한국산업인력공단 온라인 원격훈련 인프라 구축 및 교육 승인 심사 대응
AWS VPC · DB Architecture · PHP Migration · Security Compliance
Situation
한국산업인력공단(HRD) 온라인 원격훈련 특유의 비즈니스 로직(진도율 인정 기준, 평가 무결성 등)과 공공기관 수준의 엄격한 보안 실사를 동시에 충족하는 LMS 인프라가 부재한 상황.
Task
본사 인프라 팀과 잦은 회의를 진행하며, 초기 DB 스키마 설계부터 AWS 클라우드 인프라 보안 격리 구성, 기존 PHP 레거시 코드 마이그레이션까지, DevOps·풀스택 엔지니어로서 전 과정을 내부 팀과 함께 진행.
Result
국가 정보 보안 가이드라인 기반 인프라 실사 및 보안 점검을 단 1회 심사 만에 완벽 통과. 안정적인 서비스 운영 기반을 마련하고 인프라·보안 체계의 우수성을 공식 인정받음.
Situation: HRD 원격훈련은 진도율 인정 기준, 시험 재응시 제한, 수료 조건 산정 등 일반 LMS와 다른 복잡한 비즈니스 로직을 요구하며, 대규모 수강생 데이터의 무결성 보장이 필수적이었음.
Action: 수강 진도율·평가 이력 등 핵심 엔티티를 3NF 수준으로 정규화하고, 수강 상태 전이에 트랜잭션을 적용하여 동시 요청 시 데이터 정합성을 보장하는 스키마를 설계. 조회 빈도가 높은 컬럼에 복합 인덱스를 적용하여 쿼리 병목을 사전 예방.
Result: 초기 설계 단계에서의 데이터 무결성 확보로 이후 개발·운영 단계의 데이터 이상 장애를 원천 차단.
Situation: 공공기관인 한국산업인력공단 심사에서는 서버가 인터넷에 직접 노출되지 않는 망 분리 구조와 계층별 접근 통제 증빙이 필수 요건.
Action: Public/Private Subnet 이중 분리 구성, NAT Gateway를 통한 단방향 아웃바운드 통제, Security Group·NACL의 이중 인바운드/아웃바운드 화이트리스트 정책을 계층별로 적용하여 AWS VPC 기반 3계층 보안 아키텍처를 완성.
Result: 클라우드 환경에서 온프레미스 수준의 망 분리 요건을 충족, 보안 심사 인프라 실사 항목 전원 통과.
Situation: 기존 PHP 기반 LMS 코드베이스가 온프레미스 서버 환경에 종속적으로 작성되어 있어, 신규 AWS 클라우드 인프라로의 이관 시 의존성 충돌 및 환경 변수 불일치로 인한 서비스 중단 리스크가 높았음.
Action: 코드베이스 전체를 분석하여 하드코딩된 절대 경로, 로컬 파일 시스템 의존성, DB 커넥션 설정 등 마이그레이션 장애 요인을 사전 식별 및 리팩토링. 스테이징 환경에서 기능 검증 후 Blue-Green 방식으로 단계적 전환을 수행하여 서비스 중단 제로 달성.
Result: 다운타임 없이 레거시 서비스를 클라우드 환경으로 완전 이관, 이후 신규 기능 개발 속도를 비약적으로 향상.
Situation: 한국산업인력공단 원격훈련 교육 승인은 인프라 보안 실사, 콘텐츠 적합성, 학습 관리 시스템 기능 검증 등 다층적인 심사 항목을 모두 통과해야 하는 고난도 공공기관 인증 절차.
Action: 심사 항목별 기술 증빙 문서(VPC 아키텍처 다이어그램, Security Group 정책 명세 등)를 직접 작성하고, 심사관의 실시간 기술 질의에 인프라 구조 레벨로 대응. 취약점 지적 전 사전 보완 조치를 선제적으로 완료.
Result: 인프라 보안 심사를 단 1회 만에 무결점 통과. 공공기관 납품 자격을 확보하며 사업 확장의 기술적 기반을 마련.
DB Schema Design (3NF) — 수강 데이터 정규화 및 무결성 설계
Transaction Management — 동시 요청 시 진도율 정합성 보장
Composite Index — 조회 빈도 기반 쿼리 병목 사전 예방
MySQL — 수강생 진도·평가 이력 데이터 저장소
AWS VPC — Public/Private Subnet 이중 격리 설계
NAT Gateway — 프라이빗 서브넷 단방향 아웃바운드 통제
Security Group / NACL — 계층별 인바운드·아웃바운드 화이트리스트
AWS EC2 / RDS — 웹·DB 서버 클라우드 인프라 운영
PHP — 레거시 코드베이스 의존성 분석 및 리팩토링
Blue-Green Deployment — 무중단 단계적 서비스 전환
AWS S3 — 정적 콘텐츠 및 학습 자원 스토리지 분리
Compliance Documentation — 보안 심사 기술 증빙 문서 작성
다양한 고객 접점 직무
호텔 HR/총무, 금융권 CS 등을 통해 유연하고 탁월한 커뮤니케이션 및 문제 해결 스킬 확립
에듀테크 Java 과정
(주)천재교육 주관 풀스택 개발자 과정 수료 및 KDT 매칭, 교육 게임 플랫폼 프로젝트 진행
(주)천재교육 입사
Full-Stack & DevOps Engineer 재직 중. AWS Generative AI 및 DevOps 인증 과정 수료
CS 학위 및 자격증
학점은행제 컴퓨터공학 학사 학위 편입, 한국데이터산업진흥원 SQLD 자격증 취득, 정보처리기사 필기 합격
1) 온라인 코딩 테스트 및 동영상 학습 플랫폼
시스템 아키텍처 설계, REST API 개발, 미디어 스트리밍 연동을 수행하고 영상 진도율 초 단위 기록 로직으로 데이터 정합성을 확보.
2) (구)나라장터 크롤링 및 분석 대시보드
분산 공고 데이터 수집/분석 자동화 파이프라인과 관리자 대시보드를 구축하여 사내 영업·기획팀 업무 시간 80% 단축.
3) KDT 학생 관리 시스템 (LMS)
초기 아키텍처 수립, DB 모델링(ERD) 설계, 학습 진도/출결 통합 관리 기능 구현으로 운영 행정 효율화.
4) 실시간 위치 기반 매칭 시스템
Kakao Map API 기반 교사-학교 매칭 알고리즘을 구현해 실시간 위치 기반 사용자 경험 개선.
5) KDT 랜딩페이지
교육산업 대상 랜딩페이지를 제작하고 반응형 웹 퍼블리싱을 적용해 웹/모바일 접근성 향상.
공통 기여 포인트
실무 요구사항을 빠르게 기능화하고, 운영자 관점의 관리 효율성과 사용자 관점의 사용성을 함께 개선.
현장 중심의 비즈니스 가치를 높이는 개발자가 되겠습니다.