처음 도커를 접했을 때, 처음에는 너무 어려워서 배워야 하나 라는 생각을 하기도 했지만, 개발 공부를 하고 오픈톡방에서 다양한 정보를 접하면서 도커를 사용하는 사람이 많고 인기를 끌고 있어 제대로 공부해 보자 라는 생각이 들어서 공부하게 되었다.
물론, 남들이 하니깐 나도 한다! 라는 마인드는 좋은 생각은 아니지만 개발에 대해서 나보다 많은 정보를 알고 있고 기술적으로 많은 내용들을 접해본 사람들이 극찬하고 배운다는 것은 그만한 이유가 있다고 생각한다.
도커가 인기를 끈 이유
우선, 도커가 왜 인기인지 부터 알아보자.
과거 기존에 배포는 하나의 물리 서버에서 실행되었는데, 여러 애플리케이션을 실행한다면 각각의 애플리케이션들이 잡는 리소스의 크기를 조절하기 어려웠다.
이를 해결 하기 위해서, 서버를 물리적으로 늘리는 방법을 선택하였는데 이는 비용적 측면에서 별로 좋은 방법이 아니었다.
이를 해결하기 위해서, 가상화라는 개념이 도입되었다. 가상화는 하나의 물리서버에 여러 개의 가상머신을 나누어, 각각의 애플리케이션을 격리된 환경에서 실행하도록 하였지만, 오버헤드와 느린 실행속도 복잡한 관리등이 문제가 있었다.
이런 상황에서 도커의 컨테이너 기술이 등장한 것이다.
도커의 장점
도커, 그리고 컨테이너가 어떠한 이점이 있길래 이토록 인기를 끈 것인가?
1. 도커는 개발, 테스트, 프로덕션 환경 간의 불일치 문제를 해결한다.
- 개발환경에서는 잘 되는데, 배포를 하면 잘 안되었던 경우가 있을 것이다. 도커는 이미지에 필요한 모든 의존성을 포함하므로 개발 환경과 배포 환경을 동일하게 유지할 수 있다.
2. 애플리케이션과 모든 종속성을 하나의 컨테이너 이미지로 묶어 어디서나 실행이 가능하다.
- 클라우드나 로컬 서버, 온프레미스 환경에서도 동일하게 배포가 가능하다.
3. 도커 컨테이너는 빠른 시작과 리소스 효율성을 제공한다.
- 물론 직접 콘솔에서 배포하는 것보다는 속도가 느리다고는 하나, 코드 한 줄로 서버를 배포할 수 있다는 장점이 있다.
- CI/CD 파이프라인과 통합되어 배포 자동화에 유리하다. - ci/cd를 사용하면 도커의 장점이 극대화된다고 말하는 이유이다.
'Django > 인프라' 카테고리의 다른 글
docker 파일 별 용도 및 이미지 빌드 & 실행 방법 (0) | 2025.01.11 |
---|---|
[Docker] Django를 이용해, 기초부터 CI/CD 까지 (2) | 2024.10.17 |
[AWS] Micro Service Architecture (0) | 2024.10.17 |
[AWS] CloudFront (0) | 2024.10.15 |
[AWS] 스토리지 클래스와 Lifecycle (0) | 2024.10.14 |