가상머신,컨테이너

황상익·2024년 10월 17일

MSA

목록 보기
6/20

PaaS vs CaaS

인프라 플랫폼(IaaS): AWS EC, Azure VMs
컨테이너 플랫폼 (CaaS): AWS ECS,EKS,AKS,GKE
어플리케이션 플랫폼(PaaS,aPaaS): Heroku,PCF,CloudFondy
함수 플랫폼(FaaS): Lambda,Azure Functions
소프트웨어 플랫폼(SaaS): Saleforce,Oracle,SAP,OpenFaaS

VM & Container

  • 가상 머신 : Vm (하이퍼 바이저 & Guest OS) -> 부팅 속도 느림, update 필요
  • container Runtime : Docker -> kernel 있고, host에 있는 kernel 공유, 용량 작고, 배포는 빠르고, 성능 손실은 적고, update 필요성 X
  • 개발과 배포가 편해짐, 독립된 개발 환경 보장
  • 개발/운영 환경의 통합 : 개발환경을 그대로 다른 서버에 똑같이 복제 / Staging 환경이 다르다.
  • 커널을 포함하지 않음, 이미지 크지 않고, 배포속도 빠름
  • 애플리케이션 독립성과 확장성이 높아짐
  • Stateless, 불변성

도커

도커 엔진
도커 이미지 : 컨테이너 생성시 필요한 요소, 여러 계층으로 된 바이너리 파일, 읽기 전용
이미지 저장소
도커 컨테이너 : 도커 이미지로 생성, 격리도니 시스템 자원 및 네트워크 사용할 수 있는 독립적 공간


Docker hub에서 가져와서 Container 형성

수작업으로 이미지 생성

DockerFile 이미지 생성 자동화

빌드 명령어 제공, 컨테이너에 설치해야 할 패키지, 추가해야 할 소스코드, 실행해야 할 명령어, 쉘 스크립트등 하나의 파일에 기록, 도케엔지이 읽어들어 이미지 생성

Container life-cycle

Container

  • DockerFile
  • 빌드 컨텍스트 : 이미지를 생성하는데 필요한 각종 파일, 소스코드 메타 데이터를 담고 있는 디렉토리
  • DockerFile에 위치한 디렉토리
  • 선언적
profile
개발자를 향해 가는 중입니다~! 항상 겸손

0개의 댓글