채용공고 올리기

김세준님을 응원해보세요!

지금 만족하고 있어요
책임감
협업 지향
솔루션 지향
학습 지향
적응력

미리보기

기본 정보

이름
김세준
직업
신입 DevOps Engineer
간단 소개

기술 스택

기술 스택

Kubernetes, Docker, Python, Ansible, Terraform, AWS, Go, C, C++, github-actions, Git, Linux, Prometheus, grafana

프로젝트

프로젝트명

Car Instrument Cluster

소속/기관명

폭스바겐 SEA:ME

프로젝트 기간

2024.07. ~ 2024.09.

프로젝트 내용

Github

프로젝트 개요

PiRacer에 디스플레이와 Speed sensor를 연결하고, 차량의 움직임에 따라 속도계를 제작하는 프로젝트입니다.

  • QT 기반의 차량 계기판 애플리케이션을 개발했습니다.

  • PiRacer와 Speed sensor를 연동하였습니다.

  • 실시간 속도 데이터 시각화하였습니다.


기여

  • DevOps Engineer이자 Agile team의 리더로서 프로젝트에 참여하였습니다.


프로젝트 진행 과정

  • 기존 QT Creator의 크로스 컴파일 환경 구성에 많은 시간이 소요되었습니다.

  • 개발 환경과 실제 구동 환경(PiRacer) 간의 아키텍처 차이로 인한 호환성 문제가 발생했습니다.

  • 연구실 네트워크 정책으로 인해 자동 배포가 불가능한 상황이었습니다.

  • Github Actions의 빌드 환경과 PiRacer의 64비트 환경 간의 호환성 문제가 발생했습니다.

  • 이전 기수의 낮은 생산성과 비체계적인 프로젝트 관리에 문제가 있었습니다.

  • 서로 다른 4개국에서 온 팀원 간 업무 진행 상황 공유가 원활하지 않았습니다.

  • 작업 우선순위 설정과 일정 관리의 어려움이 있었습니다.


문제 해결

  • Github Actions CI 파이프라인 구축으로 크로스 컴파일 프로세스를 자동화했습니다.

  • Docker를 활용하여 개발 및 배포 환경을 일관성 있게 통일했습니다.

  • QEMU를 통해 ARM64 아키텍처 호환성 문제를 해결했습니다.

  • Cron job을 구현하여 PiRacer가 주기적으로 최신 바이너리를 확인하고 업데이트하도록 구성했습니다.

  • Agile 방법론을 도입하여 프로젝트 관리 체계를 개선하였습니다
    -> 2주 단위의 스프린트 계획 및 리뷰 진행
    -> 15분 데일리 스크럼 미팅 도입


결과

  • CI/CD 파이프라인 최적화
    -> 크로스 컴파일 환경 구축 시간을 90% 이상 단축하였습니다.


    -> 자동화된 빌드 및 배포 프로세스를 확립하였습니다.

  • 개발 환경 표준화
    -> Docker를 통한 일관된 개발 환경을 제공하였습니다.
    -> 아키텍처 차이로 인한 문제를 해결하였습니다.

  • 산업계 인정
    -> 폭스바겐, 메르세데스 벤츠의 시니어 개발자들에게 해당 솔루션을 발표했고, 호평을 얻었습니다.

  • Agile 기반 의사 결정 학습
    -> 이전 기수 대비 개발 생산성이 20% 향상되었다는 평가를 받았습니다.
    -> 데일리 스크럼을 통한 신속한 업무 진행 상황 공유를 이루어냈습니다.

프로젝트명

Inception Of Things (IoT)

소속/기관명

42Seoul

프로젝트 기간

2024.04. ~ 2024.05.

프로젝트 내용

Github

프로젝트 개요

42Seoul의 DevOps관련 심화 과제입니다. 총 3개의 과제로 세분화 되어있습니다.

  • Vagrant 및 Bash shell script를 작성하여 가상환경 내부에 다시 한 번 두 개의 가상 머신을 생성합니다. 이후, 두 가상 머신을 K3s 클러스터로 구성합니다.

  • 구성된 클러스터에 3개의 웹 애플리케이션을 배포하고, HOST 헤더에 따라 서로 다른 앱으로 라우팅 되도록 구성합니다. 두 번째 애플리케이션은 반드시 3개의 레플리카로 구성되어 있어야 합니다.

  • ArgoCD를 Github 저장소와 연동합니다. 저장소의 내용이 변경되면, ArgoCD가 변경된 버전으로 배포된 애플리케이션을 동기화해야 합니다.


프로젝트 진행 과정

  • VirtualBox와 M1 맥북 간의 호환 문제가 발생했습니다.

  • 과제를 진행하여야 하는 교육장에서의 iMac 컴퓨터와 Vagrant Version 사이의 충돌이 있었습니다.

  • Service, Ingress rule에 관한 부족한 지식으로 호스트 기반 라우팅이 제대로 작동하지 않았습니다.


문제 해결

  • M1 맥북, 교육장의 iMac 이슈를 해결하기 위해 Google Cloud에서 가상 머신을 생성하여 과제를 진행하였습니다.

  • Google Cloud 가상 머신 중 일부는 중첩 가상화를 지원하지 않는 문제가 발생하였고, N2 가상 머신은 중첩 가상화를 지원하여 이를 통하여 환경 문제를 해결하였습니다.

  • Ingress rule을 Debugging 하는 방법을 학습했습니다.

    kubectl describe ingress
    curl --header "Host: app1.com" 

결과

  • Kubernetes 네트워킹 이해도 향상
    -> Service의 동작 방식과 유형별 특징을 학습했습니다.
    -> Ingress 규칙 설정 및 트러블 슈팅 방법에 대해 학습했습니다.

  • 인프라 자동화 역량 강화
    -> Vagrant yaml 작성으로 인프라 프로비저닝을 학습했습니다.
    -> Bash Shell Script 작성 능력을 향상했습니다.

  • GitOps 기반 배포 프로세스 학습
    -> ArgoCD를 통한 선언적 배포 방식을 학습했습니다.
    -> 지속적 배포(CD) 파이프라인 구성 방법을 학습했습니다.

프로젝트명

Cloud-1

소속/기관명

42Seoul

프로젝트 기간

2024.03. ~ 2024.04.

프로젝트 내용

Github

프로젝트 개요

42Seoul의 DevOps 관련 심화 과제입니다. Ansible을 사용하여 Wordpress 및 관련 서비스를 컨테이너화 시킨 후 자동으로 배포하는 프로젝트입니다.

  • Wordpress, MySQL, phpMyAdmin 등의 서비스를 각각 독립된 컨테이너로 구성하여야합니다.

  • 모든 데이터는 재시작 시에도 보존되어야 합니다.

  • TLS를 통한 보안 연결을 지원해야 합니다.

  • URL에 따른 서비스 리다이렉션을 구현해야 합니다.


프로젝트 진행 과정

  • AWS EC2와 VirtualBox 가상 머신에 동시 배포 시 환경 변수 관리의 어려움이 있었습니다.

  • 서로 다른 환경의 호스트에 대한 인벤토리 관리가 필요하다고 판단하였습니다.

  • 민감한 정보의 안전한 관리가 요구되었습니다.


문제 해결

  • Ansible의 Jinja2 템플릿을 활용하여 호스트별 환경변수를 동적으로 생성하였습니다.

  • Ansible Vault를 도입하여 민감한 정보를 암호화하여 관리하였습니다.


결과

  • IaC 역량 강화


    -> Ansible을 통한 인프라 자동화 구현 방법을 학습하였습니다.

  • 환경변수 관리 기법 습득
    -> Jinja2 템플릿 엔진 활용법을 학습하였습니다.
    -> Ansible Vault를 통한 보안 관리 방법을 학습하였습니다.

  • 멀티 클라우드 배포 경험
    -> AWS 환경과 온프레미스 가상 환경의 통합 관리 방법을 학습하였습니다.
    -> 서로 다른 환경에서의 컨테이너 배포 방식을 학습하였습니다.

프로젝트명

Transcendence

소속/기관명

42Seoul

프로젝트 기간

2024.01. ~ 2024.03.

프로젝트 내용

Github

프로젝트 개요

실시간 온라인 Pong 게임 웹사이트를 제작하는 프로젝트입니다.

  • 프론트엔드는 반드시 Vanila Javascript로 작성하여야 하며, SPA로 구현되어야 합니다.

  • 프론트엔드, 백엔드, DB, DevOps tool들은 반드시 각각의 컨테이너에 있어야 하며, 반드시 docker compose로 작성되어야 합니다.

  • Docker compose up 명령어 한 번으로 모든 서비스가 한 번에 작동하여야 합니다.


기여

  • 팀의 리더이자 DevOps 업무를 수행하였으며, ELK Stack 도입, 서버 리소스 사용량 모니터링 및 이상 발생 시 E-mail Alert를 구축하였습니다.

  • Hashicorp vault를 사용하여 백엔드 서버에 사용되는 환경변수를 안전하게 관리하였습니다.


프로젝트 진행 과정

  • 환경 변수 관리에 있어 .env 파일 사용 시 버전 관리의 어려움, 파일 유출 위험, 실수로 인한 민감 정보 노출 등의 문제가 발생했습니다.

  • 프론트엔드 팀원들이 Vanilla JavaScript만으로 SPA를 구현하는데 큰 어려움을 겪었습니다.

  • 백엔드 담당 팀원과 다른 팀원들 간의 의사소통 문제로 팀 분위기가 저하되었습니다.

  • Nginx 컨테이너에 ModSecurity WAF 설정 시 빌드 시간이 10분 이상 소요되는 문제가 발생했습니다.

  • Docker compose에서 로컬 볼륨에 DB를 마운트하는 방식의 위험성을 인지했습니다.


문제 해결

  • Hashicorp Vault를 도입하여 환경 변수를 중앙 집중적으로 관리하고, 접근 권한을 세분화했습니다.

  • 주간 스프린트 회의를 도입하고, 페어 프로그래밍을 통해 팀원 간 기술적 격차를 줄이고 의사소통을 개선했습니다.

  • Nginx WAF 설정이 포함된 커스텀 이미지를 미리 빌드하여 Docker Hub에 배포함으로서 빌드 시간을 대폭 단축하였습니다.

  • AWS RDS를 도입하여 데이터의 안정성을 확보하였습니다.


결과

  • 보안 관리 체계 확립
    -> Hashicorp Vault를 통한 중앙화된 보안 관리 시스템을 구축하였습니다.
    -> 환경 변수의 안전한 관리와 접근 제어를 실현할 수 있게 되었습니다.

  • 팀 협업 문화 개선
    -> 체계적인 스프린트 운영으로 팀 생산성을 향상 시켰습니다.
    -> 페어 프로그래밍을 통한 기술 공유 및 팀워크를 강화시켰습니다.

  • 인프라 최적화
    -> 컨테이너 빌드 시간을 10분 → 1분으로 단축시켰습니다.
    -> AWS RDS 도입으로 데이터 안정성을 확보하였습니다.

프로젝트명

Porsche Digital Brand Experience

소속/기관명

Porsche Digital

프로젝트 기간

2024.10. ~ 진행 중

프로젝트 내용

Linkedin Post

프로젝트 개요

포르쉐의 고객이 포르쉐를 계약한 후, 차량을 인도 받고 휴대폰과 연동하는 시점까지의 경험을 개선하는 프로젝트입니다.


기여

  • DevOps Engineer이자 Backend Developer로 참여하여, 서버리스 아키텍처 구축을 위해 필요한 AWS 리소스들을 Terraform으로 작성하여 관리하였습니다.

  • 포르쉐와의 기밀 유지 협약(NDA)으로 인하여 상세 내용을 기술할 수는 없으나, Python을 기반으로 Lambda 함수를 제작하였습니다.

대외활동

활동명

Porsche Digital Campus Challenge

소속/기관명

Porsche Digital (독일 루드비히스부르크)

연도

내용

챌린지 관련 정보

세계 13개국 196팀이 참가한 Porsche Digital Campus Challenge입니다.

Customer Relationship, Brand Experience, AI and ChatGPT 총 3개의 과정에서 4팀을 선발하며, Brand Experience 부분 독일 대표 최종 1팀에 선발되었습니다.

포르쉐의 시니어들과 함께 실제 포르쉐 애플리케이션의 고객 경험 부분을 개선하는 프로젝트를 진행하고 있으며, Backend Developer이자 DevOps로서 해당 프로젝트에 참여하고 있습니다.

활동명

Volkswagen SEA:ME Project

소속/기관명

폭스바겐 (독일 볼프스부르크)

연도

내용

프로젝트 관련 정보

폭스바겐의 차세대 독일 모빌리티 엔지니어 양성을 위한 오픈소스 프로젝트입니다.

폭스바겐의 본사가 위치한 독일 볼프스부르크의 연구실에서 진행되며, 2024년 2기로 참여하였습니다.

17개국에서 온 50명의 학생들과 영어로 프로젝트를 진행하고, 서로의 코드를 리뷰하며 애자일 방식의 협업을 진행하였습니다.

포트폴리오

URL

link

영문 포트폴리오 웹사이트입니다.

URL 링크

경력

회사명

대한민국 육군항공

직급 | 부서 | 근무 유형

항공 정비사 / 정비 계획관 | 정비팀 / 계획팀

근무 기간

2017.07. ~ 2022.08. (5년 2개월)

담당 업무
  • 항공기 정비 계획관으로서 운항 시간 교차 검증 프로세스 개선을 통하여 항공기 전체 가동률을 15% 개선하였습니다.

  • 운항 회의 중 비행 시간 검증을 통하여 불필요한 비행 시간 기록을 방지하였습니다.

  • 퇴근 이후 꾸준학 학습으로 부사관 초급 리더 과정 전체 수석을 달성하였습니다.

  • 팀워크, 커뮤니케이션, 임무 성공에 중점을 두고 소규모 전투 부대를 이끌었습니다.

교육

소속/기관명

폭스바겐 SEA:ME

종류 | 전공

사설 교육 | 컴퓨터과학 / 모빌리티

재학 기간 | 재학 상태

2024.06. ~ 현재 | 재학 중

소속/기관명

42Seoul

종류 | 전공

사설 교육 | 컴퓨터과학

재학 기간 | 재학 상태

2022.11. ~ 2024.06. | 졸업

소속/기관명

방송통신대학교

종류 | 전공

대학교(학사) | 컴퓨터과학

재학 기간 | 재학 상태

2021.03. ~ 2024.02. | 졸업

자격증

자격증명

Certified of Kubernetes Administrator (CKA)

점수 | 발급기관

Intermediate | Linux Foundation

취득연월

2024.07.

자격증명

AWS DevOps Professional (DOP-C02)

점수 | 발급기관

Professional | Amazon Web Services

취득연월

2024.09.

외국어

외국어명

영어

점수

비즈니스 회화 가능

댓글