VM웨어와 도커의 주요 차이점은 가상화 방식에 있습니다.
VM웨어는 하드웨어 가상화를 사용해 완전한 운영 체제를 가상화합니다 각 VM은 독립적인 OS를 가지므로 리소스 사용량이 많지만, 격리 수준이 높습니다.
도커는 컨테이너 기술을 사용해 OS 수준의 가상화를 제공합니다. 호스트 OS 커널을 공유하므로 더 가볍고 빠르며 리소스 효율성이 높습니다 하지만 격리 수준은 상대적으로 낮습니다
VMware는 다양한 OS 환경이 필요한 경우에 적합하고, 도커는 마이크로서비스 아키텍처나 CI/CD 파이프라인에 주로 사용됩니다.
CI는 지속적 통합으로 개발자들이 코드 변경 사항을 업데이하고 자동화된 빌드와 테스트를 통해 통합 과정에서 발생할 수 있는 문제를 조기에 발견하는것 등이며
CD는 지속적 배포로 소프트웨어를 언제든지 안정적으로 배포할 수 있는 상태로 만드는 과정이고 변경사항을 자동으로 프로덕션 환경까지 배포하는 과정도 포함됩니다.
이번 프로젝트를 하면서 �깃헙, 도커, 깃헙 액션 그리고 AWS EC2를 활용하여 CI/CD 파이프라인을 구축했습니다. 깃헙 저장소에 코드를 push하면 깃헙 액션이 자동으로 트리거 되어 깃헙 액션에서 코드 빌드 및 테스트를 실행합니다.
도커파일을 작성해 어플리케이션 등을 컨테이너 이미지를 정의했고 깃헙 액션 워크플로우에서 이 도커파일을 사용해 도커이미지 빌드를 하고
CI 과정이 성공적으로 완료되면 빌드된 도커이미지를 EC2 인스턴스에 ssh로 접속해 최선 도커이미지를 pull하고 컨테이너 재시작을 하여 자동으로 프로적션 배포하게 했습니다.