Section 3 의 후반부에서 도커를 배우면서 용어 정도를 간략하게 정리해본 적이 있었습니다. 참고링크
당시에는 배포라는 과정을 주어진 레퍼런스를 따라하는 것으로 해결했기 때문에, 실제로 배포라는 과정에서 생기는 여러 어려움과 문제들을 알지 못했는데요. 짧은 2 주 였지만 First Project 과정을 거치고 나니 배포에서 마주치는 어려움이 무엇인지를 조금은 이해하게 된 것 같네요.
Docker takes away repetitive, mundane configuration tasks and is used throughout the development lifecycle for fast, easy and portable application development - desktop and cloud.
도커에 대한 소개 글을 메인 페이지에서 복사해 가져왔습니다.
AWS 자동화를 이용한 전체 배포 작업에서 가장 피곤했던 부분이 바로 위의 문장에서 소개하는 것처럼 평범하면서도 반복적인 환경 설정 작업이었습니다. 하나를 수정해서 적용하고 나면 그 다음 문제가 발생하는 식이다 보니 배포 작업을 반복하는 것 외에 별다른 수가 없었거든요.
도커를 통해 이런 부분을 줄일 수 있다면 너무나 환영입니다. 그래서 Final Project 에서 새롭게 사용해볼 스택으로 Docker 를 해보면 어떨까 싶었죠.
굳이 필요하지 않은 스택을 덕지덕지 프로젝트에 갖다 붙일 필요는 없습니다. 그러니 도커를 사용하려면 도커의 장점과 단점이 무엇인지, 그래서 Final 에서 도커를 사용해야 하는 이유는 무엇인지를 팀원들에게 납득시킬 수 있어야겠죠.
도커의 장점 중에 하나는 여러 개의 콘테이너를 각각 독립적으로 실행시킬 수 있다는 부분입니다. 각각의 콘테이너가 분리되어 있기 때문에 서로 영향을 받거나 간섭하지 않게 되죠. AWS 와 연계한다면 하나의 EC2 인스턴스 안에서 여러 콘테이너를 구동할 수 있다고도 생각할 수 있을 겁니다.
문제는 과연 지금 저희에게 이 점이 필요한 부분이냐는 것입니다. 당장 서비스되어야 하는 것이 아닌 프로젝트라는 점에서, 굳이 하나의 EC2 인스턴스 안에서 여러 개로 나뉘어 독립적인 환경을 구축해줘야 할 필요는 없지 않나 싶습니다.
또 다른 장점으로 서버의 증설 등이 매우 편리하고 간단하다는 것도 있는데요. 이 부분도 프로젝트 단계에서는 굳이 고민할 필요가 없는게 아닌가 싶어 보입니다.
두 가지 장점이 프로젝트 단계에서는 굳이 고민할 필요가 없는 것들이다 보니 도커를 사용해야 하는 이유가 있는지를 의심하게 되는데요. 아직 공부가 부족한 만큼 추가적인 공부를 통해서 도커가 필요한지 여부를 좀 더 확실하게 확인해보려고 합니다.
아직 도커에 대해 입문자 딱지조차 떼지 못한 관계로 추가적인 공부를 통해 알아보고 싶은 점들이 있습니다.
1 ~ 3 번까지의 항목들은 도커에 대해 소개하는 여러 유튜브 영상들을 보며 가졌던 궁금증입니다. 공식 홈페이지를 통해 조금 더 공부하는 과정을 밟게 되면 위의 질문들에 답할 수 있지 않을까 싶네요.
사실 4 번은 이제까지의 장,단점을 한 번에 뒤집는 내용이긴 합니다. 도커를 이번 기회에 실제로 사용해보는 경험이 과연 얼마나 중요할지를 묻는 것이기 때문이죠. 당장 내일의 SR 단계에서 이 모든 질문들에 답할 수 없는 만큼 4 번 질문은 혼자 고민하기보다는 팀원들과 상의를 해보는 것이 좋지 않을까 합니다.
당분간은 도커의 공부를 이어나가게 될 것 같습니다. 오늘은 여기에서 마치도록 하겠습니다.