클라우드 컴퓨팅
클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 자원을 제공하는 기술이다. 사용자는 물리적 서버를 직접 관리할 필요 없이, 클라우드 서비스 제공업체를 통해 컴퓨팅 파워, 스토리지, 네트워크 등의 리소스를 이용할 수 있다. 이 기술은 기업 및 개인 사용자에게 높은 확장성과 비용 절감 효과를 제공한다.
클라우드 컴퓨팅의 단점
1. 보안 및 프라이버시 우려
클라우드 환경에서는 데이터가 외부 서버에 저장되므로 보안 문제가 발생할 수 있다. 특히, 민감한 정보가 포함된 경우 적절한 암호화 및 접근 제어가 필요하다.
2. 인터넷 의존성
클라우드 서비스는 인터넷 연결이 필수적이다. 따라서 네트워크 장애가 발생하면 서비스 이용이 불가능할 수 있다.
3. 제한된 제어 권한
클라우드 인프라는 서비스 제공업체가 관리하며, 사용자는 설정 및 접근 권한이 제한될 수 있다. 온프레미스 환경과 비교하면 직접적인 제어가 어렵다.
클라우드 서비스 모델
1. IaaS (Infrastructure as a Service)
IaaS는 서버, 스토리지, 네트워크 등의 인프라 자원을 제공하는 서비스이다. 사용자는 운영체제 및 애플리케이션을 직접 설치하고 관리해야 한다.
- 예시: AWS EC2, Google Compute Engine
2. PaaS (Platform as a Service)
PaaS는 개발 환경을 제공하는 서비스로, 개발자가 인프라 관리를 신경 쓰지 않고 애플리케이션 개발에 집중할 수 있다.
- 예시: Google App Engine, Microsoft Azure App Services
3. SaaS (Software as a Service)
SaaS는 인터넷을 통해 애플리케이션을 제공하는 서비스로, 사용자는 별도 설치 없이 소프트웨어를 이용할 수 있다.
- 예시: Microsoft Office 365, Google Workspace, ChatGPT
클라우드 배포 모델
1. 퍼블릭 클라우드 (Public Cloud)
공개적으로 제공되는 클라우드 서비스로, 다수의 사용자가 공유하는 환경이다.
- 예시: AWS, Google Cloud Platform(GCP), Oracle Cloud
2. 프라이빗 클라우드 (Private Cloud)
단일 조직이 독점적으로 사용하는 클라우드 환경으로, 보안 및 제어가 강화된 형태이다.
3. 하이브리드 클라우드 (Hybrid Cloud)
퍼블릭 클라우드와 프라이빗 클라우드를 결합한 모델이다.
- 비용 최적화: 온프레미스와 퍼블릭 클라우드를 적절히 활용하여 비용을 절감할 수 있다.
- 보안 강화: 민감한 데이터는 프라이빗 클라우드에 저장하고, 일반 데이터는 퍼블릭 클라우드를 이용할 수 있다.
- 확장성: 필요 시 퍼블릭 클라우드 자원을 활용하여 빠르게 확장할 수 있다.
클라우드 컴퓨팅의 활용 사례
1. 데이터 스토리지 및 백업
클라우드 스토리지를 이용하여 중요한 데이터를 저장하고, 백업 솔루션을 통해 데이터 손실을 방지할 수 있다.
2. 웹 호스팅
웹사이트와 애플리케이션을 클라우드에서 호스팅하여 높은 확장성과 가용성을 확보할 수 있다.
3. 재해 복구 (Disaster Recovery)
재해 발생 시 클라우드 기반 복구 솔루션을 활용하여 서비스 연속성을 유지할 수 있다.
가상화 (Virtualization)
가상화는 물리적인 자원을 논리적으로 분할하여 효율적으로 사용하는 기술이다. Docker 컨테이너 등의 클라우드 기술에서도 활용된다.
가상화의 유형
1. 하드웨어 가상화
- 물리적 서버를 여러 개의 가상 서버로 나누어 사용.
- 자원 활용도를 높이고, 보안성을 강화할 수 있음.
- 네트워크 가상화도 가능하며, 소프트웨어 기반 논리적 네트워크 구축이 가능함.
2. 네이티브 가상화 (Native Virtualization)
- 호스트 운영체제 없이 하드웨어를 직접 제어하는 방식.
- 높은 성능과 보안성을 제공하며, 데이터센터 및 클라우드 환경에서 활용됨.
3. 호스티드 가상화 (Hosted Virtualization)
- 기존 운영체제 위에서 실행되는 가상화 기술.
- 개인 개발자 및 소규모 프로젝트에 적합하며, 설치와 사용이 간편함.
하이퍼바이저란?
하이퍼바이저는 가상화를 구현하는 핵심 소프트웨어로, 물리적 하드웨어에서 여러 개의 가상 머신(VM)을 관리한다.
하이퍼바이저의 유형
1. 전가상화 (Full Virtualization)
- 하드웨어를 완전히 가상화하여 모든 OS가 수정 없이 실행될 수 있도록 지원함.
- 오버헤드가 발생할 수 있으나, 다양한 운영체제 지원이 가능함.
왜 오버헤드가 발생할 수 있는가? 네이티브 가상화는 게스트 운영체제가 수정되지 않은 상태에서 실행되도록 한다. 이는 게스트의 특정 명령어를 시스템에서 실제 작동하기 위해서는 베어멘탈 하이퍼바이저가 실행 가능한 언어로 바이너리 번역 작업을 해야 한다.
여기서 바이너리 번역 작업을 없앤다면 가상화 성능을 개선할 수 있는 것이다!
2. 반가상화 (Para-Virtualization)
- 게스트 OS가 하이퍼바이저와 직접 통신하도록 설계됨.
- 성능이 향상되지만, 운영체제 커널을 수정해야 하는 단점이 있음.
'기록 > Cloud' 카테고리의 다른 글
클라우드 컴퓨팅 아키텍처 (0) | 2025.03.10 |
---|