클라우드(Cloud)란?
"클라우드"는 인터넷을 통해 접속되는 서버, 그리고 그 서버에서 실행되는 소프트웨어와 데이터베이스를 말합니다.
클라우드 서버는 전 세계 데이터 센터에 존재합니다.
클라우드 컴퓨팅을 사용함으로써 사용자와 회사는 물리적 서버를 직접 관리하거나 자신의 컴퓨터에서 소프트웨어 애플리케이션을 실행할 필요가 없게 되었죠.
컴퓨팅과 스토리지는 사용자 기기에서 로컬이 아닌 인터넷을 통해 데이터 센터의 서버와 통신이 이루어지기 때문에 클라우드를 통해 사용자는 거의 모든 장치에서 동일한 파일과 애플리케이션에 액세스할 수 있습니다.
따라서 사용자는 스마트폰을 교체할 때도 페이스북 계정에 로그인할 수 있으며, 사진, 동영상, 대화 내역이 모두 포함된 예전 계정을 찾을 수 있게 되었죠.
Gmail이나 Microsoft Office 365와 같은 클라우드 이메일 서비스와 Dropbox나 Google Drive와 같은 클라우드 스토리지 서비스도 동일한 방식으로 작동한다고 생각하면 됩니다.
기업의 경우 클라우드 컴퓨팅으로 전환하면 일부 IT 비용과 관리 포인트가 줄어들게 됩니다.
예를 들어 더 이상 자체 서버를 업데이트하고 유지할 필요가 없죠. 특히 자체 내부 인프라를 감당할 수 없는 스타트업이나 중소기업들은 클라우드를 통해 필요한 인프라 비용을 감소 시킬 수 있고, 서버에 대한 유지보수 비용을 줄일 수 있습니다.
클라우드 컴퓨팅 동작 방식
클라우드 컴퓨팅은 가상화라는 기술 때문에 가능하게 되었습니다.
가상화는 마치 자신의 하드웨어가 있는 물리적 컴퓨터처럼 동작하는 가상의 컴퓨터나 서버를 만들 수 있게 해줍니다. 이런 컴퓨터의 기술적 용어는 가상 머신이라고 합니다.
가상 머신은 일반적으로 호스팅하는 하드웨어를 보다 효율적으로 활용합니다.
많은 가상 머신을 한 번에 실행함으로써 하나의 서버를 쪼개서 더 많은 서버를 만들 수 있어서 데이터센터를 더욱 효율적으로 만들 수 있게 합니다.
그러므로 클라우드는 일반적인 호스팅보다 더 많은 고객들에게 서버를 제공할 수 있으며, 비용적인 메리트 또한 갖추고 있습니다.
또한 클라우드 내의 개별 서버가 다운되어서는 안 됩니다. 따라서 클라우드 공급업체는 일반적으로 여러 시스템과 여러 지역에 걸쳐 서버들을 백업하거나 서비스가 가능하도록 해놓습니다.
장애 회피를 위한 위의 구성은 보통 이중화 구성(High Availability)이라고 말합니다.
사용자는 브라우저 또는 앱을 통해 클라우드 서비스에 액세스하며, 위 사진처럼 인터넷 브라우저 등을 통해 클라우드에 연결합니다.
클라우드 서비스 모델 종류
IaaS(Infrastructure-as-a Service): IaaS는 클라우드 공급자에게 필요한 서버와 스토리지를 사용할 수 있습니다. 즉, 실제 IDC 환경과 같이 스토리지, 네트워크, 서버를 사용자가 자유롭게 구성할 수 있는 것을 말합니다.
PaaS(Platform-as-a-Service): PaaS는 개발 툴, 인프라 및 운영 체제를 포함한 애플리케이션 구축에 필요한 모든 것을 인터넷을 통해 제공합니다. PaaS는 스토리지, 네트워크, 서버 자체를 임대하는 대신 서비스 자체에 필요한 모든 도구들을 제공합니다. PaaS의 예로는 Heroku, netlify 등이 있으며 Google, AWS, Azure 또한 비슷한 서비스를 제공하고 있습니다.
SaaS(Software-as-a-Service): SaaS는 애플리케이션 자체를 서비스하는 것을 말합니다. 우리가 흔히 알고 있는 네이버 클라우드, 네이버 이메일, 카카오톡, 텔레그램이 SaaS에 포함됩니다.
이전에는 IaaS, PaaS 및 SaaS가 클라우드 컴퓨팅의 세 가지 주요 모델이었고, 기본적으로 모든 클라우드 서비스가 이러한 범주 중 하나에 포함되었습니다. 그러나 최근 몇 년간 네 번째 모델이 등장했습니다.
FaaS(Function-as-a-Service): FaaS는 애플리케이션을 필요할 때만 실행되는 작은 구성 요소로 세분화됩니다. FaaS 또한 클라우드 컴퓨팅 모델과 마찬가지로 여전히 서버에서 실행되고 있습니다. 그러나 전용 머신에서 실행되지 않고, 애플리케이션을 구축하는 회사가 서버를 관리할 필요가 없기 때문에 "서버리스"라고 부릅니다.
사용자는 해당 서버에 접속할 수 없고, Function 스타일로 프로그래밍하여 서비스해야 합니다.
클라우드 서비스 구현 방식
클라우드를 통해 서비스를 제공하는 방식은 위에서 설명한 모델을 구현하기 위해서도 몇 가지로 분류할 수 있습니다.
프라이빗 클라우드: 프라이빗 클라우드는 서버, 데이터 센터 또는 분산 네트워크로 기업 내의 자체 IDC에서 자신들만을 위한 클라우드를 구축하는 것을 말합니다. 대부분 오픈스택(OpenStack)이라는 기술을 활용해서 만들고 있습니다.
퍼블릭 클라우드: 퍼블릭 클라우드는 하나 또는 여러 데이터 센터에 서버를 포함할 수 있는 외부 벤더에 의해 실행되는 서비스입니다. 프라이빗 클라우드와 달리 퍼블릭 클라우드는 여러 기업이 서버를 공유하죠. 퍼블릭 클라우드에는 AWS, Google(GCP) 그리고 마이크로소프트의 Azure가 있습니다.
하이브리드 클라우드: 하이브리드 클라우드 구축은 퍼블릭 클라우드와 프라이빗 클라우드를 결합하고 사내 레거시 서버를 포함할 수 있는 서비스를 말합니다.
멀티 클라우드: 멀티클라우드는 여러 퍼블릭 클라우드를 사용하는 클라우드 구축의 한 유형입니다.
이는 서로 퍼블릭 클라우드를 혼합하여 비용이나 운영 측면에서 더욱 효율적으로 사용하는 것을 말합니다.
'IT' 카테고리의 다른 글
DB 서버란? DB 서버의 종류 및 소개 (22) | 2020.04.14 |
---|---|
32비트(bit), 64비트(bit) 도대체 무슨 차이지? (내 컴퓨터 비트 확인 방법 포함) (22) | 2020.04.13 |
인공 지능, 머신러닝과 딥러닝 쉽게 설명(어디가서 아는 척 가능) (22) | 2020.04.01 |
웹 개발? 웹 프로그래밍이란 무엇일까? (22) | 2020.04.01 |
서버란? 서버의 뜻과 종류 정리 (5) | 2020.03.30 |