본문 바로가기

스파르타코딩클럽

클라우드 컴퓨팅 cloud computing

출처 : https://www.cloudflare.com/ko-kr/learning/cloud/what-is-the-cloud/

개념

클라우드 컴퓨팅이란 인터넷 기반의 컴퓨팅을 의미합니다. Cloud 라는 단어가 의미하는 것처럼 컴퓨터 통신망이 복잡한 네트워크 및 서버 구성 등은 구름과 같이 내부가 보이지 않고, 사용자는 굳이 이 복잡한 내부를 알 필요도 없이 인터넷이 연결된 곳이라면 어느 곳이라도 구름 속에 있는 컴퓨터 자원으로 원하는 작업을 할 수 있도록 보장 받을 수 있습니다.

조건

클라우드 컴퓨팅은 아래와 같은 다섯 가지 조건을 만족해야 합니다.

 

  1. On demand self service - 클라우드 사용자는 서비스 관리자에게 요청같은 게 없이 일방적으로 사용할 수 있어야 합니다.
  2. Broad Network Access - 클라우드 서비스가 다수의 단말들에게 서비스를 제공하는 능력을 갖추고 있어야 합니다.
  3. Resource Pooling - 자원을 공유하여 낭비없이 구성하여 전력량이나 운영 서비스를 최적화 하며, 다른 서비스들은 상호간섭 하지 않고, 충돌 또한 없어야 합니다.
  4. Rapid Elasticity - 클라우드 컴퓨팅은 사용자의 서비스 요구사항에 맞춰서 자원의 확장, 축소 기능을 제공해야 합니다.
  5. Measured Service - 자원의 사용량이 자동적으로 자원의 사용을 최적화해야 하며, 사용자와 서비스 제공자 모두에게 정확한 사용 내역이 제공되어야 합니다.

클라우드 컴퓨팅의 대표적인 서비스 모델

 

출처 : https://www.cloudflare.com/ko-kr/learning/cloud/what-is-the-cloud/

SaaS(Software as a Service) - 서비스로서의 소프트웨어

사용자가 장치에 애플리케이션을 설치하는 대신에 SaaS 애플리케이션이 클라우드 서버에 호스팅되고, 사용자는 인터넷을 통해서 애플리케이션에 액세스하여 사용할 수 있습니다. Google Docs, Microsoft Office365 같은 서비스가 대표적입니다. 

 

PaaS(Platform as a Service) - 서비스로서의 플랫폼

앱을 개발하거나 구현할 때, 관련 인프라를 만들고 유지보수하는 복잡한 과정을 필요 없이 애플리케이션을 개발, 실행, 관리할 수 있도록 해주는 클라우드 컴퓨팅 서비스 입니다. 개발을 위한 플랫폼을 구축할 필요 없이, 필요한 개발 요소를 웹에서 손쉽게 빌려서 쓸 수 있습니다. 즉, 서비스 외적인 부분에 신경을 쓸 필요 없이 오로지 개발에 집중할 수 있으며, 별도의 인프라를 유지, 운영하는데 인력이 소요되지 않기 때문에 관리 비용도 절약할 수 있습니다. 대표적으로 Heroku, OpenShift 등이 있습니다.

 

IaaS(Infrastructure as a Service) - 서비스로서의 인프라 스트럭쳐

사용자가 서버 OS부터 런타임, 데이터와 어플리케이션까지 직접 구성 및 관리할 수 있습니다. 클라우드 서비스 제공업체는 데이터센터에서 다수의 물리 서버를 가상화해서 제공하며, 네트워크나 스토리지 전력 등 서버의 운영에 필요한 모든 것을 책임지고 관리합니다. 기존 서버 호스팅과 유사하다고 볼 수 있으나, 서버 호스팅은 자원의 확장이나 축소에 긴 시간이 필요하고, 확장한 서버가 활용되지 않을 경우도 생길 수 있으나 IaaS는 가상화 기술 덕분에 리소스를 확장 및 축소가 빠른 시간내에 자유롭게 가능하고, 활용되지 않는 컴퓨팅 자원도 언제든지 반납할 수 잇기 때문에 탄력적인 운영이 가능합니다. 대표적으로 Amazon의 EC2, Google의 GCE 등이 있습니다.

 

클라우드 컴퓨팅 배포

출처 : https://thedatashift.org/the-difference-between-the-public-private-and-hybrid-cloud/

1. public cloud 

가장 일반적으로 클라우드 서비스를 사용하는 방식입니다. 서비스에 필요한 인프라를 클라우드에서 제공받아서 사용하는 방식으로, 물리적 서버를 구매하거나 설치할 필요가 없어서 효율적인 방식입니다. 다수의 사용자가 인터넷을 기반으로 사용할 수 있습니다. 웹 기반의 메일이나 온라인 사무실 애플리케이션 등에서 자주 사용되는 방식입니다.

 

2. private cloud

다수의 사용자에게 서비스되는 퍼블릭 클라우드와 달리 단일 조직에서만 맞춤형으로 사용되는 방식입니다. 프라이빗 클라우드에 포함된 데이터는 모두 방화벽으로 보호되며 높은 보안이 적용되며 액세스 권한이 있는 사용자만 접근할 수 있습니다. 그렇기 때문에 안전하고 독립적인 환경을 구축할 수 있지만, 퍼블릭 클라우드와 비교해서 부담해야 하는 비용이 높은 방식입니다. 아주 중요한 자료가 있는 정부 기관이나 금융권에서 사용하는 경우가 많습니다.

 

3. hybrid cloud

하이브리드 클라우드란 두 가지 이상의 클라우드 환경을 혼합한 방시긍로, 퍼블릭 클라우드와 프라이빗 클라우드를 결합하는 방식도 가능합니다. 특정 서비스에서는 퍼블릭 클라우드를 사용하여 보안을 높일 수 있고, 다른 서비스에서 퍼블릭 클라우드를 사용해서 모두 사용 가능하도록 할 수 있으며, 클라우드 사이의 연결은 API, VPN, WAN과 같은 다양한 방법으로 서로 연결할 수 있습니다.