본문 바로가기
hadoop study

Cloud Computing Study Session #1-1 클라우드 컴퓨팅 (Cloud Computing) 소개

by first author 2023. 12. 19.
728x90
반응형
본 포스팅은 제가 2013년 네이버 하둡스터디 카페에 포스팅했던 공개 강의 글입니다.
This is a public lecture that I posted on Naver Hadoop Study Cafe in 2013.

 

하둡은 클라우드 컴퓨팅의 분산 컴퓨팅 기술 중 주요한 기술입니다. 따라서 하둡을 시작하기 전에 클라우드 컴퓨팅에 대해 간단히 이해를 도와드릴 수 있는 시간을 가지기 위해 이번 글을 포스팅 하도록 하겠습니다.
 
이번 세션에서는 하둡을 공부하기 전에 클라우드 컴퓨팅에 대해서 알아보는 시간을 가지도록 하겠습니다.
 

 

[그림 1] 클라우드 컴퓨팅 개요
 
클라우드 컴퓨팅!!(Cloud Computing)이란 스토리지, 서버, 소프트웨어를 인터넷을 통해 빌려쓰고 사용자가 사용한 만큼 비용을 지불하는 서비스 입니다. 
클라우드 컴퓨팅은 아래와 같이 4가지 특징을 가집니다.
 
첫번째, 가상 머신을 이용하여 IT자원의 공유를 의미하는 Virtualization (가상화),
두번째, 전기, 수도등과 같이 필요한 만큼 사용한다는 의미를 가지는 IT as Utility
세번째, 유무선으로 편리하게 접속하기 위한 Internet,
네번째, 수작업 없이 엔지니어의 개입 없이!! 자동으로 사용자의 요구대로 처리되는 Automation
 

 

위 4가지 특징을 만족하는 서비스가 클라우드 컴퓨팅 이라고 말할 수 있습니다.
클라우드 컴퓨팅이라는 개념이 나타나기까지 컴퓨팅 기술은 오래전부터 계속 진화해 왔습니다.
초창기 컴퓨팅  서비스는 실제로 엔지니어가 직접 컴퓨팅 서비스 시스템을 구축해야 하였으며, 컴퓨터를 제공하고 라이센스 기반의 S/W판매 서비스가 주를 이루었습니다. 네트워크 망은 교환망/전송망 중심이였구요.. 
1980년대에 이르면서 운영체제의 발전이 활발해 지면서, 컴퓨팅 서비스의 표준화/통합화/확정성에 대한 발전이 이루어지면서, 네트워크망 역시 교환망/전송망 중심에서 전용 네트워크로 발전이 되었습니다.
1990년대 말에 이르면서 Word Wide Web!! 서비스가 엄청나게 발전하였고, 2000년대 초반에 이르며 Data Traffic이 급속도로 증가하게 되었습니다. 이에 network, H/W, S/W의 진화가 급속하게 이루어지게 되었습니다.
업계에서는 2000년 이전까지는 Web IT, 2000년 이후부터를 Cloud IT라고 표현하기도 합니다.
컴퓨팅 서비스의 진화과정도 살펴보았고.. 그렇다면 최근 기술 트렌드가 어떻게 변화하였는지 살펴보겠습니다.
미국의 리서치 기관인 가트너에서는 매년 세계를 이끌어갈 기술이라고 해서 Top10 Strategic Technology Trend를 발표합니다. 2010, 2011년 Hot Issue에서 2012년 Common Issue로 클라우드 컴퓨팅은 Top10 Strategic Technology Trend에 자리하고 있는데요,  2012년 10위로 자리잡고 있다는것은 이제는 Hot Issue가 아니라 이미 도래한 기술인 Common issue라는 것을 의미합니다.

[표 1] Top 10 Strategic Technology Trends (2010~2013)
 2010  2011 2012 2013 
1. Cloud Computing 1. Cloud Computing  1. Media tablets and beyond 1. Mobile Devices Battles 
2. Advanced Analytics 2. Mobile Application and Media Tablets  2. Mobile-centric applications and interfaces  2. Mobile Applications  & HTML5 
3. Client Computing 3. Next-Generation Analytics 3. Contextual and social user experience  3. Personal Cloud 
4. IT for Green 4. Social Analytics  4. Internet of Things  4. Internet of Things 
5. Reshaping the Data Center 5. Social Communications and Collaboration 5. App Stores and Marketplaces  5. Hybrid IT & Cloud Computing 
6. Social Computing 6. Video  6. Next-generation analytics 6. Strategic Big Data 
7. Security - Activity Monitoring 7. Context-Aware Computing  7. Big Data  7. Actionable Analytics 
8. Flash Memory 8. Ubiquitous Computing  8. In-memory computing 8. Mainstream In-Memory Computing 
9. Virtualization for Availability 9. Storage Class Memory  9. Extreme low-energy servers  9. Integrated Ecosystems 
10. Mobile Applications 10. Fabric-Based Infrastructure and Computers 10. Cloud Computing  10. Enterprise App Stores 
[출처: Gartner]

 

반응형
 
그렇다면 왜 클라우드 컴퓨팅이 각광을 받고 클라우드 기술이 전 세계를 떠들석 하게 하는 것일까요??
클라우드 컴퓨팅을 이야기 할 때 항상 언급되는 회사들로는 구글, 아마존, 세일즈포스 닷컴 등이 있습니다. 이들 기업은 IBM, HP등 정통적인 IT서비스 회사가 아니며, Oracle, Microsoft 같은 솔루션 제공업체도 아닌 CRM(Custom Relation Management)을 인터넷 서비스로 제공하는 업체 입니다.
이런 회사들은 어떻게 클라우드 컴퓨팅 분야에서 두각을 나타내며 시장을 선도하는 것일까 라는 의문을 가지게 됩니다.
클라우드 컴퓨팅의 핵심은 대규모의 컴퓨팅 리소스를 연결시켜 효율적으로 사용하는 것입니다. 구글, 아마존, 세일즈포스닷컴, 페이스북 같은 인터넷 기업은 전세계 인터넷 사용자를 대상으로 하는 서비스를 제공하며, 자체 서비스를 위해 대규모 인프라가 구축이 되어 있으며, 이를 효율적으로 관리할 수 있는 많은 기술과 노하우를 축적하고 있었습니다. 이 때문에 클라우드 컴퓨팅을 선두할 수 있는 기반이 있었고, 클라우드 시장을 선점할 수 있었던 것입니다.
 사람들이 많이 알고있는 구글의 경우 수십만대 이상의 서버 관리 기술, 수십 페타바이트의 데이터를 저장하고 분석할 수 있는 기술 등을 보유하고 있으며, 이런 기술 중 일부를 논문으로 공개하여 클라우드 기반기술의 성공사례를 공유하고 있으며, 메일, 일정, 문서 등과 같은 일반 사용자가 사용하는 클라우드 기반의 서비스를 제공하고 AppEngine이라는 클라우드 기반의 플랫폼 서비스를 제공하여 사용자가 개발한 어플리케이션을 클라우드 환경에서 실행할 수 있는 플랫폼을 제공하고 있습니다. 뒤에서 설명하겠지만 SaaS(Software as a Service), PaaS(Platform as a Service)를 하고 있는 것이지요.
아마존은 가상 머신, 스토리지 등 클라우드 인프라 자원 서비스를 제공하고 있으며, 세일즈 포스 닷컴은 기업을 대상으로 CRM Web Application 서비스를 클라우드 컴퓨팅으로 제공하고 있습니다. 특히 세일즈포스 닷컴은 가장 혁신적인 기업 1등으로 선정되기도 했으며, 실제 매출은 애플보다 안되지만 클라우드 시장에서 '11년도 매출을 1조원을 돌파하며 순수익 비율로 전세계 1등 회사가 되었습니다.
 
 
[그림 2] The World's Most Innovative Companies '11
 
즉 이제는 기업을 대상으로 H/W나 S/W를 제공하는 컴퓨팅 서비스 시대에서 벗어나 다양한 사용자에게 서비스를 제공하는 컴퓨팅 환경으로 바뀌며, 다양한 서비스 모델을 포함하는 클라우드 서비스가 각광을 받게 된 것이라고 말 할 수 있습니다.

 

 
그렇다면 대체.. 이놈의 클라우드란 정확이 뭐다!!!라고 정의를 내리기는 힘들겠지만 클라우드 컴퓨팅을 공부하면서 와닿았던  클라우드 컴퓨팅에 대한 정의를 몇가지 소개해드릴까 합니다.클라우드 컴퓨팅에 대한 정의는 다양한 분야레 응용되는 만큼 워낙 다양해서 한두문장으로 정의하기가 어렵습니다. 어떤 블로그에서는 지금까지 나온 정의를 분류해보면 20가지 이상으로 나타낼 수 있다고하니.. 정말 정의하기 까다로운 IT용어가 아닐까 싶습니다.
일반적으로 말하는 클라우드 컴퓨팅은 처음에 말씀 드렸듯이 스토리지, 서버, 소프트웨어와 같은 IT자원을 제공하고 사용하는 서비스 모델, 인터넷으로 빌려쓰고 사용한 만큼 지불하는 서비스라고 보편적으로 설명하고 있습니다. 제가 입사후 처음으로 들었던 교육??워크샵???이 클라우드 컴퓨팅 및 보안 실무라고 숭실대학교에서 진행한 워크샵이 있었는데요.. 거기서 첫시간에 클라우드 컴퓨팅에 대한 정의를 Resource on Demand라고 정의를 하고 이를 풀어서 진행했던 기억이 있는데요.. 정말 간단하게 한 문장으로 잘 정리 한 것 같아서 여러분께 소개해 드리려고 합니다.
Resource on Demand가 의미하는 클라우드 컴퓨팅은 Resource에 대한 사전적 의미를 이용하여 아래와 같이 3가지로 정리 할 수 있습니다.
Something that can be used for support or help - 도움이 되는 서비스(소프트웨어, 이메일, 저장소, 데이터분석, 음성인식, Call Centert)
An available supply that can be drawn on when needed - 필요 시 사용 가능한 자원, 재원(자원/재원 on-demand) (컴퓨터, 하드디스크, 네트워크, 개발도구)(
Capability and ingenuity - 추가되는 능력/기발한 재주(Infrastructure as a Code, Programmable Infrastructure, Opne API, Automaiton, Multi-tennancy)
 
이렇게 정리된 3가지 문장은, 클라우드 컴퓨팅은 소프트웨어, 이메일, 저장소, 데이터분석, 음성인식 등에 도움이 되는 서비스로 필요시 컴퓨터, 하드디스크, 네트워크, 개발도구 등의 재원을 언제든지 필요한 만큼 사용하며, 프로그래머블한 인프라 스트럭저 구조를 가지며, 노드들의 추가 삭제 등이 자동화되며, 하나의 자원을 여러명이서 공유하여 사용한다는 라고 설명하고 정의할 수 있습니다.
다음으로 소개해드릴 클라우드 컴퓨팅에 대한 정의인데요, 이번 정의는 Cloud Computing Use Cases White Paper에서 내린 정의로 내용은 아래와 같습니다.
"Cloud computing is model for enabling ubiquitoud, convenient, on-demand network access to a shared pool of configurable computing resources(e.g., networks, servers, storage, applications and services) that can be raplidly provisioning and releaseed with minimal management effort or service provider interation"
위 문장을 제 마음대로 직독직해 및 의역을 했습니다...;;ㅎㅎㅎㅎㅎ
즉 whit paper에서는 "클라우드 컴퓨팅은 다양한 클아이언트 디바이스에서 필요한 시점에 인터넷을 이용해 공유풀에 있는 컴퓨팅 자원들(서버, 스토리지, 어플리케이션, 서비스 등) 에 편리하게 접근할 수 있는 유비쿼터스를 가능하게 하는 모델이며, IT자원의 배포는 쉽고 빨라야하며, 이를 위한 관리 비용은 저렴해야 한다" 라고 클라우드 컴퓨팅을 정의하고 있습니다.
여기서 꼭 짚고 넘어가야하는 문장이 있습니다. 위에서 붉은색으로 표시한 부분인데요..
 
- Configurable Computing Service :  하드웨어 제원을 Hard하지 않고 Soft하게 사용한다는 의믜로 대부분 클라우드 플랫폼이나 서비스는 가상화 기술, 분산파일 시스템 등과 같은 소프트웨어를 이용해 리소스를 관리한다라는 의미입니다.
- Rapidly Provisioned :  컴퓨팅 자원이난 소프트웨어를 사용자가 접근하여 사용할 수 있게 배포 돼야 하며, 배포는 매우 빠르게 되어야 한다는 의미입니다.
- Minimal Management effort : 모든 작업을 처리하는데 있어 시스템 관리자의 개입이 거의 없는 자동화된 시스템 체계를 의미하며, 더 자세 히설명 드리면 서비스 부하 상황등에 따라 자동 프로비져닝되어 서버가 추가되어 부하를 분산시켜주거나, 특정 다스트에 장애가 발생해도 백업본을 이용해 자동으로 스토리지 서비스를 제공해 줄 수 있는 것과 같은 최소한의 관리 비용을 의미 하고 있습니다.
 
이렇게 정의되어 있는 문장속 숨은 의미를 이해하게 되면 과거에 출시된 서비스나 솔루션이 왜 클라우드라고 할 수 없는지 이해하실 수 있을겁니다.
이상 클라우드란 무엇인지에 대해 설명을 드렸구요.. 다음번에는 클라우드 컴퓨팅의 분류, 개념, 서비스, 아키텍쳐 등에 대해서 살펴 보도록 하겠씁니다.
글제주가 없어서 문장 앞뒤도 안맞고 띄어쓰기나 맞춤법도 많이 틀렸을텐데.. 긴 글 읽어주셔서 감사드리며.. 잘못된 부분이 있다면 댓글 남겨주시면 수정하여 다시 게제하도록 하겠습니다.
감사합니다.

 

 

 

728x90
반응형

댓글