한화시스템 BEYOND SW 부트캠프 2기 DevOps 프로젝트 회고

Tessssssssy·2024년 3월 7일
0

2024.02.26(월)

  • 4번째 미니 프로젝트인 DevOps 프로젝트 종료
  • 지난 4개월 간의 강의 종료

유시유종 (有始有終)

드디어 오늘 4번째 미니 프로젝트인 DevOps 프로젝트가 끝났다.

선생님께 4개월 간 수업을 듣고 각 파트가 끝날 때마다 짧은 기간의 프로젝트들을 수행했고 오늘 무사히 마쳤다.

아쉬움이 많이 남는다.

나는 그동안 커리큘럼에 따라 강의 내용을 이해하고 실습을 하는데 큰 문제가 없었다. 하지만 내가 이해한 것과 별개로 짧은 기간 동안 수업 시간에 배운 내용을 모두 적용해 어느 정도의 결과물을 만들어 내는 일은 쉽지 않았다.

특히 마지막 파트인 데브옵스의 경우 Docker, Kubernetes, Jenkins 등에 대해 배웠는데, 나는 이 주제들에 대한 경험이 전혀 없었고 내가 이 부트캠프를 선택한 결정적인 이유였기에 초집중해서 모든 내용을 습득하려고 노력했다.

하지만 Devops, CI/CD 에 대한 배경 지식, 경험이 전무하다 보니 이해하는데 쉽지 않았다. 그리고 개념 자체를 이해하는데 어려움이 있었다.

요즘은 백엔드 개발자라는 표현을 사용하지 않고
백엔드 엔지니어 라는 표현을 사용한다고 한다.

그만큼 백엔드 직군에게도 CI/CD, 나아가 Devops에 대한 지식 및 경험이 필수적으로 요구되기 때문이다.

벽을 느꼈고 나는 여느 백엔드 개발자가 아닌 백엔드 엔지니어가 될 것이기에
데브옵스 파트에 대한 공부를 더욱 더 많이 해야겠다는 생각이 든다.



  • Cluster Architecture
    Cluster Architecture

  • System Architecture
    System Architecture

이번 프로젝트 때 최종적으로 제출한 아키텍처들의 모습이다.

시스템 아키텍처의 경우 선생님의 여러 차례 피드백을 거쳐 최종 확인을 받았지만 클러스터 아키텍처의 경우 당시만 해도 정확한 이해를 하지 못했고 각각의 워커 노드에서 실행되고 있는 파드들에서 어떤 프로그램들이 실행되고 있는지 확인 및 기입을 하지 못했다.


그리고 Dockerfile, Jenkinsfile 등의 yml 파일도 예시를 보고 하는 수준에 그쳤다. 결과적으로 dbpv, pvc를 이용해 볼륨을 적용하고 AWS RDS, 가상 머신의 MYSQL DB 서버 등의 사용을 하지 않고 stateful set을 사용하라는 요구 사항도 DB가 파드에서 실행되지 못해 백엔드와 통신을 하지 못한 채 마무리되었다.


그럼에도 불구하고 나는 백엔드 개발자로서 Docker, K8S, Jenkins를 내 기술 스택에 넣을 것이다. 기본 개념부터 잘 쌓아서 올해 여름에는 당당하게 내 기술 스택에 세 단어를 넣고 면접에서 어떤 질문이 와도 탄탄한 기본기로 대답할 수 있도록 준비를 철저하게 할 것이다.



이제 최종 프로젝트가 남았다.

그동안 선생님께 배운 기술들을 최대한 많이, 더 심화된 내용으로 기능을 구현해보고 싶다.
나아가 배우지 못했지만 평상시에 관심이 있어 찾아보았던 기술들도 조금은 적용해 보고 싶다.
(ex. Redis 캐시 서버, Elastic search, 깊이 있는 Spring Security 등)



다짐

내 개발 경험을 통틀어 wbs, 요구사항 명세서, API 명세서, 화면 설계서 등의 여러 설계 문서를 작성하는 것부터 개발까지 처음부터 모양새를 갖추고, 소위 각잡고 제대로 하는 프로젝트는 처음이다. 구현에만 급급했던 지난 내 개인 프로젝트들과는 달리 이번에는 설계부터 제대로, 차곡차곡 만들어 흔들리지 않는 탄탄한 설계를 만들고 이를 바탕으로 구현을 잘 할 것이다.

profile
Web Developer

0개의 댓글