본문 바로가기
App Programming

어플리케이션 배포 환경 (1)

by goatlab 2023. 7. 12.
728x90
반응형
SMALL

어플리케이션 배포 환경

 

 

어플리케이션 배포 환경은 지난 몇 년 동안 크게 변화했다. 과거에는 어플리케이션을 온프레미스 (On-premise)서버에 직접 배포하는 것이 일반적이었지만, 최근에는 가상 머신과 컨테이너를 사용하는 배포 환경이 점점 더 대중화되고 있다.

 

온프레미스 배포는 기업이 자체적으로 서버를 구축하고 운영하는 방식이다. 온프레미스 배포는 기업이 애플리케이션에 대한 완전한 제어권을 갖는다는 장점이 있지만, 서버 구축과 운영에 대한 비용이 많이 드는 단점이 있다.

 

가상 머신 배포는 하나의 물리적 서버에 여러 개의 가상 서버를 생성하여 어플리케이션을 배포하는 방식이다. 가상 머신 배포는 온프레미스 배포에 비해 비용이 저렴하고 관리가 간편하다는 장점이 있다.

 

컨테이너 배포는 애플리케이션의 모든 종속성을 포함하는 작은 실행 파일을 생성하여 애플리케이션을 배포하는 방식이다. 컨테이너 배포는 가상 머신 배포에 비해 더욱 가볍고 배포가 간편하다는 장점이 있다.

 

전통적인 배포 시대

 

https://bikramat.medium.com/traditional-deployment-vs-virtualization-vs-container-f9b82ce98a50

 

어플리케이션을 물리 서버에서 실행하는 구조이다. 한 물리 서버에서 여러 어플리케이션의 리소스 한계를 정의할 방법이 없었기에, 리소스 할당의 문제가 발생한다.

 

가상화된 배포 시대

 

단일 물리 서버의 CPU에서 여러 가상 시스템 (VM)을 실행할 수 있는 환경이다. 가상화를 사용하면 VM간에 어플리케이션을 격리하고 어플리케이션의 정보를 다른 어플리케이션에서 자유롭게 액세스할 수 없으므로, 일정 수준의 보안성을 제공한다.

 

컨테이너 개발 시대

 

컨테이너는 VM과 유사하지만 격리 속성을 완화하여 어플리케이션간에 운영 체제 (OS)를 공유한다.

728x90
반응형
LIST

'App Programming' 카테고리의 다른 글

[Flask] AWS EC2에서 머신러닝 서버 구축  (0) 2024.05.14
어플리케이션 배포 환경 (2)  (0) 2023.07.12
가상화 (Virtualization)  (0) 2023.04.01
[Flask] 라우트 (Route)  (0) 2023.01.30
[Flask] 환경 설정  (0) 2023.01.30