Step-by-Step
클라우드 컴퓨팅(Cloud Computing)에 대한 이해 본문
학교 공지를 보다가 인공지능 혁신공유대학사업단에서 주최한 "클라우드 활용 온라인 특강"이 보였고,
클라우드 기술은 한 번도 사용해본적이 없고, 공지를 보자마자 궁금해서 신청하게 되었다
특강을 듣기에 앞서, 클라우드 컴퓨팅이 무엇인지 제대로 알기 위해 글을 작성하게 되었다
클라우드 컴퓨팅(Cloud Computing)
- 사용자의 직접적인 활발한 관리 없이 특히 데이터 스토리지와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요시 바로 제공하는 것
- 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술
- 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에게 요청시 제공해준다
- 컴퓨터 네트워크 구성도에서 인터넷을 구름으로 표시하며, 구름은 숨겨진 복잡한 인프라 구조를 의미
- 사용자의 입장에서 제공자의 서비스들을 표현하는 네트워크 요소들은 마치 구름에 가려진 것처럼 눈에 보이지 않음
클라우드 컴퓨팅 모델
<스택 속 계층별로 정렬된 클라우드 컴퓨팅 서비스 모델>
(1) SaaS(Software as a Service)
- 사용자들에게 응용 소프트웨어와 데이터베이스에 대한 접근 권한을 제공
- 사용자들은 웹 상의 로그인만으로 다양한 소프트웨어를 사용한 만큼 비용을 지불해가며 사용할 수 있음
- 클라우드 제공자들은 클라우드에 응용 소프트웨어를 설치 및 운영함
- 클라우드 사용자들은 클라우드 클라이언트의 소프트웨어를 접근함
※ 예시 : 네이버 클라우드, 드롭박스, 구글 문서 등
(2)PaaS(Platform as a Service)
- 운영체제가 이미 구성된 상태에서 사용자가 데이터와 애플리케이션만 직접 관리할 수 있는 서비스
- 운영 프로그램 개발자가 개발 환경을 위한 별도의 HW, SW 등의 구축 비용이 들지 않도록 구축하고 실행하는데 필요한 환경 제공
- 서비스 제공업체가 제공하는 개발 도구를 이용하여 사용자, 개발자는 응용프로그램 생성
- 클라우드 제공자들은 운영체제, 프로그래밍 언어 실행 환경, 데이터베이스, 웹 서버를 포함한 컴퓨팅 플랫폼 배급
※ 예시 : 구글 APP 엔진, Heroku 등
(3)IaaS(Infrastructure as a Service)
- 가상 머신과 기타 자원들을 구독자에 대한 서비스로 제공하는 제공자들의 모델
- 사용자에게 가상 서버, 스토리지, 네트워크 및 기타 기반 컴퓨팅 자원을 제공함
- 물리적 컴퓨팅 자원, 위치, 데이터 파티셔닝, 확장, 보안, 백업과 같은 인프라스트럭처의 세세한 부분으로부터 사용자를 이끌어내는 온라인 서비스
- 웹 상에서 구글, 마이크로소프트, 아마존 등에서 제공하는 환경의 네트워크, 보안, 데이터 저장소, 콘텐츠 딜리버리 서비스를 포함한 다양한 인프라를 임대하여 이용할 수 있는 서비스
※ 예시 : AWS에서 제공하는 EC2 - 단순히 서버 등의 자원을 제공해주면서 디바이스에 제약없이 데이터 접근 가능
배치 모델
(1) Private Cloud
- 서비스 대상이 특정 기업, 오직 하나의 단체를 위해서만 운영되는 클라우드 인프라스트럭처 중 하나
- 내부적으로나 서드파티에 의해 관리를 받거나 내외부적으로 호스팅됨
(2) Public Cloud
- 서비스 대상이 일반 대중, 공개적 이용을 위해 열린 네트워크를 통해 렌더링되는 클라우드
(3) Hybrid Cloud
- Private Cloud의 강력한 보안 기능과 통제력, Public Cloud의 비용 효율성이 결합된 방식
클라우드 기반 개발 인프라
(1) 컴퓨팅 환경
- 프로그램을 설치하고 운용할 하드웨어 장비를 세팅하여 제공
- 웹 기반 서비스 운용을 위한 웹 서버 제공
- 데이터 관리와 백업 등을 위한 DBMS 서버 제공
(2) 스토리지
- 대규모 데이터를 저장, 관리, 전송, 이중화하기 위핸 저장 장치를 세팅하여 제공
- 디지털 데이터를 논리 풀에 저장하는 시스템인 클라우드 기반 스토리지를 세팅하여 제공
- 데이터 안정성 향상을 위한 아카이브 스토리지 및 대용량 전송이 필요한 경우 전송 스토리지 세팅하여 제공
(3) 데이터베이스
- 실제 데이터를 저장하고 관리하기 위핸 데이터베이스를 세팅하여 제공
- 고성능 관계형 데이터베이스, 대규모 데이터 운영을 위한 웨어하우징, 멀티미디어 데이터 처리를 위한 환경 등을 세팅하여 제공
+ 그 이외에도 네트워킹 전송, 개발자도구, 보안환경 구축, 응용기술 세팅, 생산성 향상 기능 등이 있음
[참조]
'IT 기술' 카테고리의 다른 글
HTTP 상태 코드 (Http Status Code) (0) | 2023.02.18 |
---|---|
[Kafka] 아파치 카프카에 대한 이해 (0) | 2022.05.21 |
REST API에 대한 이해 (0) | 2022.04.29 |
클라우드 강의 노트 (0) | 2022.02.23 |
SSH에 대한 이해 (0) | 2022.02.23 |