어느 DevOps 엔지니어의 조직 적응 과정과 추천 스킬셋
(insight.infograb.net)- 어느 주니어 DevOps 엔지니어의 업무 수행 방식과 그가 온보딩 과정에서 보고 듣고 느낀 점
- 면접 질문:
- 포트폴리오에 명시한 기술 스택 이해도와 업무 스타일 질문
- 백엔드 구현 경험, 모니터링 스택 구축 경험, Docker와 Kubernetes 주제로 심층 질문
- 온보딩 과정:
- 1주차:
- 노트북 PC 세팅, 업무 환경 셋업
- 회사 문화와 제품/서비스 소개, 자기 소개와 업무 선호도 소개
- GitLab 워크숍과 핸즈온 교육 수료
- 2주~4주차:
- GitLab으로 DevOps 워크플로 구축
- AWS 인프라에 옴니버스 형식 GitLab 설치하며, DevOps 파이프라인 PoC 작업
- GitLab에 TLS 인증서, Container Registry, GItLab Pages, SMTP 등 구성하고 GitLab 기능 파악
- CI/CD 파이프라인 구성, Grafana 사용해 모니터링 스택 구축, 간단한 DevOps 워크플로 만듦
- CI/CD 파이프라인 구축, 가이드 작성
- 회사에서 개발한 파이프라인 에디터로 풀스택 애플리케이션에 CI/CD 파이프라인 구축, 이 내용을 가이드로 작성
- 기술세션
- ‘HTTPS와 TLS 및 Cors’ 주제로 15분동안 세션 진행
- GitLab으로 DevOps 워크플로 구축
- 2~3개월차
- 회사 교육 서비스 콘텐츠 피드백
- 콘텐츠 내용 직접 실습하면서 피드백 작성
- 초급 DevOps 엔지니어로서 사용자 눈높이에 맞춰 교육 콘텐츠 보고 이해할 수 있었고, 그들과 최대한 가까운 입장에서 회사로 피드백 제공
- 회사 교육 서비스의 Kubernetes 기초 가이드 작성
- 기술 블로그 콘텐츠 작성
- 주제: ChatGPT 잠재력 활용해 DevOps 워크플로 개선하기
- NCP(네이버 클라우드 플랫폼) 활용해 공공기관 인프라 구축
- 해외 소재 형상 관리 시스템 서버를 국내 소재 클라우드 서버로 이관해 저작권 관리와 개발 데이터 보안을 강화하는 프로젝트
- 요구사항에 맞는 인프라 구성 방법 배움
- DevOps 컨설팅 참여
- 회사 교육 서비스 콘텐츠 피드백
- 1주차:
- 온보딩 이후:
- 얻은 것:
- 기술과 지식:
- AWS, Kubernetes, Docker, Terraform, GitLab, Cert Manager, Ingress 등 다양한 도구와 프론트엔드, 백엔드, CI/CD, 브랜치 전략 등 지식 접함
- DevOps 워크플로가 어떻게 일어나는지, 어떤 결과를 얻을 수 있는지 배움
- 레버리지:
- 레버리지는 생산 효과/투자 시간
- 레버리지가 높은 활동 자체에 집중하는 게 중요
- 성장 속도가 높아지면 투자한 시간에 비해 크게 성장하므로 레버리지도 올라감
- 주인의식:
- 업무 수행 방식 설계, 일정 계획 능력 더 키움
- 회사 운영의 전체 그림을 염두에 두고 업무 진행, 공유
- 기술과 지식:
- 시행착오
- 두려움:
- 새로운 프로젝트를 시작할 때 걱정됐지만 막상 시작하면 걱정이 사라짐
- 막히거나 어려움이 있더라도 길 찾아보고, 사람들에게 물어보면 방법이 떠오름
- 시행착오 줄이는 방법:
- AWS, Kubernetes, Docker 역량 있으면 문제 더 쉽게 해결
- ASS(AWS)나 CKA(Kubernetes) 같은 자격증 준비하며 역량 쌓는 것도 좋음
- CI/CD 파이프라인 작성 경험 있으면 DevOps 워크플로에 빠르게 적응할 수 있음
- Gradle, Pip 등 애플리케이션 빌드, 패키지 도구 이해+Unit, API 테스트 수행 경험 있으면 좋음
- Git을 브랜치 전략 따라 사용한 경험 있으면 좋음
- 문제가 생겼을 때 차근차근 PoC 수행할 것
- 동료들과 잘 소통하고 협업
- AWS, Kubernetes, Docker 역량 있으면 문제 더 쉽게 해결
- 두려움:
- 얻은 것:
- 내가 생각하는 DevOps 엔지니어:
- 개발과 운영 업무 간에 협업과 통합이 효율적으로 이뤄지도록 전체 소프트웨어 생명 주기를 구성하는 문화를 만드는 직무
- 개발 환경 설정, CI/CD 파이프라인 구축, 인프라 구축, 운영과 모니터링, 배포 자동화 등을 담당하며 개발자가 더 빠르고 안정적으로 제품 배포하도록 지원
- 브랜치 전략 어떻게 구성할지, 지식과 경험을 어떻게 공유할지, 어떤 지표를 모니터링 할지, 인증과 인가는 어떻게 구현할지 생각하며 개발 문화를 끊임없이 고민해야 하는 직무
- 추천하는 스킬셋
- IaC: Terraform, Ansible
- 클라우드: AWS, GCP, Azure, NCP
- Container Registry: Kubernetes, Helm, Docker
- CI/CD: GitLab, GitHub, Jenkins
- 언어: Python, Go
- 애플리케이션 빌드 도구: Gradle, Maven, Npm, .NET, Yarn, Pip
- Observability: Grafana, Prometheus, Loki, Tempo, ElasticSearch, Kibana, Logstash, Sentry 등
댓글 감사합니다. :) 작년에는 제가 쓴 글 가운데 일부를 올렸습니다. 요즘은 동료 엔지니어 글 가운데 좋은 내용이라고 생각하거나, 엔지니어나 개발자들에게 혹시 도움될만한 콘텐츠를 공유하고 있습니다. 보기 불편하셨다면 송구합니다.