개발하는 무민

[코드프레소] 웹개발 트랙 체험단 - 클라우드 컴퓨팅 첫걸음 본문

Project/[코드프레소] JAVA웹개발트랙

[코드프레소] 웹개발 트랙 체험단 - 클라우드 컴퓨팅 첫걸음

무민_ 2022. 2. 28. 09:32

01강. 클라우드 컴퓨팅 핵심 개념

클라우드 컴퓨팅 개요

 

클라우드 컴퓨팅 개념과 장점

클라우드 컴퓨팅이란?

인터넷을 통해 가상화 된 컴퓨터의 IT리소스를 제공하는 것

인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 인터넷과 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.

 

클라우드의 가장 큰 특징

컴퓨팅 자원을 원할 때 원하는 만큼 사용한다.

사용한 만큼만 요금을 지불한다.

 

X as A Service

X 를 서비스 형태로 제공받고 사용료를 지불하는 형태

( 쏘카, 에어비엔비, 넷플릭스 등)

 

 

서버는 아주 많이 필요하다.

 

서버는 적절한 양으로 준비해야 한다.

클라우드를 도입하면 수요에 따라 자원을 탄력적으로 일치시킬 수 있다.

 

 

 

클라우드 컴퓨팅의 주요 특징

 

클라우드 컴퓨팅의 특징

  1. On Demand : 원하는 시점에 대규모로 IT 자원 확장 가능
  2. 대규모 확장성 : 원하는 시점에 대규모로 IT 자원 확장 가능 
  3. 종량제 과금 : 사용한 만큼만 지불
  4. 관리의 편의성 : 클라우드 사업자들이 IT 자원 관리 기능을 제공하여 초기 관리가 용이하다.

 

클라우드 컴퓨팅의 종류

 

온 프로미스 : 모든것을 관리하고 구축해야함

IAAS : 일부를 제공받고 나머지는 매니징

PAAS : 일부를 제공받고 나머지는 매니징

SaaS : 돈만내면 모두 제공받음

 

 

Iaas ( Infrastructure as a Service)

IT 기본 자원만 제공

Server, Storage, Network

새로 컴퓨터 하나 구매하는 개념.

 

SaaS ( Software as a Service )

모든 기능이 동작하는 SW를 제공.

(네이버 클라우드, 구글 드라이브, 구글 캘린더, 네이버 메일 등 ..)

 

PaaS ( Platform as a Service )

IaaS에 OS, Middleware, Runtime 추가.

(미들웨어 - RDBMS 등, 런타임 - JDK, 파이썬 등 프로그램이 작동하는 환경)

개념의 범위가 가장 넓다.

일반적으로 개발자를 대상으로 함

코드 개발만 해서 올리면 되는 상태.

AWS Elastic Beanstalk, Google App Engine ...

 

즉,

Iaas : 컴퓨터를 제공

PaaS : code 만 개발해서 배포하면 서비스 되는 환경을 제공

SaaS : 돈만 내면 모든 것을 제공

 

 

Deployment Model

클라우드를 실제 어떠한 형태로 구축하는지에 대한 View.

Public, Private, Hybrid, Community Cloud 등이 있다.

 

Public Cloud

클라우드 서비스를 필요하는 사용자 누그든 사용 가능

누구나 사용한 만큼 비용만 지불하면 된다.

클라우드 사업자가 IT 자원을 서비스로 제공함

 

Private Cloud

기업 및 기관 내부에서만 사용 가능한 클라우드 컴퓨팅 환경 구축

해당 기업, 기관에 속하지 않은 사람 사용 불가

구축 난이도 높지만 보안, 법적 규제 등의 이유로 사용한다.

 

Hybrid Cloud

퍼블릭과 프라이빗 클라우드를 조합해서 사용하는 형태.

보안이 중요한 시스템은 프라이빗 클라우드에, 그 외 시스템은 퍼블릭 클라우드를 사용한다.

프라이빗 클라우드를 주로 사용하되, 예상치 못한 수준의 트래픽이 몰리는 경우 퍼블릭 클라우드로 확장한다.

다양한 시나리오가 존재하며, 최근 기업들이 많은 관심을 가지고 있다.

 

 

클라우드 컴퓨팅의 주요 용어

Cloud의 주요 용어

Data Center 데이터 센터

Region 지역

Availability Zone 가용 영역

Virtualization 가상화

 

Data Center

수많은 서버를 한데 모아 네트워크로 연결해 놓은 시설

IDC (Internet DAta Center) , CDC (Cloud Data Center)

서버 호텔이라고도 불린다.

데이터 센터는 클라우드의 토대이다.

클라우드 산업이 커질 수록 더 많은 데이터 센터가 구축되는 중이다.

 

Rack - 서버 또는 네트워크 장비들이 들어가는 프레임.

랙 마운트형 서버 - 랙 안의 층 들이 하나의 서버이다.

랙 마운트형 서버를 사용하면 공간을 효울적으로 사용할 수 있음

 

데이터센터에서 중요한 관리 포인트는 발열 관리이다.

페이스북 - 추운 스웨덴에 데이터 센터 건립.

네이버 - 벽에 찬물을 흐르게 하고 바람을 통하게 해서 기화 작용으로 온도 낮춤.

 

Region

Region은 데이터 센터가 위치한 지역. 일반적으로 도시를 지칭한다.

 

IT 리소스를 선택할 Region은 선택 가능하다.

한국에서도 전세계 데이터 센서의 자원을 생성할 수 있다.

 

Region 선택은 서비스 성능에 큰 영향 을 미친다.

대상 고객의 지역과 자원 생성 할 리전이 최대한 가까워야 함.

 

한국 고객 대상으로 서비스를 하려면 서울 리전에 자원을 생성하고,

미국 고객 대상으로는 미국 서부나 동부 리전에 자원을 생성해야 한다.

클라우드 사업자 선택 시 서비스 대상 국가에 리전 선택이 가능한 지 확인이 필요하다.

 

자원 사용 비용이 리전마다 상이하다.

지대, 세금 등이 국가마다 차이가 있으므로 유의해야 한다.

 

Availability Zone

하나의 Region은 두 개 이 상의 Availability Zone으로 구성된다.

Availability Zone은 가용 영역이라고도 불리며, 줄여서 AZ로 표시한다.

하나의 AZ는 하나의 데이터센터이다.

가용 영역끼리는 전용 회선으로 통신하여 매우 빠르다.

 

Availability 가용성 : 시스템이 정상적으로 가동 되는 상태.

서비스를 단일 데이터센터(AZ)에서만 운영하면 지진 전개, 번개, 정전 등으로 장애가 일어날 수 있다.

그렇게 되면 서비스는 해당 AZ가 복구 될 때 까지 접속이 불가하므로 가용성이 낮다.

 

반대로, 서비스를 다수의 AZ에 분산하여 운영하면, 특정 AZ에 문제가 생겨도 다른 AZ에 접속이 가능하므로 가용성이 높다고 표현한다.

 

즉, AZ는 장애에 대해 가용성을 높이기 위한 장치이다.

하나의 Region 내에서 다수의 AZ에 서비스 분산하여 높은 가용성을 만족해야한다.

 

Virtualization 가상화

가상화는 소프트웨어로 가상의 하드웨어를 생성하는 기술이다.

가상의 하드웨어 - VM (Virtual Machine)

클라우드 서비스에서 서버를 사용할 때, 일반적으로 물리적인 하나의 서버가 아닌 가상화 된 서버를 제공받는다.

가상화 된 서버를 일반 서버라고 지칭한다.

 

가상화를 사용하면 버츄얼라이제이션 레이어를 서버 위에 추가하게 되고, 그 위에 가상 머신들을 설계할 수 있다.

하나의 하드웨어를 여러개의 가상머신으로 쪼갤 수 있다.

 

컴퓨터에서는 비효율적으로 사용되는 자원들을 가상화를 사용하여 알차게 사용하는 셈이다.

 

 

클라우드 컴퓨팅 서비스 사업자

 

 

 


https://www.codepresso.kr/

 

노션 정리본 : https://rapid-run-744.notion.site/01-08aedcc1fa334ccf9fda9e6329dbd67b

 

01강. 클라우드 컴퓨팅 핵심 개념

클라우드 컴퓨팅 개요

rapid-run-744.notion.site