클라우드 컴퓨팅(Cloud Computing)이란
인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에 요청 시 제공해준다. 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터 베이스, 서버, 스토리지, 애플리케이션, 서비스, 인텔리전스)에 대해 어디서나 접근 할 수 있는, 주문형 접근(on-demand availability of computer system resources)을 가능케하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다.
클라우드 컴퓨팅을 통해 infra structure 비용( 서버 구매 등)을 줄일 수 있다.그러나 클라우드 가격으로 예상 밖 높은 비율을 지불해야 할 수 있다.
IaaS - 서비스형 인프라스트럭처
IaaS는 Infrastructure as a Service로 클라우스 서비스 모델이다.
서버를 운영하기 위해서는 서버 자원, IP, Network, Storage, 전력 등등이 필요한다.
이 것들을 가상의 환경에서 쉽고 편하게 이용할 수 있게 서비스 형태로 제공한다
PaaS - 플랫폼형 인프라스트럭처
Platform as a Service이다.
서비스를 `개발`할 수 있는 안정적인 환경(Platform)과 그 환경을 이용하는 응용 프로그램을 개발 할 수 있는 API 또한 제공할 수 있는 형태이다.
SaaS - 소프트웨어형 인프라스트럭처
Software as a Service이다.
Cloud 환경에서 동작하는 응용프로그램을 서비스 형태로 제공하는 것을 Saas라고 한다.
예를 들어 메일 서비스를 들 수 있다. 사용자는 서비스 형태로 원하는 기기(PC,Tablet,SmartPhone 등)에서 메일을 주고 받으며 공간에 관계 없이 서비스를 제공 받을 수 있다.
서버리스 컴퓨팅
클라우드 컴퓨팅 실행 모델의 하나로, 이름과 달리 사실 서버가 필요하다. 다만 프로비저닝과 유지,보수를 전적으로 제공 업체가 책임진다. 즉, 코드를 작성 및 배포하는 관점에서는 관리하거나 프로비전해야 할 서버가 전혀 없다.
서버리스 컴퓨팅 이라는 이름이 사용된 이유는 서버 관리 및 프로비저닝이 완전히 개발자나 운영자로부터 숨겨져 있기 때문이다.
클라우드 제공업체가 특정 코드 조각을 실행할 때 필요한 컴퓨팅 리소스와 스토리지를 동적으로 할당하고
그만큼에 대해서만 요금을 부과하는 클라우드 실행 모델이다.
프로비저닝 - 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다.
폐쇄형 클라우드(private cloud)
폐쇄형 클라우드는 오직 하나의 기업을 위해서 운영되는 클라우드 인프라스트럭처다.
내부적으로 또는 서드 파티에 의해 관리를 받거나 내외부적으로 호스팅된다.
서드파티(third party) - 하드웨어나 소프트웨어 등의 제품을 제조하고 있는 주요 기업이나 그 계열 회사 또는 기술 제휴를 하고 있는 기업이 아닌 제3자 기업을 부르는 말이다. 간략히 제3자 또는 3차 협력사라고도 한다.
공개형 클라우드(public cloud)
공개형 클라우드는 공개적 이용을 위해 열린 네트워크를 통해 렌더링되는 클라우드이다.
폐쇄형 클라우드와 다르게 통신이 신뢰되지 않은 네트워크 상에서 영향 받을 수 있기 때문에 서비스마다 보안적으로 고려할 사항이 있다. 대표적인 공개형 클라우드는 AWS(Amazone), Azure(Microsoft), GCP(Google), Oracle 그리고 국내기업인 NCP(Naver)가 있다. 서비스 제공자들은 자신들의 데이터 센터를 소유 , 운영하고 있다. AWS와 마이크로소프트는 각각 "AWS Direct Connect" 와 "Azure ExpressRoute"라는 직접 연결 서비스들을 제공한다.
분산형 클라우드
분산형 클라우드는 많은 마이크로 데이터 센터를 보유한다. 각 데이터 센터는 중대역폭 링크로 상호 연결되고, 분산 데이터 센터들은 하나의 더 큰 데이터센터로 관리될 수 있다.
분산형 클라우드 모델은 대규모 퍼블릭 데이터센터보다 작은 프라이빗 엔터프라이즈 클라우드나 다양한 이해 관계자가 있는 지역에 특히 적합하다.
클라우드 서비스 사용자와 가까운 클라우드에서 서비스를 빠르게 프로비저닝 함으로써 신속하게 클라우드 서비스를 제공할 수 있게 하는 모델이다. 광범위한 지역에 클라우드 노드들이 배치돼 있어 지리적으로 사용자와 가까운 곳에서 클라우드 서비스를 제공할 수 있으며, 중앙 클라우드로의 병목 현상을 줄여 사용자에게 실시간 서비스도 제공 가능하다.
클라우드 서비스의 보안
클라우드란 말과 달리 클라우드 서비스를 통해 취급하는 데이터도 어딘가 있는 물리적 서버에 저장된다.
따라서 클라우드 보안은 기본적인 정보보안을 그대로 따른다. - 암호화+웹 보안+인증 보안+ 클라우드 환경의 특수성
클라우드 컴퓨팅은 서비스 제공자가 클라우드 안에 위치한 데이터를 언제든지 접근할 수 있기 때문에 프라이버시 문제를 노출한다.
클라우드의 대표적인 위협으로 "안전하지 않은 인터페이스와 API" , "데이터 손실 및 유출", "하드웨어 고장" 을 꼽는다.
모든 클라우드 보안 문제 가운데 각각 29%,25%,10%를 차지한다.
클라우드 서버가 공격 당하면 개인정보가 유출될 수 있기 때문에 더욱 유의가 필요하다.
클라우드의 장점
- 초기 구입 비용을 줄일 수 있다.
- 컴퓨터 가용율이 높다.
- 다양한 기기를 단말기로 사용하는 것이 가능하며 서비스를 통한 일관성 있는 사용자 환경을 구현할 수 있다.
- 사용자의 데이터를 신뢰성 높은 서버에 안전하게 보관할 수 있다.
- 전문적인 하드웨어에 대한 지식 없이 쉽게 사용 가능하다.
클라우드의 단점
- 서버가 공격 당하면 개인정보가 유출될 수 있다.
- 재해에 서버의 데이터가 손상되면, 미리 백업하지 않은 정보는 되살리지 못하는 경우도 있다.
- 통신 환경의 영향을 많이 받는다.
- 사용자가 원하는 애플리케이션을 설치하는 데에 제약이 심하거나 새로운 애플리케이션을 지원하지 않는다.
'Infra' 카테고리의 다른 글
Keda (0) | 2024.04.29 |
---|---|
Docker / Kubernetes (0) | 2022.05.24 |
Jenkins VS Travis VS Github action (0) | 2022.03.21 |
Jenkins (0) | 2022.02.04 |