9. AWS
- 아마존 닷컴에서 개발한 클라우드 컴퓨팅 플랫폼
1) 클라우드 컴퓨팅 : 클라우드에서 서버, 스토리지, 소프트웨어 등 필요한 IT 자원을 받아서 사용하는 기술(Saas, Paas, Iaas) = 네트워크를 통해 접근
+ 서버 설치와 같은 IT 자원에 대한 관리는 AWS가 전담하고, 기업들은 핵심 비즈니스에 집중할 수 있게 하는 컨셉이 클라우드
+ 클라우드의 가장 큰 장점은 초기 비용이 없고, 서비스를 이용하는 만큼만 비용이 들어감
+ 클라우드 역시 가상환경이기 때문에 이미지 기반으로 서버 관리가 가능(= 이미지만 있으면 동일한 서버를 쉽게 만들 수 있음)
+ 인프라의 가변성이 존재하기 때문에 서버 구축은 쉽게 가능했지만, application은 항상 같은 환경에서 실행하기 힘듦 = 이러한 문제를 해결하기 위해 나온 개념이 컨테이너
2) 컨테이너 : 외부 환경으로부터 격리된 공간에서 프로세스가 동작, application을 표준화되게 패키징하여 동일한 방법으로 배포가 가능하게 함(컨테이너 자체가 가상화 기술 중 하나라고 생각할 수도 있음)
+ 간단히 호스트인 Iaas(AWS EC2)를 설치하고 위에 도커만 설치하면 됨(도커만 설치되어 있다면 OS와 CPU에 상관없이 컨테이너를 사용 가능)
1) EC2 : 독립된 컴퓨터 한 대를 임대해서 사용할 수 있게 해주는 서비스(AWS EC2 인스턴스를 생성한다는 것은 AMI(이미지)를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌린다는 것), EC2는 Iaas의 한 종류
* 장점
(1) 효율성 : 클릭 몇 번으로 서버를 생성할 수 있기 때문에 실제 서버를 구축하는 것보다 훨씬 간편하고 효율적
(2) 비용 절감 : 사용한 만큼만 요금을 지불하면 되므로 비용 절감
10. 도커 ?
- 도커(Docker) : 컨테이너 기반의 오픈소스 가상화 플랫폼 (개발 시 application을 쉽고 빠르게 구축, 공유 및 실행할 수 있는 소프트웨어 = 프로젝트를 시작한다면 환경설정부터 기본 세팅을 해야 함, 하지만 도커를 사용하면 프로젝트마다 반복되는 세팅을 할 필요가 없음)
- 실행환경을 컨테이너라는 것을 활용하여 추상화하여 동일한 인터페이스를 제공하기 때문에 프로그램의 배포 및 관리를 단순하게 해줌 (도커 이전의 개발자들은 개발 시 코드를 수정했을 때, 내 PC 에서는 잘 돌아가지만 다른 PC에서는 에러가 생기는 경우를 많이 경험했을 것, 이러한 인프라의 가변성에 대한 문제는 항상 존재하고 이러한 문제는 도커가 나오면서 해결되었다고 할 수 있음)
+ 가상 머신을 이미지 형태로 저장이 가능하기 때문에 ‘이미지 기반으로 동일한 상태를 가진 서버 구축’이 가능해짐 = 변하지 않는 인프라로 Immutable Infrastructure라고도 함
'이론 공부' 카테고리의 다른 글
Java의 Call By Value, Call By Reference (0) | 2023.03.28 |
---|---|
캐시 (Cache) / 캐싱 (Caching) (0) | 2023.03.28 |
RESTful API (0) | 2023.03.28 |
스크럼 (Scrum) (0) | 2023.03.28 |
자바 메모리 영역 (0) | 2023.03.27 |