개발/Cloud Computing

☁️클라우드(Cloud)?

hyuunii 2023. 3. 26. 17:54

📌클라우드(Cloud)/클라우드 서비스::

 인터넷과 연결된 메인컴퓨터에 데이터를 저장하고, 웹에 접속만 된다면 언제나 데이터를 이용할 수 있는 서비스. 장소는 다르더라도 똑같은 구름의 모습을 볼 수 있다는 것에서 착안해서 클라우드라는 이름이 붙여졌다고도 하고, 서비스 사업자의 서버를 구름 형태로 표시하는 관행을 따라 클라우드라는 이름이 붙여졌다고도 함. 름과 같은 무형의 형태라는 뜻에서도 클라우드라고 부른다고.

 최초의 클라우드 컴퓨팅 서비스는 2000년대 초반 아마존에서 탄생. 아마존의 개발자들은 핵심 업무인 개발보다는 서버 구매 ・ 소프트웨어 설치 등, IT 인프라 환경 조성에 너무 많은 시간을 들이고 있었고 경영진들은 이러한 업무의 비효율성을 개선하고 생산성을 높이는 방안을 고민. 결과로 컴퓨팅 자원을 효율적으로 활용할 수 있는 AWS 등장함.

 이렇듯 초창기 클라우드 서비스는 한정적인 인적 ・ 물적 자원을 좀 더 효율적으로 활용할 수 있는 목적에 집중. 하지만 점차 빅데이터 시장이 성장함에 따라 비용 절감이라는 경제적 측면보다는 폭발적으로 증가한 데이터를 관리하는 수단으로 발전하고 있음.

e.g.) 우리가 흔히 사용하는 드롭박스(Dorpbox)와 같은 파일 저장 서비스, 노션(Notion) 같은 메모 서비스

 

클라우드 데이터베이스는 클라우드 인프라 플랫폼에 존재하는 정보의 집합. 기능적으로 오프사이트 데이터베이스와 차이가 없으며 유일한 차이는 위치임.

 

 

📌클라우드 컴퓨팅::

  • 서로 다른 물리적인 위치에 존재하는 컴퓨터들의 리소스를 가상화 기술로 통합해 제공하는 기술.
  •  IT 시스템을 직접 구매하는 대신 임대하여 사용할 수 있는 서비스
  • 예를들면 개인용 컴퓨터나 기업의 서버에 개별적으로 저장해 두었던 프로그램이나 문서를 클라우드(대형 컴퓨터)에 저장하고 웹 브라우저 등 필요한 어플리케이션을 구동해 원하는 작업을 수행할 수 있는 사용자 중심의 컴퓨터 환경을 말함.
  • e.g.) AWS, 네이버 오피스, Google DOCs(Google), Work Space(Microsoft), Acrobat(Adobe) 등등

 

 

 

 

📌가상화 vs 클라우드 컴퓨팅::

→ 쉽게 정의하면 가상화는 기술이고 클라우드는 방법론

 

- 가상화

  • 단일한 물리 하드웨어 시스템에서 여러 환경이나 자원을 생성하는 기술
  • 하이퍼바이저 라고 불리는 소프트웨어가 하드웨어에 직접 연결된 후 본인의 자원을 적절하게 배분한 가상머신을 만듦

- 클라우드 컴퓨팅

  • 네트워크 전체에서 컴퓨팅, 네트워크, 스토리지 인프라 자원, 서비스, 플랫폼, 애플리케이션을 사용자에게 제공하는 접근 방식
  • 가상화는 하드웨어에서 기능을 분리하는 기술, 클라우드 컴퓨팅은 이러한 분할을 사용하는 솔루션보다 큰 개념인 방법론

 

 

 

 

📌클라우드 서비스의 제공 형태::

➡️접속 가능 범위에 따라 아래 세 가지로 서비스 제공 형태가 구분됨.

 

- 퍼블릭 클라우드(Public Cloud):

공공 클라우드, 개방형 클라우드라고도 불림. 이름에서 알 수 있듯 인터넷에 접속한 불특정 다수의 사용자가 이용할 수 있는 클라우드 서비스. 하드웨어 ・ 소프트웨어 및 기타 인프라는 클라우드 서비스 공급자가 소유하고 관리하며, 사용자는 인터넷 네트워크를 기반으로 서비스에 접근하고 개인 계정을 관리.

 

- 프라이빗 클라우드(Private Cloud):

퍼블릭과 반대되는 개념. 클라우드 서비스의 자원을 특정 기업 및 기관 내부에 저장하여 내부자에게 제한적으로 서비스를 제공하는 형태. 지정된 조직만이 서비스를 제어할 수 있으므로 보안성이 뛰어나다는 장점이 있다.

 

- 하이브리드 클라우드(Hybrid Cloud):

퍼블릭과 프라이빗 클라우드 두 가지를 조합해 사용하는 형태. 보안이 중요한 데이터의 경우 기업 내 온-프레미스* 데이터 센터에 저장해두고, 트래픽이 급증하여 처리 요구가 데이터 센터의 역량을 초과하는 경우 퍼블릭 클라우드를 사용하여 신속히 처리할 수 있다.
* 온-프레미스(On-premise) : 소프트웨어 등 솔루션을 클라우드같은 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치하여 운영하는 방식.

 

 

 

 

📌클라우드의 종류::

➡️얼마만큼 사용자가 관리하고 얼마만큼 클라우드에서 제공받는가에 따라 아래 세 가지로 구분됨.

 

✔️데이터 저장공간 + 서버 = 인프라 서비스(IaaS, Infrastructure as a service)

✔️데이터 저장공간 + 서버 + 플랫폼 = 플랫폼 서비스(PaaS, Platform as a service)

✔️데이터 저장공간 + 서버 + 소프트웨어 = 소프트웨어 서비스(SaaS, Software as a service))

 

 

✔️SaaS : 다 만들어진 음식을 사 먹음 => 일반인에게 서비스가 바로 가능한 상태, 만들어진 소프트웨어를 그냥 사용만 하면 됨. 우리가 자주 쓰는 네이버 클라우드, 구글 드라이브, MS Office 365, 노션 등

 

✔️PaaS : 음식 재료만 따로 모아 판매하며, 집 냄비에 재료를 모아 끓이기만하면 완성 => 필요한 환경을 서비스. 이용자가 최종적으로 소프트웨어를 완성해서 사용해야 함. IaaS와 헷갈릴 수 있는데 아마존과 같은 서비스가 VM을 제공하는 IaaS라면, PaaS node.js, Java와 같은 런타임을 미리 깔아놓고, 거기에 소스코드를 넣어서 돌리는 구조. 우리는 소스코드만 적어서 빌드, 컴파일은 클라우드에서 한 후 결과만 가져옴. 무료 플랫폼 호스팅을 제공하는 Heroku, 레드햇의 OpenShift, 구글 앱 엔진, 마이크로소프트 애저(Azure), 아마존 AWS 등

 

✔️IaaS : 재료가 다 따로 있음, 따로 사서 우리가 요리하기 위해 하나하나 사야 함 => 인프라 자원까지만 제공. 아마존의 AWS(Amazon Wed Service), 마이크로소프트의 애저(Azure), 구글의 GCE(Google Compute Engine)

e.g. AWS의 EC2

  • AWS의 EC2를 이용하면 우리는 물리적인 서버와 Network, Storage 등등을 직접 구매하거나 준비하지 않아도 원하는 OS를 깔아 서버로 사용할 수 있다.
  • AWS의 EC2는 사용자가 원하는 OS를 고르고 그에 해당하는 스펙을 선택하기만 하면, 모든 관리를 아마존에서 해주는 것. OS를 제공한다는 느낌이긴 하지만, 선택권을 주고 OS의 종류나 다양한 자원들을 사용자가 선택하므로 대표적인 IasS라고 불리고 있다.

 

 

 

출처:

https://blog.codef.io/cloud_service/

https://domashand.tistory.com/116