[Udemy] Docker & Kubernetes : 실전 가이드 후기

주노·2024년 5월 12일
4

기술부채 알쓸신잡

목록 보기
17/21
post-thumbnail
post-custom-banner

서론

동아리에서 진행중인 Koin 프로젝트를 로컬에 환경 구성을 하기 위해 Redis, Mongo, MySQL, Tomcat 등을 설치해야한다.

동아리 신규 인원의 온보딩 과정에서 온보딩을 받는 인원이 항상 자신의 로컬에 DB, WAS를 설치해야하는 것이 다소 불필요한 일이라고 생각되었다. 문서화를 시켜두자니 Window, Mac OS, Linux 등 모든 OS에 대한 온보딩 문서를 남겨둬야하는 번거로움도 있었고, 이 환경을 모두 문서화시킬 만큼의 장비도 없었다.

모든 컴퓨터에 동일한 Virtual Machine을 설치하여 그 환경에서 작업을 진행하게 해야하나..? 라는 생각을 하던 지나가는 말로 종종 들렸던 Docker라는 시스템에 눈길이 갔다.

Virtual Machine과 뭔가.. 다르고 좋다! 라는 말만 들어봤지 막상 뭔지 감도 오지 않았던지라 강의를 수강하기로 했다.

강의 설명

강의는 총 16개의 섹션으로 Docker 가 무엇이고 왜 사용해야하는가? 를 설명하는 시작하기 파트부터 다양한 상황을 제시하면 Docker 프로젝트에 익숙해지기, Kubernetes 활용까지 강의가 구성되어있다.

지난 자바 멀티스레드 강의에 비해 약 4~5배가량 긴 시간의 강의라서 시간을 쪼개서 강의를 수강해야했다.

이번 강의는 섹션이 꽤나 많고 그 내용도 방대하여 섹션별 정리보다는 강의의 전체적인 평에 대해 남겨보려고한다.

이 강의는요..

Docker & Kubernetes : 실전 가이드 강의는 한글 자막을 제공하는 외국 강의이다. 영어로 되어있는 강의에 익숙하지 않은 사람이여도 친절하게 한글 자막을 제공해주는 것이 유데미의 특징인것 같다.
잘 정리되어있는 자료와 함께 강의를 진행하는 것과 꾸준한 상황제시, 실습으로 이뤄지는 강의.

총 262개의 강의가 있지만 각각의 강의는 10분 내외로 강의 하나씩만 두고봤을때는 그리 큰 부담이 느껴지지 않을 수도 있다.

다만 작은 분량의 강의 262개가 모여져서 만들어진 23시간 24분은 결코 짧은 시간이 아니였다.

전반부에는 Docker에 대한 부분, 중반부에는 AWS로 배포하는 방법이 함께 등장하며 AWS의 ECS를 활용하는 방법까지 함께 진행되었다.

후반부에는 쿠버네티스에 대한 개념과 사용방법을 소개하는 구성으로 강의가 진행된다.

좋았던 점

  • Docker를 왜 사용해야하고, 기본적인 명령어부터 차근차근 알아갈 수 있다는 측면에서 입문자인 나에게 아주 적합한 강의였다고 생각한다.
  • 기술의 도입에 대한 이유를 적절히 설명하며 강의기 진행되기 때문에 Docker를 이래서 사용하는구나! 라는 생각이 든다.
  • 실습 위주의 수업이 계속되어 노트북을 펴고 강의를 수강할 때 따라치면서 지식을 습득하게되는데 이때의 몰입력은 상당하다.
  • 실패케이스를 제시하면서 자연스럽게 트러블슈팅하는 흐름을 함께 제시한다.
    • 강의가 진행되면서 모든 실습이 한번에 통과하는 것이 아니라 ~을 진행합니다... 안됩니다! ~해서 안되는건데~라는 형식의 실습이 좀 더 깊이있는 실습을 진행하도록 도와주기도 했다.
    • 물론 이 방식이 마음에 안드는 사람도 있겠지만.. (정답만 빠르게 원하는?!) 입문자 입장에서는 큰그림으로 도움이 되는 강의 방법이라고 생각되었다.
  • 실습 간 Window, Mac OS 환경설정 제공
    • 보통 한국의 강의같은 경우는 강사의 OS에 종속적인 설명이 강의의 주를 이루고, OS에 대한 이슈는 QnA를 통해 해소하려는 경향이 있는 것 같다.
    • 본 강의는 Window, Mac OS각각의 환경설정 방식에 대해 강의를 제공한다. 꽤나 세심하다고 느껴졌다.
  • 지난 강의에서 말한 내용 리마인드
    • 강의가 꽤 길다보니 하루단위로 끊어보는 경우 지난 강의 내용이 100% 기억나지 않을 때가 많이 있었다.
    • 강사는 지난 강의에서 이야기한 내용이 필요한 경우 리마인드해주며 설명을 상세하게 진행해준다. 이점이 꽤나 마음에 들기도 했다.

아쉬웠던 점

  • 장점이 곧 단점이 되는 꼴이기도 하지만 과하게 많은 실습 강의가 부담이 되기도했다.
    • 개인적으로 노트북 앞이 아닌 고속버스나, 지하철 등에서 자투리 시간을 활용해 강의를 보는것을 좋아하는데 이러한 실습 위주의 강의가 이런 상황에서는 꽤나 몰입력이 떨어지기도 했다.
    • 또한 매번 환경이 준비되어있어야한다는 부담감은 혼자서 강의를 완강하는 과정에서 많은 의지를 필요로 했다. 이러한 부분은 스터디같은걸 운영해서 강제성을 부여할 필요가 있어보인다.
  • 가끔 몇몇 구간에서는 구체적인 서론이 다소 부담이 되기도했다.
    • 빌드업을 하는것은 좋지만 너무 반복되는 빌드업은 부담될때가 있기도했다.
    • 강의를 좀 많이 듣는 날이라면 했던 말을 또 하는 느낌을 받기도 했다.
  • 중후반부에 등장한 AWS 배포, ECS 사용법에 대한 부분은 지금의 관심사가 아니였기에 살짝 넘기기도 했다.
    • 이미 배포를 진행하고있고 최근 동아리에서 인프라를 담당하는 인원이 Docker Swarm을 적용했었기 때문에 뭔가 적용 시점에 필요할때 다시 보긴 할 것 같다는 생각이 든다.

배운점

  • Docker 이미지를 빌드할때 레이어라는 개념이 빌드 속도에 영향을 미칠 수 있다는 것에서 꽤나 인상깊게 봤었다.
  • Docker network를 통해 컨테이너간 통신이 가능한 환경을 구성할 수도 있다는 것도 많은 도움이 되었다. 이 개념 덕분에 nginx와 Springboot 프로젝트를 모두 컨테이너화 시킬 수 있다는 개념을 알 수 있었다.
  • Volume 개념에서는 DB를 Docker에 구성할 경우 DB 데이터를 서버에 바인딩 시킬 수 있다는 아이디어를 얻을 수 있었다.
  • 쿠버네티스는 실습을 따라 진행해보지 못해 찍먹만 해본 느낌이다. 나중에 여유가 될때 다시 실습을 해볼 생각이다.

후기

Docker에 대한 개념부터 어떻게 써먹을 수 있는가에 대한 방향성까지 알 수 있었던 강의였다.
강의가 실습 위주로 흘러가다보니 가볍고 빠르게 Docker에 대한 지식을 습득하고자 하는 사람들에게는 이 강의는 다소 부담스럽게 다가올 수도 있다고 생각한다. (내가 중후반부터 살짝 느꼈던..)

아주 짤막하지만 🛠️ 프로젝트 구동을 위한 설정이라는 온보딩 문서를 작성하면서 Docker를 활용하여 로컬에 프로젝트 환경구성을하는 온보딩을 간소화 시킬 수 있게 되었다. 개인적으로는 이점이 굉장히 뿌듯하다 😊

실제 활용 측면에서는 KOIN 마이그레이션을 진행하면서 WAS를 Docker로 띄우게 되었다. 이 과정에서 인프라 담당인원의 트러블슈팅을 도와주기에 충분한 지식을 습득할 수 있어서 꽤나 의미있는 강의였다고 생각한다.

지금은 잠깐 안본사이에 Docker Swarm까지 적용이 와르르 되어있는 상태라 현재 동아리 인프라에 구성되어있는 Docker Swarm을 파헤쳐보기 위해서라도 동아리 구성원들과 Docker 스터디는 꼭 필요하다고 생각한다.

동아리 내에서 Docker 스터디를 한번 더 진행하며 동아리 구성원들과 Docker 활용 방안을 구체적으로 탐구해봐야겠다는 생각이 들었다.

여러모로 바로 써먹을 수 있는 개념이라 그런지 꽤나 재밌게 강의를 수강했던 것 같다.
쿠버네티스 도입은.. 좀 생각 더해봐야겠다. 동아리 프로젝트가 그정도 스케일도 아니고 온보딩 비용도 상당할거같다는 생각도 든다.

해당 후기는 유데미로부터 강의 쿠폰을 제공받아 작성되었습니다.
강의링크 - 【한글자막】 Docker & Kubernetes : 실전 가이드

profile
안녕하세요 😆
post-custom-banner

0개의 댓글