Overview
클라우드 컴퓨팅에 대해서 공부해보려고 한다.
클라우드 컴퓨팅이란?
클라우드 컴퓨팅은 사용자가 인터넷을 통해 컴퓨팅 리소스(예: 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어 등)에 액세스하고 사용할 수 있도록 하는 기술이다.
기업과 개인은 물리적 서버와 데이터 센터를 소유하고 유지 관리하는 대신 클라우드 서비스 공급자로부터 이러한 리소스에 대한 액세스를 임대할 수 있다.
그리고 클라우드 컴퓨팅은 배포 모델이나 서비스 유형에 따라 분류될 수 있다. 특정 배포 모델을 기반으로 클라우드를 퍼블릭, 프라이빗, 하이브리드 클라우드로 분류할 수 있다. 동시에 클라우드 모델의 서비스에 따라 IaaS(Infrastructure-as-a-Service), PaaS(Platform-as-a-Service), SaaS(Software-as-a-Service)로 분류할 수 있다.
주요 이점
- 확장성(Scalability): 수요에 따라 쉽게 확장하거나 축소할 수 있다.
- 비용 효율성(Cost-Efficiency): 사용한 리소스에 대해서만 비용을 지불하여 초기 투자를 줄인다.
- 접근성(Accessibility): 인터넷 연결만 있으면 어디서나 서비스에 액세스할 수 있다.
- 유연성(Flexibility): 특정 요구 사항을 충족하기 위해 다양한 서비스 중에서 선택할 수 있다.
- 유지관리(Maintenance): 클라우드 제공업체는 하드웨어 유지관리 및 업데이트를 담당한다.
퍼블릭 클라우드(Public Cloud) vs 프라이빗 클라우드(Private Cloud)
퍼블릭 클라우드와 프라이빗 클라우드 모두 클라우드 컴퓨팅 기능을 제공하지만 주요 차이점은 접근성과 테넌시에 있다.
퍼블릭 클라우드는 다양한 사용자가 공유하고 인터넷을 통해 액세스할 수 있는 반면, 프라이빗 클라우드는 단일 조직 전용으로 더 많은 제어와 개인 정보 보호를 제공한다.
멀티 테넌시(Multitenancy)란?
멀티 테넌시는 소프트웨어 아키텍처, 특히 클라우드 컴퓨팅 및 SaaS(Software as a Service) 모델에서 일반적으로 사용되는 개념이다. 이는 소프트웨어 애플리케이션의 단일 인스턴스가 테넌트라고 알려진 여러 고객에게 서비스를 제공하는 소프트웨어 아키텍처이다.
쉽게 말하자면 고객 또는 클라이언트에 대해 별도의 `Tenancy`로 구분된 공유 인프라 및 소프트웨어 환경을 제공하는 것이다. 따라서 고객은 서로의 데이터를 공유하거나 볼 수 없다. 그리고 규모의 경제 이상의 비용 절감을 하게 한다.
퍼블릭 클라우드
퍼블릭 클라우드는 서비스가 퍼블릭 인터넷을 통해 제공되고 여러 고객 간에 공유되는 클라우드 컴퓨팅 모델이다.
이러한 서비스는 타사 공급자가 제공하며 확장성과 유연성이 뛰어나다.
퍼블릭 클라우드 예는 다음과 같다
- Amazon 웹 서비스(AWS): 컴퓨팅 성능(EC2), 스토리지(S3), 데이터베이스(RDS)와 같은 광범위한 클라우드 서비스를 제공한다.
- Microsoft Azure: 가상 머신, 앱 서비스, Azure SQL 데이터베이스 등 다양한 서비스를 제공한다.
- Google Cloud Platform(GCP): Google Compute Engine, Google Cloud Storage, BigQuery와 같은 서비스로 잘 알려져 있다.
프라이빗 클라우드
프라이빗 클라우드는 하나의 기업이나 조직이 독점적으로 사용하는 클라우드 컴퓨팅 리소스를 의미한다.
서비스와 인프라는 사설 네트워크에서 유지관리되며, 하드웨어와 소프트웨어는 조직 전용이다. 이 모델은 더 강력한 제어와 보안을 제공한다.
프라이빗 클라우드 예는 다음과 같다.
- VMware vSphere: 엔터프라이즈 환경에서 프라이빗 클라우드를 생성하고 관리하는 데 자주 사용된다.
- OpenStack: 프라이빗 클라우드에서 컴퓨팅, 스토리지, 네트워킹 리소스 풀을 제어하는 데 사용되는 오픈 소스 플랫폼이다.
- Microsoft Azure Stack: 회사는 자체 데이터 센터에서 Azure 클라우드 서비스를 실행하여 Azure의 비공개 버전을 만들 수 있다.
클라우드 서비스란?
클라우드 서비스는 일반적로 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)라는 세 가지 기본 서비스 모델로 분류된다.
이러한 각 모델은 사용자와 기업에 클라우드 서비스를 제공하는 다양한 방법을 나타낸다.
서비스형 인프라(IaaS)
IaaS는 인터넷을 통해 가상화된 컴퓨팅 리소스를 제공한다. 이 모델에서 클라우드 공급자는 운영 체제가 포함된 소프트웨어 번들과 함께 서버, 스토리지, 네트워킹 하드웨어와 같은 인프라를 제공한다.
특성
- 수요에 따라 확장 가능한 리소스.
- 클라이언트는 기본 하드웨어를 관리하지 않고도 인프라를 제어할 수 있다.
- 물리적 하드웨어 투자가 필요하지 않으므로 유연하고 비용 효율적이다.
예시
- 아마존 웹 서비스(AWS) EC2
- 마이크로소프트 Azure 가상 머신
- 구글 컴퓨트 엔진(GCE)
서비스형 플랫폼(PaaS)
PaaS는 일반적으로 앱 개발 및 출시와 관련된 인프라를 유지 관리하는 복잡성 없이 개발자가 애플리케이션을 구축, 테스트, 배포 및 관리할 수 있는 프레임워크를 제공한다.
특성
- 동일한 환경에서 애플리케이션을 테스트, 개발 및 호스팅할 수 있는 도구를 갖춘 플랫폼을 제공한다.
- 개발자가 운영 체제, 소프트웨어 업데이트, 스토리지 또는 인프라에 대해 걱정하지 않고 소프트웨어 개발에 집중할 수 있다.
- PaaS 솔루션에는 개발 도구, 데이터베이스 관리 시스템 및 비즈니스 분석이 포함될 수 있다.
예시
- 구글 앱 엔진(Google App Engine)
마이크로소프트 애저 앱 서비스(Microsoft Azure App Services)
헤로쿠(Heroku)
서비스형 소프트웨어(SaaS)
SaaS는 주문형 및 일반적으로 구독 기반으로 인터넷을 통해 소프트웨어 애플리케이션을 제공하는 방법이다.
SaaS를 통해 클라우드 제공업체는 소프트웨어 애플리케이션과 기본 인프라를 호스팅하고 관리한다.
특성
- 인터넷이 가능한 모든 기기에서 접속 가능하다.
- 사용자는 하드웨어나 소프트웨어 업데이트에 대해 책임을 지지 않는다. 공급자가 이를 관리한다.
- 중소기업 및 대기업 수준의 비즈니스에 맞게 다양한 계층으로 확장 가능하다.
예시
- Google Workspace(구 G Suite)
- 마이크로소프트 오피스 365
- 세일즈포스
Reference
https://www.spiceworks.com/tech/cloud/articles/what-is-cloud-computing/
https://github.com/somaz94/DevOps-Engineer/wiki/KR_%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C
'CS 지식' 카테고리의 다른 글
[CS 지식11.] NAT(Network Address Translation)란? (0) | 2024.02.21 |
---|---|
[CS 지식10.] 웹1.0(Web1.0) vs 웹2.0(Web2.0) vs 웹3.0(Web3.0) (2) | 2024.01.09 |
[CS 지식8.] 프로세스(Process)와 스레드(Thread)란? (1) | 2023.12.27 |
[CS 지식7.] Kubernetes 구성요소와 Pod 생성 방식이란? (2) | 2023.12.18 |
[CS 지식6.] HTTP 메서드(Method)란? / HTTP Status Code (0) | 2023.05.25 |