Docker 도입을 고민하고 있는 이유?
현재는 Github Action으로 서버에 SSH로 접근한 뒤 쉘스크립트를 실행시켜 pull → 패키지 install → build → 서버 실행 순으로 동작하도록 하였습니다.
하지만 배포를 좀 더 개선할 수 있지 않을까 하여 생각해보니, 몇몇 팀에서 Docker + Docker compose를 활용하여 배포를 하는 걸 본 기억이 났습니다.
그래서 ‘Docker를 도입하는 것이 배포에 좋은 영향을 주지 않을까?’ 하는 생각이 들었습니다.
→ 어떤 좋은 영향이 있을까?
Docker 도입을 계속 망설이고 있는 이유?
Docker를 조금 조사해보니 ‘환경에 구애받지 않고 어느 환경에서든 동일한 동작을 한다.’ 라거나 ‘어플리케이션에 필요한 모든 의존성들을 함께 패키징할 수 있다.’ 정도가 장점임을 알 수 있었습니다.
그런데 ‘환경에 구애받지 않고 동일한 동작을 한다.’ 라는 점은 지금은 환경 차이에 의한 큰 문제가 발생한 적이 없어서 딱히 장점이라고 느끼진 못하였고,
‘어플리케이션과 의존성을 함께 패키징한다.’ 라는 점은 직접 해보질 않아 눈에 띄는 장점이 맞는지 모르겠어서 Docker를 도입하는 것을 계속 망설이고 있습니다.
(단지 조사가 부족해서 이런 고민을 하고 있는 걸까요?)
- DB 특강
- 백엔드 개발자에게 제일 중요한 것
- 서버를 죽지 않게 유지하는 것
- 무중단 배포
- 오케스트레이션
- 최적화
- 캐시
- ….
- 서버를 죽여봐야 됨 → 아~!
- 그룹프로젝트
- 피어세션 → 그룹의 그룹 → 서로의 서비스를 이용해주기 → 특정 페이지에서 계속 새로고침 → 데이터를 막 넣어본다거나 → 서로의 문제점을 찾아주기 → 서버 죽여보기 → 이런상황에서 어떤 도구를 도입하면 좋을까? → 좋은 경험을 만들어나가기 위한 설계
그래서 궁금한 건?
과연 Docker를 사용하는 것이 기존에 저희가 사용하는 방법에 비하여 좋은 점이 무엇일까요?
(가능하다면 무중단 배포도 고려하고는 있는데, Docker가 도움이 될 수 있을까요?)
무중단 배포
→ 도커가 없어도 가능합니다.
pm2
nginx
무중단 배포 자체가 여러 개의 서버가 필요한 작업