본문 바로가기
서버 개발/AWS

클라우드 컴퓨팅에 대해 알아보자!

by 현댕5697 2021. 5. 24.
반응형

서버 개발을 공부하다 보니 배포를 하기 위해 aws를 사용해야 했다.

aws를 다루고 있어도 정작 aws가 대체 어떤 것인지 알지 몰랐었다.

그래서 aws가 대체 무엇인지 찾아보았더니 클라우드 중의 하나라고 했다.

하지만 클라우드도 정확히 어떤 개념인지 몰랐기 때문에, 이번 기회에 클라우드 컴퓨팅에 대해 정리하고자 한다!

 

 

📢 어원

클라우드라는 단어는 '존재는 하지만 복잡하면서 굳이 알지 않아도 되는 것'을 구름으로 추상화 한것에서 유래하였다.

 

 

💡 개념

클라우드 컴퓨팅은 인터넷(클라우드)를 통해 가상화 된 컴퓨터의 IT 리소스(CPU, RAM, SSD...)를 제공하는 것이다. 

이를 통해 자신의 컴퓨터가 아닌 인터넷으로 연결된 다른 컴퓨터에서 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석, 인텔리전스 등의 컴퓨팅 서비스를 처리할 수 있다. 

 

 

✨ 특징

1. on Demand

클라우드는 computing resource on demand 라고 표현할 수 있다.

* computing resource란?

더보기

client와 server는 인터넷을 통하여 서로 상호작용 한다.

client가 server에게 요청을 보내면 server는 해당 요청을 처리 후, 결과를 client에게 전달한다.

그래서 server는 인터넷에서의 핵심 coumputing resource이다.

컴퓨팅 리소스를 원할 때마다 내가 원하는 만큼 사용할 수 있는 것을 의미한다.  

 

2. 확장성

클라우드는 필요한 때에 적절한 지리적 위치에서 적절한 양의 IT 리소스를 제공할 수 있다.

많은 양의 컴퓨팅 리소스가 필요하더라도 몇 번의 마우스 클릭으로 몇 분 만에 프로비전될 수 있다.

따라서 기업은 많은 유연성을 제공받을 수 있고, 용량 계획에 대한 부담을 줄일 수 있다.

* 프로비전(프로비저닝)이란?

더보기

'준비, 대비' 라는 의미를 가진 영단어이다.

필요한 컴퓨팅 리소스들을 필요한 곳에 배치하거나 필요가 없어질 시 리소스를 다시 회수하는 작업을 의미한다.

예를 들어, 1TB 용량의 서버를 사용하다가 데이터가 급증하여 추가로 1TB 용량을 증설하여 2TB로 사용한 후에, 데이터가 감소하여 용량 수요가 적어지면 다시 1TB를 회수하는 것을 생각할 수 있다.

'준비, 대비' 라는 의미를 가진 영단어이다.

필요한 컴퓨팅 리소스들을 필요한 곳에 배치하거나 필요가 없어질 시 리소스를 다시 회수하는 작업을 의미한다.

예를 들어, 1TB 용량의 서버를 사용하다가 데이터가 급증하여 추가로 1TB 용량을 증설하여 2TB로 사용한 후에, 데이터가 감소하여 용량 수요가 적어지면 다시 1TB를 회수하는 것을 생각할 수 있다.

이러한 작업이 가능한 이유는 클라우드 컴퓨팅 서비스가 전 세계에 위치한 보안 데이터 센터 네트워크에서 실행되기 때문이다.

아마존, 구글 같은 클라우드 사업자는 엄청난 양의 컴퓨팅 리소스(데이터 센터)를 미리 구축해놓았고, 우리는 비용을 지불하여 대량의 서버를 임대할 수 있다.

또한 이러한 데이터 센터는 빠르고 효율적인 최신 버전의 컴퓨팅 하드웨어로 정기적으로 업그레이드된다.

따라서 일반적인 개별 기업이 보유한 데이터 센터와 비교했을 때 규모와 속도적인 측면에서 더 많은 이득을 얻을 수 있다.

 

3. 종량제 과금

클라우드 서비스는 서비스를 사용한 만큼에 대해서만 지불하고, 후에 트래픽 양이 많아지면 지불 금액이 높아지는 과금 형태를 가지고 있다.

인터넷 사업을 시작하기 위해서는 하드웨어 및 소프트웨어를 구입하고 데이터 센터를 설치 및 운영하기 위한 초기 비용이 발생한다.

하지만 클라우드 서비스를 사용하면 초기 비용을 줄일 수 있고, 사업의 리스크도 낮출 수 있다.

 

4. 관리 편의성

서버를 직접 구매하고 관리하기 위해서는 여러가지 어려움이 존재한다.

- 서버 랙, 전원 및 냉각에 사용되는 전기세, 인프라 관리를 위한 IT 전문가 비용 등이 필요하게 된다.

- 데이터 센터에는 하드웨어 설치, 소프트웨어 패치 및 기타 시간이 오래 걸리는 IT 관리 작업 등 많은 래킹과 스태킹(racking and stacking)이 필요하다.

- 서버 네트워크, 보안 등을 직접 설정하고 관리해야하는 어려움이 있다

클라우드 서비스를 이용하면 이러한 작업을 줄일 수 있고,  기업의 IT 부서는 더 중요한 비즈니스 목표를 달성하는 데 시간을 투자할 수 있다. 또한, 보안 강화를 위한 정책, 기술 등을 제공받아 데이터, 앱 및 인프라를 위협으로부터 보호할 수 있다.

 

5. 안전성

클라우드 컴퓨팅을 사용하면 클라우드 공급자 네트워크에 속한 여러 중복된 사이트의 데이터를 미러링할 수 있다.

따라서 데이터 백업, 재해 복구 및 비즈니스 연속성을 더 쉽게 제공받을 수 있고, 비용도 줄일 수 있다.

 

 

 

📚 유형

1. Service 모델

4가지 서비스 유형을 짜장면을 만들어 먹는 과정으로 설명한 이미지

1) IaaS(Infrastructure as a Service)

IaaS는 IT 기본 리소스(networking, storage, server, virtualization)를 제공하는 클라우드 컴퓨팅 서비스의 유형이다. 

쉽게 말해서 os(window, ios 등...)가 설치되지 않은 새로운 컴퓨터를 구매하는 개념이라고 생각하면 된다.

- on Promise 데이터 센터의 유지 관리를 줄이고 하드웨어 비용을 절감하며 실시간 비즈니스 인사이트를 얻을 수 있다.

* on Promise 서비스 유형이란?

더보기

on Promise 서비스 유형은 자신이 서버를 소유하는 것으로, 모든 리소스 관리를 개인이 담당하는 것을 말한다.

- IT 리소스를 수요에 맞게 스케일을 증감할 수 있도록 하는 유연성을 제공한다.

- 새 애플리케이션을 빠르게 프로비저닝하고 기본 인프라의 안정성을 높이는 데 도움을 준다.

- 물리 서버 및 데이터 센터 인프라를 구입하고 관리하는 비용과 복잡한 과정을 피할 수 있다.

각 리소스는 별도의 서비스 구성 요소로 제공되며 특정 리소스를 필요한 동안에만 비용을 지불하면 된다. 

AWS와 같은 클라우드 컴퓨팅 서비스 공급자가 인프라를 관리하며 사용자는 자체 소프트웨어(운영 체제, 미들웨어, 애플리케이션 등)를 구매, 설치, 구성, 관리해야 한다.

 

2) PaaS(Platform as a Service)

PaaS는 IaaS에 os, middleware, runtime(프로그램이 작동하는 환경)이 추가된 서비스이다.

단순한 클라우드 기반 어플리케이션 부터 정교한 클라우드를 사용하는 엔터프라이즈 응용 프로그램에 이르기까지 모든 것을 제공할 수 있는 리소스가 포함되어 있는 완전한 개발 및 배포 환경이다.

따라서 코드 개발만 하여 올릴 수 있는 형태로, 개발자들이 주로 사용한다.

* 엔터프라이즈 응용 프로그램이란?

더보기

엔터프라이즈 응용 프로그램이란 조직의 효율성과 생산성을 향상시키기 위한 비즈니스 논리를 위해 개인이 아닌 대규모 조직이나 정부에서 사용하는 소프트웨어 응용 프로그램을 말한다.

- 빌드, 테스트, 배포, 관리, 업데이트의 완전한 웹 애플리케이션 수명 주기를 지원한다.

- 소프트웨어 라이선스, 기본 애플리케이션 인프라 및 미들웨어 또는 개발 도구와 기타 리소스를 구입하고 관리하는 비용과 복잡성이 없어진다.

사용자는 클라우드 서비스 공급자로부터 종량제 방식으로 필요한 리소스를 구매하고 보안 인터넷 연결을 통해 해당 리소스에 액세스하면 된다.

Paas를 통해 사용자는 개발하는 응용 프로그램과 서비스를 관리에만 집중할 수 있고, 그 밖의 모든 항목들은 클라우드 서비스 공급자가 관리하게 된다.

 

3) SaaS(Software as a Service)

SaaS를 사용하면 사용자는 인터넷을 통해 클라우드 기반 앱에 연결하여 이를 사용할 수 있다.

즉, 모든 기능이 동작하는 소프트웨어 자체를 제공받는 서비스라고 이해하면 된다.

대표적인 예로는 메일(구글, 네이버...), Microsoft Office 365, 구글 드라이브 등이 있다.

기업은 기업을 위한 앱 사용 라이센스 비용을 지불하고, 기업의 직원들은 일반적으로 웹 브라우저를 사용해 인터넷을 통해 해당 앱에 연결한다.

예를 들어 대학교에서 microsoft office 365 라이센스 비용을 지불하면, 학생들은 해당 프로그램을 인터넷상에서 사용할 수 있는 것이다.

기본적인 인프라, 미들웨어, 앱의 소프트웨어, 앱의 데이터는 모두 서비스 공급자의 데이터 센터에존재한다.

서비스 공급자는 하드웨어 및 소프트웨어를 관리하며, 앱과 데이터의 가용성과 보안도 보장해준다.

 

 

2. Deployment 모델

1) public 클라우드

public 클라우드란 외부 어딘가에 클라우드가 존재하고, 불특정 다수의 사용자들이 해당 클라우드를 사용하는 것을 의미한다.

즉, 공용 인터넷을 통해 타사 공급자가 제공하는 컴퓨팅 서비스라고 생각할 수 있으며 누구든지 사용할 수 있다.

무료 또는 주문형으로 판매되어 사용자가 사용한 만큼(CPU 주기, 스토리지 또는 대역폭의 사용량 등으로 판단) 비용을 지불한다.

대표적으로 현재 아마존(aws)이나 구글(구글 클라우드) 같은 사업자가 IT 리소스를 서비스로 제공하고 있는 것이 바로 public 클라우드 모델이다.

- 기업이나 기관이 on promise 서비스 유형처럼 비싼 비용을 지불하지 않고, 클라우드 서비스 공급자가 시스템의 모든 관리 및 유지 관리를 담당한다.

- on promise 인프라보다 빠르게 배포할 수 있고, 거의 ​​무한대로 확장 가능한 플랫폼을 구축할 수도 있다.

- 한 회사의 모든 직원은 인터넷에 액세스할 수 있는 한 선택한 디바이스를 사용하여 모든 사무실 또는 지사에서 동일한 애플리케이션을 사용할 수 있다.

public 클라우드 환경에서 보안 문제가 제기되기도 했지만, 서비스 공급자가 IDPS(침입 검색 및 방지 시스템)와 같은 적절한 보안 방법을 사용하면 private 클라우드 구현만큼 안전하게 사용할 수 있다.

 

2) private 클라우드

private 클라우드란 특정 기관이나 기업 내부에서만 사용할 수 있는 클라우드를 의미한다.

예를 들어 정부 기관이나 관공서와 같이 높은 보안을 요구하는 경우에 private 클라우드를 사용할 것이다.

- on promise에 호스트된 컴퓨팅 인프라를 통해 전용 리소스에서 사용할 수 있는 사용자 지정 및 추가 컨트롤, 셀프 서비스, 확장성(유연성)과 같은 public 클라우드의 여러 혜택을 기업에 제공한다.

- 회사 방화벽 및 내부 호스팅을 통해 높은 수준의 보안 및 개인 정보 보호를 제공하여 타사 공급자가 작업 및 중요한 데이터에 액세스할 수 없도록 한다.

- IaaS, PaaS를 지원한다.

- public 클라우드와 결합하여 hybrid 클라우드를 만들 수 있기 때문에 클라우드 버스팅을 활용하여 컴퓨팅 요구량이 늘어날 때 public 클라우드에 더 많은 공간을 확보하고 컴퓨팅 서비스를 확장할 수 있다.

하지만 회사의 IT 부서가 private 클라우드를 관리하는 비용과 책임을 맡아야 해서 데이터 센터를 직접 소유했을 때와 동일한 인력, 관리, 유지 비용을 필요로 한다는 단점이 있다.

 

3) hybrid 클라우드

hybrid 클라우드란 public 클라우드와 private 클라우드를 조합하여 데이터와 어플리케이션을 공유할 수 있도록 하는 형태이다.

보안이 중요한 시스템의 경우에는 private 클라우드를 이용하고, 그 외의 시스템에 대해서는 public 클라우드를 사용가능하다.

또는 private 클라우드를 주로 사용하면서, 컴퓨팅 및 트래픽이 private 클라우드의 역량을 초과하는 경우 public 클라우드로 확장하여 해결할 수 있다.

- 항상 필요로 하지 않는 서버를 구매, 설치, 유지 관리하기 위한 시간과 비용을 줄일 수 있다.

- 최근 기업들이 가장 관심있어 하는 클라우드 형태이다.

 

4) community 클라우드

한정된 몇개의 기관이나 기업 안에서만 클라우드가 공유되는 형태이다.

 

 

 

 

 


Reference

https://azure.microsoft.com/ko-kr/overview/what-is-cloud-computing/#cloud-deployment-types

 

클라우드 컴퓨팅이란? 초보자 가이드 | Microsoft Azure

클라우드 컴퓨팅이란 무엇이며 클라우드 컴퓨팅은 어떻게 작동할까요? 클라우드 컴퓨팅의 이점을 알아보세요. 매일 온라인으로 클라우드 컴퓨팅 서비스를 사용하는 방법을 알아보세요.

azure.microsoft.com

https://www.youtube.com/watch?v=oY8Tc5OQ-JI&list=PLmv2d328i1Q4ZK_7XQYB5SeMqNA4q_Ptq&index=4 

 

 

반응형

댓글