Cloud computing
(클라우드 컴퓨팅)
Cloud computing 은 사용자가 직접적인 관리없이 추상화된 컴퓨팅 리소스를 인터넷을 통해 제공받고 사용하는 기술을 의미합니다.
즉 작업에 필요한 실질적인 컴퓨팅 리소스들은 Cloud computing 서비스를 제공하는 데이터 센터에 존재하고, 사용자는 인터넷만 연결된다면 어디서든 동일한 환경에서 원하는 작업을 할 수 있는 것입니다.
많은 이들이 Cloud computing 기술이 소프트웨어 비지니스 생태계에 좋은 영향을 준다고 말합니다.
수많은 소프트웨어 비지니스로 하여금 최소한의 관리 노력으로 빠른 release 를 가능하게 만들었고,
Infrastructure (인프라스트럭처) 를 구축하는데 드는 시간과 비용을 절감시켜 그만큼 핵심 사업에 집중할 수 있다는 것이죠.
또한 유동적이고 예측이 어려운 사업 수요에 맞춰 'DB' 나 '컴퓨터 성능' 등 민첩한 규모 조정이 가능하다는 것도 큰 장점으로 꼽힙니다.
이는 '하드웨어 가상화' 를 통해 가능하였으며, 제각각의 사용자가 모두 컴퓨팅 리소스를 물리적으로 소유하고 관리하였다면 불가능했을 것입니다.
경제적인 측면에서 Cloud computing 기술의 특징을 살펴보자면 '일관성' 과 그에 따른 '규모의 경제'를 언급할 수 있습니다.
Cloud computing 을 사용하기 위해 데이터 센터와 각종 설비를 운용하는 것은, 전력망을 구축하고 전기를 제공하는 전력산업과 비슷합니다.
막대한 초기 설비 투자비용과 다소 일관된 운용비용, 그렇기때문에 규모를 늘릴수록 그에 비해 비용은 오히려 줄어드는 규모의 경제 효과가 생기는 것입니다.
참고로 클라우드 산업는 매년 거의 50% 의 성장률을 보이고 있을 정도로 그 성장 속도가 빠른 산업입니다.
즉 서비스를 이용하는 사용자의 입장에서 점점 더 적은 비용으로 더 고성능의 컴퓨터 리소스를 제공받을 수 있는 것입니다.
문제점
결국 사용자가 데이터를 물리적으로 소유하지 않기 때문에, 자신의 의지와 상관없이 데이터가 손실되거나 제3자에게 유출되는 것을 막을 수 없다는 단점이 존재합니다.
실제로 Cloud 서비스를 제공하는 업체의 관리 소홀로 인해 데이터가 손실되거나 유출되는 사고도 발생하는 것이 현실입니다.
그외에도 Cloud 사업자가 서비스 이용자의 데이터를 임의로 사용하거나 서비스의 관련 규정을 마음대로 변경, 혹은 서비스를 중단하는 경우에도 데이터를 보호받기 어렵습니다.
기본적으로 데이터의 통제권을 남에게 넘김으로서 발생하는 문제점으로부터 자유로울 수 없는 것이죠.
그렇기 때문에 Cloud computing 을 사용할 때는 서비스를 제공하는 업체의 신뢰도를 고려하여 신중히 선택해야겠습니다.
정리하자면 Cloud computing 은 인터넷을 통해 가상화된 컴퓨팅 리소스를 사용할 수 있는 기술이며,
이는 '비용 효율성', '접근성', '유연성', '민첩성' 등의 장점과 '(데이터의 완전하고 개별적인) 통제권이 없다'는 단점을 가집니다.
Cloud Service Model
(클라우드 서비스 모델)
CloudService Model 은 이러한 Cloud computing 을 제공하는 서비스들을 분류하는 개념입니다.
Cloud 라는 개념 자체가 워낙 광범위하고 가상화하는 대상에 따라 특성이 많이 다릅니다.
또한 새로운 서비스 유형이 현재도 지속적으로 개발되고있고, 하위 모델로 분류되는 새로운 개념들도 계속해서 등장하고 있습니다.
때문에, 이번 글에서는 가장 일반적인, "가상화의 대상이 어디까지인가"에 따라 분류되는 대표적인 모델 3가지만 살펴보도록 하겠습니다.
IaaS (Infrastructure as a Service) 는
인프라스트럭처 즉, 네트워크, 스토리지, 서버 와 같이 기반 시설이 되는 물리적 리소스를 가상화하여 UI 혹은 API의 형태로 제공하는 서비스입니다.
PaaS ( Platform as a Service) 는
인프라뿐만 아니라 애플리케이션을 개발 실행 및 관리할 수 있는 미들웨어를 포함한, 애플리케이션을 운영하기 위한 기본적인 플랫폼을 제공하는 서비스 입니다.
이용자는 애플리케이션 자체와 데이터에 집중하고, 이것들만을 직접 관리하는 것이죠.
SaaS (Software as a Service) 는
소프트웨어와 데이터를 포함한 모든 리소스를 가상화하여 제공하고 관리해주는 서비스입니다.
이용자는 전통적인 방식의 소프트웨어조차 소유(설치)하지 않아도 되며, 인터넷을 통해 제공업체의 서버에 접속하여 소프트웨어와 데이터를 이용할 수 있는 것입니다.
오늘은 이렇게 Cloud computing 에 대해 알아보았는데요
수많은 통신장비와 네트워크의 복잡한 개념들을 설명하기 애매하여 구름(Cloud) 모양으로 뭉뚱그려 설명한 것에서 유래된 용어인 만큼,
개념 자체가 복잡하고 광범위하며 선명하지 않아 이해하고 설명하는 것 또한 쉽지 않을 수 있습니다.
하지만 정말 구름처럼 전세계를 둘러쌀 정도의 영향력을 가지고 그 규모가 아주 빠른 속도로 성장하고 있음은 분명해보입니다.
그렇기에 언젠가는 마주할 수 밖에 없는 개념인 만큼 확실히 이해하고 간다면 많은 도움이 될 것입니다.
작성 전 학습/ 참고한 자료
클라우드 컴퓨팅 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
클라우드 컴퓨팅이란 무엇인가요? | Google Cloud
클라우드 서비스 이해하기 IaaS, PaaS, SaaS | 와탭 블로그 (whatap.io)
'Computer Science' 카테고리의 다른 글
Operating System 이해를 위한 간단한 그림 (0) | 2024.03.28 |
---|---|
Cache memory 세부적인 이해를 위한 간단한 그림 (1) | 2024.03.21 |
RAM 세부적인 이해를 위한 간단한 그림 (0) | 2024.03.20 |
Memory unit 이해를 위한 간단한 그림 (0) | 2024.03.18 |
CPU 의 구조와 작동을 이해하기 위한 간단한 그림 (0) | 2024.03.18 |