-
Cloud) ApplicationCloud/Cloud 2022. 9. 26. 19:56
Application
- service 제공을 위한 동작하는 프로그램, 사용자가 원하는 기능을 제공한다.
- Application 구성요소
- Application binary : application 동작을 위한 필수기능만 포함되어 있다.
- Application 사용 공유 라이브러리 : 변수/함수/클래스 집합
( 공유라이브러리는 보통 O/S에 미리 설치되어 있다)
- Application 설치 프로그램으로 설치를 할 때,
공유라이브러리 유무에 따라 설치과정이 쉬워지거나 복잡해질 수 있다.
Application 동작 환경 (Application 배포)
Traditional Deployment
- 전통적인 application 배포동작 환경
- 물리적인 서버에 application이 동작할 수 있는 환경을 구축한다 (Infrastructure 영역)
- (장점1) application이 물리적인 서버의 작원을 직접적으로 활용가능,
물리적 서버리소스 사용에 제약이 없다.
- (단점1) application 설치시 필요한 공유라이브러리가 없으면 설치에 어려움이 있다.
- (단점2) 특정 application이 물리적인 서버의 리소스를 과다하게 사용하는 것에 대한 통제가 어렵다.
Virtualized Deployment
- 가상머신을 통한 배포 방식
- hypervisor기반으로 S/W적으로 구성된 컴퓨터 시스템(VirtualBox/VMWare 또는 Cloud환경)이다.
- 가상머신을 application을 동작할수있는 최상의 환경으로 구성한다.
- (장점1) application간의 격리(isolate)가 가능하다.
- (장점2) 배포할때 가상머신만 배포되어 Traditional Deployment 환경 구성의 단점을 극복.
- (단점1) 배포할수있는 크기가 작음.
- (단점2) H/W를 S/W적으로 구성하는 것이므로, 리소스 관리 측면에서 효과적이지 않다.
- (단점3) 각각의 가상머신에는 별도로 O/S와 공유라이브러리를 설치하기 때문에,
시스템 관점으로 보면 중복설치가 되는 문제가 있다.
Container Deployment
- Container를 통한 배포방식
- Contaniner가 실행하는 환경을 Runtime이라 한다.
- Container에는 application과 application이 동작하기위해 필요한 실행환경(공유라이브러리 등)만으로 구성
- (장점1) 애플리케이션 배포가 빠르다.
- (장점2) 지속적인 개발, 통합 및 배포
- (장점3) 개발과 운영의 관심사 분리
- (장점4) 개발, 테스팅 및 운영환경에 걸친 일관성
- (장점5) 클라우드 및 OS배포판 간 이식성
- (장점6) 애플리케이션 중심 관리 가능
- (장점7) 리소스 격리
- (장점8) 자원 사용량이 고효율적이다.
- Container는 VM과 유사한 방식으로 동작하지만 뚜렷한 차이점이 있다.
- (차이점1) Container는 독립된 O/S를 가지고있지 않다.
- (차이점2) Container host O/S에서 관리하는 Process형태로 동작한다.
- (차이점3) Container는 완젼 격리된 형태의 Process로 동작한다.
- (차이점4) Container가 동작하는 Process는 자원을 독점적으로 사용하지 못하게 제어한다.
- (차이점5) Container는 VM에 비해 크기가 작다'Cloud > Cloud' 카테고리의 다른 글
Cloud) On-premise와 Cloud (0) 2022.11.21 Cloud) IaC (Infrastructure as Code) (0) 2022.09.19