2. [기초지식] 클라우드 컴퓨팅

YoonA Kim·2023년 8월 29일

컴퓨터 기초지식

목록 보기
2/3
post-thumbnail

1. 클라우드 컴퓨이팅이란?

1강 - 2강

클라우드 컴퓨팅 : 손쉽게 사용하고 반납할 수 있는 각종 컴퓨터 자원의 공유 풀(Shared pool)에 대해 어디서나 편리하게 접근할 수 있게 해주는 기술
- 각종 컴퓨터 자원의 풀 : 하드디스크나 USB(파일을 저장하는 기능), 엑셀이나 ppt 등의 기능도 여기에 포함

클라우드 컴퓨팅의 역사

  • 개념의 등장 : 1961 과학자 John McCarthy “컴퓨팅 또한 지금의 전화 시스템처럼 언젠가 public utility가 될 것입니다. 그리고 누구나 그것을 사용하는만큼 돈을 지불하게 될 것입니다.”

  • 용어의 등장 : 1996년 컴팩(Compaq)기업의 사업예획서에서 첫 등장, 이후 1998년 VMware 기업이 창립되며 기술에 큰 도약(현재에도 VMware는 클라우딩의 대명사)

  • 대중화 : 아마존의 자회사인 AWS(Amazon Web Service) 덕분

3강 우리가 몰랐던 클라우드 서비스 : 호스팅

개인들이 사용하는 구글드라이브만 클라우드가 아니다.
기업들에게 제공되는 클라우드 서비스의 세계가 훨씬 더 크다.

서비스를 사용/만들려면 개별 컴퓨터/스마트폰과 데이터를 주고받아 서비스를 가동시킬 Server가 필요하다
기업들은 수많은 물리적인 서버(컴퓨터)를 둔 서버룸을 만들기 위해 건물도 필요하고, 보안, 냉방장치 등도 필요하다
작은 기업들이 이것을 모두 직접 할 수 없어서 큰 기업이 크게 서버들을 구축해 작은 기업들에게 서버를 대여해주는 사업이 만들어졌다.
그것이 바로 호스팅 서비스.
호스팅 서비스를 제공하는 큰 기업은 작은기업보다 서버를 비교적 저렴하게 많~~~이 구축하고
작은 기업은 그 서비스를 이용해 저렴한 비용으로 더 안전하고 효율적이게 서비스를 구축할 수 있다.

특히 작은기업들은 서버가 얼마나 필요할지를 미리 예측할 수 없기에
직접 물리적인 서버를 구축하는 데 효율이 매우 떨어지므로 (아래의 그림 참고)
이를 유기적으로 할 수 있는 호스팅 서비스를 이용하는 것이 유리하다.

2. 클라우딩의 기본 개념

1강 가상화

가상화(Virtualization)란 하나의 물리적 컴퓨터에 마치 여러대의 컴퓨터가 작동하는 것처럼 만들어주는 기술

아래의 그림에서 오른쪽처럼 가상화를 적용하면 하나의 하드웨어를 공유하되
Hypervisor를 통해 가상화를 적용,
3가지의 OS로 각각의 컴퓨터처럼 사용하는 것을 말함
이렇게 하나씩 분리된 것을 가상머신이라고 부르며
클라우딩 서비스를 제공하는 기업은 고객에게 각각의 가상머신을 제공할 수 있음

가상화를 하는 이유는
1. 관리의 용이성: 하나의 서버에 하나의 용도만 있으면 관리의 용이성이 좋아지는데, 하나의 하드웨어라도 각각 서버를 가상화시켜서 분리함으로써 용도 별로 나눠서 관리할 수 있음
2. 서버의 활용률: 용도별 하드웨어 서버를 가지면 각 서버의 활용률이 낮음
3. 하나의 하드웨어로 여러 고객에게 서비스 제공 가능


2강~3강 클라우딩 서비스 구성 5단계와 서비스의 종류

클라우딩 서비스는 3가지로 구분됨

그리고 이 3가지는 각가 제공기업이 고객기업에게 제공하는 서비스 구성 단계에따라 구분됨

서비스 구성의 5단계
1. 하드웨어 : CPU, 하드디스크, 랜카드 등이 모인 1대 이상의 물리적 컴퓨터가 필요함.
2. 가상화 : Hypervisor를 통해 가상화 기술을 적용한 환경
3. 운영체제(Operation System, OS) : 윈도우, 리눅스, IOS, 안드로이드 등의 거대한 프로그램
4. 런타임(Runtime): 프로그램을 실행하기 위한 환경. 복잡한 언어로 씌어지는 컴파일언어(C언어, C++) 와 다르게 단순한 언어로 씌어지는 인터프리터 언어(Python, 자바 등) 는 이를 머신코드를 해독하기 위해 인터프리터가 필요한데 이렇게 언어가 활용되도록 만들어주는 환경을 런타임(python, Java Virtual Machine)이라고 부름
5. 어플리케이션(응용 어플리케이션) : 파워포인트, 워드 같은 프로그램들

3가지 서비스 종류

IaaS : 하드웨어와 가상화된 가상머신까지 제공하는 서비스. 마치 우리 개인이 컴퓨터를 사면 하드웨어 본체만 사게 되고, 윈도우랑 각종앱은 우리가 직접 깔아야하는 것과 비슷하게 말 그대로 컴퓨터만 빌려주는 서비스임. 앞서 배운 '호스팅'서비스가 이 IaaS
예 : Amazon Web Service EC2, Microsoft Azure Virtual Machine, Google Cloud Platfor Compute Engine


SaaS : 가장 대표적인 것이 구글 드라이브, 구글 스프레드 시트, 드랍박스 등. 구글 서비스들을 이용하며 '이 프로그램이 돌아가는 CPU는 성능이 좋을까? 어떤 OS일까?' 생각안하는 것처럼 제공기업이 고객기업에게 실제로 사용할 앱까지 한번에 제공하는 것


PaaS : 주로 서비스를 만드는 기업, 개발자들이 사용하는 것. 서비스 개발에는 코드 작성 뿐 아니라 작성한 코드가 실행될 수 있게끔 실행환경을 구축하는 것도 중요한데, 이 실행황경 구축 및 서비스 실행을 대신해주는 서비스임. 즉 고객들은 더 좋은 코드 , 더 좋은 기능을 개발하는데만 투자할 수 있게끔 만들어줌. 개발자는 코드를 작성하고 PaaS에 올리기만 하면 PaaS가 그 코드를 실행시켜 그 서비스에 접속할 수 있는 URL을 제공해줌.

예 : Amazon Web Service Amazon Beanstalk, Microsoft Azure App Service, Google Cloud Platfor App Engine

profile
코딩 배우는 중

0개의 댓글