가상머신 이전에 전통적인 배포 방식은 컴퓨터 한 대에 여러 프로그램을 돌리는 방식. 프로그램간 독립적이지 않는 문제가 발생함
가상화 방식은 하이퍼바이저
라는 계층이 들어가고 그 위에 가상머신이 있으며 각각의 가상머신 안에 OS가 따로 설치됨
독립적인 환경을 구축할 수 있고, 각 가상머신마다 필요한 자원을 할당해줄 수 있다.
컨테이너는 밑에서...
다른 회사의 공급자가 제공하는 인프라, 플랫폼, 소프트웨어를 사용하는 방식으로 자체 인프라나 하드웨어가 없어도 되기에 쉽고 싸게 이용 가능하다. 우리가 쓰는 AWS가 오프프레미스 방식
네트워크 선을 깔고, 서버랑 DB 설치 등등 첨부터 다 하는거
클라우드가 인프라
를 제공. AWS의 EC2가 대표적
이후 필요한 서비스를 직접 설치하며 사용하면 된다. 때문에 특정 서비스에 종속되지 않는다.
클라우드가 플랫폼
을 제공. heroku가 대표적
Java나 MySQL이 미리 설치되어 있으며 클릭을 통해 해당 서비스를 이용할 수 있다.
클라우드가 완전한 서비스
를 제공. 구글Docs 가 대표적
완전한 서비스를 그냥 사용만 하면 된다.
애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 실행되도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위
OS를 공유하기 때문에 빠르고 경량화되어 있음 또한 컨테이너는 자체 파일 시스템, CPU 점유율, 메모리 공간 등이 있어 격리성이 좋다.
컨테이너 배포에 필요한 기능을 제공한는 플랫폼으로 컨테이너 방식이기에 높은 유연성과 이식성을 지니며, docker pull 과 같은 방식으로 운영하기 쉽다.