-
[개발자 필수 지식] 클라우드CS 2024. 1. 29. 15:46
#1 가상머신
전통적 배포방식
물리적인 컴퓨터 1대에 하나의 OS를 깔고 여러 가지 프로그램을 설치하는 방식
계정을 나눠 여러명의 사용자가 이용할 수 있지만, 어떤 프로그램을 설치했을 때 다른 앱에 영향을 미침
가상화 배포방식
가상머신을 기반으로 배포하는 것
계정을 나누는 것이 아니라 1대의 컴퓨터를 가지고 여러개의 OS를 구동할 수 있어 CPU,RAM을 물리적으로 갈아끼는 것이 아니라 설정만으로 이를 수행할 수 있음
가상머신이란?
컴퓨터의 하드웨어를 소프트웨어적으로 구현한 것
하이퍼바이저
하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해주는 중간 계층
이를 통해, 여러 개의 가상머신을 구축할 수 있고 가상머신 위에 OS 그리고 그 위에 앱이 올라가는 형태로 가상머신을 독립적으로 수행할 수 있음.
클라우드는 이러한 가상화라는 기술 덕분에 한대의 하드웨어로
여러명의 사용자들에게 독립적으로 클라우드 서비스를 할 수 있음
서로 전혀 상호작용하지 않으며 한 가상 머신위의 프로그램은 다른 가상머신위의 프로그램에서 볼 수 없는 형태를 샌드박스되었다라고도 한다.
다만, OS 공유가 되지 않아 일일이 OS를 설치해야 한다는 단점이 있다.
#2 오프프레미스, 온프레미스
클라우드
다른 회사의 공급자가 호스팅하고 인터넷을 통해 사용자에게 제공되는 인프라, 플랫폼 또는 소프트웨어를 말합니다.
이를 이용하면 자체 인프라나 하드웨어 설치 없이도 애플리케이션과 리소스에 쉽고 싸게 이용이 가능합니다.오프(off)프레미스 온(on)프레미스 서비스 운영에만 집중 개인이나 기업이 자체 시설에서 보유하고 직접 유지관리하는 프라이빗 데이터 센터(IDC) ex) 네이버 데이터센터 각 #3 IaaS , PaaS, SaaS
IaaS ( Infrastructure-as-a-Service) PaaS (Platform-as-a-Service) 인프라형(인프라 제공) 플랫폼형(플렛폼 제공) AWS' EC2 heroku node.js,MongoDB XX node.js,MongoDB 설치 OO , 모니터링, CI/CD 유연, 이식성 ↑ , 플랫폼 종속X , 운영비 효율 ↓ 이식성 ↓ , 플랫폼 종속O , 운영비 효율 ↑ SaaS (Service-as-a-Service) 완전한 서비스를 클라우드서비스로부터 제공받아 사용 구글DOCS #4 컨테이너와 도커
컨테이너 도커 애플리케이션이 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성을 패키징하는 SW의 표준단위 컨테이너 필요한 기능을 거의 모두 제공하는 플랫폼 OS를 공유하기 때문에 빠르고, 경량화되어있으며 격리성 👍 빌드 → 도커이미지가 생성
도커이미지를 실행 → 도커컨테이너OS에 문제가 생기면 다른 앱에도 영향을 미칠 수 있습니다. 도커컨테이너를 기반으로 클라우드에 컨테이너배포방식으로 서비스가 많이 운영되고 있습니다.
2014년 구글에서 발표한 자료에 따르면 구글에서 만드는 서비스들 대부분이 도커 컨테이너에 기반하여 쓰이고 있으며 매주 약 20억개의 서비스가 운영된다고 합니다.
'CS' 카테고리의 다른 글
[개발자 필수지식] CI / CD (Continuous Integration / Delivery / Deployment) (0) 2024.01.29 [개발자 필수 지식] API , interface (0) 2024.01.29 [개발자 필수지식] 데이터교환형식 - JSON, XML (1) 2024.01.29 [면접 예상질문] React, Recoil, React Query, TypeScript (0) 2023.10.24 [면접 질문 정리] 알고리즘 (0) 2023.03.04