클라우드 컴퓨팅
크리스토퍼 버냇 지음 | 미래의창
클라우드 컴퓨팅
크리스토퍼 버냇 지음
미래의창 / 2011년 1월 / 311쪽 / 13,900원
제1부 클라우드 컴퓨팅의 기초
클라우드 컴퓨팅 시대의 개막클라우드는 인터넷 그 자체가 아닌, 온라인상의 컴퓨팅 자원을 뜻한다. 클라우드 컴퓨팅이라는 용어는 온라인상에서 소프트웨어 및 처리 장치를 이용하게 된 새로운 시대와 지난 20년간 사람들이 인터넷으로 해오던 종류의 일을 구분시켜 준다는 점에서 의미가 있다.
기존 컴퓨팅 모델에서는 사용자의 컴퓨터에 로컬 소프트웨어가 설치되고 데이터가 저장된다. 조직 내의 컴퓨터 사용자들은 데이터 센터의 어플리케이션과 저장 장치를 사용하기도 한다. 하지만 클라우딩 컴퓨팅의 세계는 다르다. 기업 데이터 센터는 해체되고, 소프트웨어 어플리케이션과 데이터는 더 이상 사용자의 컴퓨터에 설치 및 저장되지 않으며, 대신 기업 및 개인용 어플리케이션, 데이터 저장 공간, 원격 처리 장치 모두를 클라우드에서 가져다 사용할 수 있다. 클라우드는 구글, 아마존, 마이크로소프트 등의 컴퓨터 업계 거물들에 의해 운영되는 수많은 데이터 센터로 구성되어 있으며, 이를 서버 팜(server farms)이라 부르기도 한다.
왜 사람들은 클라우드 컴퓨팅을 이용하고자 하는 것일까? 두 가지 이유가 있다. 하나는 인터넷이 연결되어 있는 어느 컴퓨터에서든 데이터와 어플리케이션을 이용할 수 있다는 것이다. 예를 들어 나는 이 책을 우리 집 서재와 학교 사무실, 그리고 넷북을 들고 수많은 흥미로운 장소를 돌아다니면서 쓰고 있다. 다른 하나는 공동 작업에 적합하다는 것이다. 내가 만약 공동으로 책을 쓰고 있다면, 클라우드 워드프로세서는 개별 저자가 책의 어느 부분이든 가장 최신 원고를 가지고 쓸 수 있도록 도와줄 뿐 아니라 실시간으로 동시에 작업할 수 있도록 함으로써, 그 진가를 유감없이 발휘한다. 물론 클라우드 컴퓨팅이 장점만 있는 것은 아니다. 클라우드 컴퓨팅은 안정적인 인터넷 인프라의 구축을 전제로 하며, 보안과 프라이버시라는 잠재적 문제점을 가지고 있다.
그럼 클라우드 컴퓨팅의 주요 특성은 무엇인지 알아보자. 첫째, 동적으로 확장 가능하다. 필요에 따라 많거나 혹은 적게 전력을 끌어다 사용하는 것처럼, 사용자들은 클라우드에서 특정 시점에 원하는 만큼 컴퓨터 자원을 가져다 쓸 수 있다. 둘째, 장치 독립적이다. 어떤 컴퓨터에서든 인터넷만 연결되면 클라우드 컴퓨팅 자원을 이용할 수 있다. 인터넷에 접속되어 있고 웹 브라우저만 설치되어 있다면 컴퓨터가 노트북, 넷북, 태블릿 PC, 스마트폰, 전자책 혹은 다른 어떤 기기라도 상관없다. 셋째, 업무 중심적이다. 클라우드 컴퓨터는 사용모델이 특정 소프트웨어나 하드웨어 혹은 네트워크 인프라가 아닌, 전적으로 사용자의 이용 목적에 기반하고 있기 때문이다. 넷째, 고정비용이 들지 않는다. 클라우드 컴퓨팅은 동적인 확장가능성과 업무 중심적이라는 특성 덕분에 고정 비용이 거의 발생하지 않는다. 대신 사용량에 비례하는 변동비용이 적용될 뿐이다.
나는 다음 세 가지 이유 때문에 클라우드 컴퓨팅의 시대가 필연적으로 도래한다고 주장하고 싶다. 첫째 경쟁력을 확보하는 데 필수적이다. 클라우드 컴퓨팅은 동적으로 확장가능하고, 업무 중심적이며, 사용량에 따라 비용을 지불한다. 결과적으로 기존 컴퓨팅 환경에 비해 비용 대비 훨씬 효율적이다. 이미 많은 조직에서는 놀랄 정도의 비용 절감 효과를 거두고 있다. 예를 들어 마이크로소프트 제품 대신 온라인으로 구글 앱스 소프트웨어 패키지를 이용하기 시작한 텔레그래프 미디어 그룹은 3년간 소프트웨어 비용을 최대 80%까지 절감할 것으로 추산했다.
둘째, 환경친화적이다. 기존 컴퓨팅 환경과 비교해 클라우드 컴퓨팅은 서비스를 제공하는 대규모 외부 업체들이 기반 시설을 고도로 효율적으로 운영할 수 있기 때문이다. 또한 협업을 가능하게 만들어 준 인터넷 도구의 개발로 더욱 많은 사람들이 재택근무를 하게 되면서 업무에 관련된 이동을 줄일 수 있다. 그 결과 클라우드 컴퓨팅이 늘어날수록 도로에는 차량이, 하늘에는 비행기가 줄어들 것이다.
셋째, 차세대 어플리케이션에 있어 필수적이다. 로컬 소프트웨어와 데이터를 통해서는 때와 장소에 구애받지 않는 정보자원의 이용과 협업이 어쩔 수 없이 제한된다. 이는 클라우드 컴퓨팅을 통하지 않고서는 크라우드소싱(crowdsourcing) 발전의 혜택을 누릴 수 없다는 것을 의미한다. 크라우드소싱은 인터넷을 이용하여 보다 많은 일반 대중이 가치를 창출하는 데 기여할 수 있도록 하는 것이다. 이미 공동의 이익을 위해 연관된 모든 지적 재산이 온라인상에서 생성되고 공유되는 오픈 소스 개발 사례가 늘어나고 있다.
클라우드 컴퓨팅과 웹 2.0클라우드에 일찌감치 자리잡은 서비스로 인맥 구축 사이트들이 있다. 사람들이 온라인에서 인맥을 구축해 온 지 20년이 넘었다는 사실은 클라우드 컴퓨팅 혁명이 과거와 단절된 채 느닷없이 생겨난 현상이 아니란 점을 보여준다. 실제로 온라인으로 데이터를 업로드하거나 사용자와 어플리케이션을 연결시키려는 움직임은 인터넷이 생겨난 이래 꾸준히 확산되어 왔다. 클라우드 컴퓨팅을 보다 완전히 이해하기 위해 우리는 폭 넓은 시각으로 이를 고찰해 볼 필요가 있다.
웹 2.0은 온라인에서 개인과 개인, 웹사이트와 웹사이트, 사용자와 소프트웨어 어플리케이션 간의 연결에 있어 새로운 유형을 확립하는 것을 뜻한다. 개인간 컴퓨팅은 두 명 이상의 사람이 온라인상에서 의사소통을 하는 것이다. 웹사이트 간 연결은 두 개 이상의 웹사이트가 자동적으로 서로 연결되는 것이고, 서비스형 소프트웨어는 사용자들이 온라인으로 소프트웨어 어플리케이션에 접속하는 것을 말한다. 포괄적 의미에서 클라우드 컴퓨팅은 컴퓨팅 인프라를 완전히 온라인에 이전하는 것을 의미하는 것으로, 이와 밀접하게 연관되는 웹 2.0의 발전은 '무엇을 위해' 그 인프라를 클라우드에서 이용하게 되는지를 알려준다. 이 말은 성공적인 웹 2.0 전략이 성공적인 클라우드 컴퓨팅 전략의 일부를 구성한다는 뜻이다.
오늘날 바람직한 웹 전략은 클라우드 자원의 효율적 활용과 관련이 있다. 웹 2.0과 관련된 기술 발전은 다수 웹사이트 이용자들의 집단 지성을 포착하여 이를 활용할 수 있도록 해 준다. 페이스북, 트위터, 유튜브 등의 웹사이트들이 그토록 인기를 얻고 있는 이유는 이들이 진정한 의미에서 정보와 의사결정 기록이 보관된 방대한 저장소가 되었기 때문이다. 이러한 사이트들이 확보한 대중성은 대부분의 기업들이 활용할 수 있는 것이기도 하다. 따라서 집단 지성이 모여 있는 온라인 사이트를 탐색해 그곳에서 입지를 구축하는 것은 웹 2.0 전략에 있어 주된 요소가 되어야 한다.
웹 2.0 발전에 있어서는 두 가지 공통되는 특성이 있다. 첫째는 집단 지성을 공동으로 이용할 수 있다는 점이고, 둘째는 '플랫폼으로서의 웹'이다. 플랫폼으로서의 웹이란 말은 인터넷 인프라가 점점 더 많이 클라우드에서 구동하게 될 것이라는 의미이다. 이는 웹 사이트간 연결일 수도 있으며, 서비스형 소프트웨어일 수도 있다. 시간이 지날수록 웹은 사람들이 점점 더 많은 사회경제적 활동을 수행하게 되는 플랫폼이 될 것이다. 플랫폼으로서의 웹은 클라우드 컴퓨팅의 핵심에 위치하며 웹 2.0과 클라우드 컴퓨팅을 밀접하게 연결시켜 주는 개념이다. 웹 2.0은 구동시킬 웹상의 플랫폼 없이는 존재할 수 없는, 그 수가 늘고 있는 컴퓨팅 활동을 총체적으로 부르는 명칭이다. 그러한 의미에서 페이스북, 트위터, 유튜브 등의 웹사이트 들은 클라우드 컴퓨팅의 방향을 제시해 주었다고 볼 수 있다.
오늘날 소셜 네트워킹 사이트와 온라인 동영상 사이트를 이용하는 수억 명의 사람들이 이미 개인 컴퓨터가 아닌 클라우드에 정보를 저장시키는 일의 이점을 받아들이기 시작했다. 웹사이트 간 연결과 서비스형 소프트웨어 분야의 선구자들도 낡은 고정관념을 버리고 대다수 컴퓨팅 어플리케이션 들이 클라우드에 자리 잡게 될 미래를 받아들였다. 웹 2.0의 발전은 사람들이 온라인에서 데이터를 저장하고 처리하는 것의 이점을 명백히 인식하는 순간 그것을 받아들이게 됨을 보여준다.
클라우드 소프트웨어인터넷을 통해 이용할 수 있는 소프트웨어 어플리케이션을 서비스형 소프트웨어(SaaS: software as a service)라고 부른다. 오늘날 SaaS는 클라우드 컴퓨팅의 미래를 보여주는 가장 가시적인 징후이자, 가장 흥미진진하고 이해하기 쉬운 분야이다. SaaS 어플리케이션은 어떤 장치에서나 이용할 수 있다는 이점이 있다. 이는 사용자들이 자신의 집 PC나 사무실 PC, 노트북, 태블릿, 스마트폰 등으로 언제나 지금 막 업로드된 문서를 이용할 수 있음을 의미한다. 또한 대부분의 어플리케이션은 협업 지향적이다. 두 명 이상의 사용자가 동시에 같은 문서를 작업할 수 있으며, 이는 원격 작업을 용이하게 만든다. 그 결과 이동의 필요성이 줄어들어 삶을 더욱 친환경적으로 만들 수 있다.
앞으로 10년 이내에 SaaS는 전성기에 들어설 것이다. 로컬 컴퓨터에 설치되는 어플리케이션과 비교해 대다수 SaaS 어플리케이션은 정교함이 부족하다. 하지만 일반 사용자가 필요로 하지 않는 기능은 과도하게 탑재하지 않았기 때문에 오히려 다행이라 하겠다. SaaS는 기존의 소프트웨어 패키지와 비교할 때 분명 사용자가 원하는 바에 초점을 맞추고 있다. SaaS는 인터넷으로 제공되기 때문에 지속적으로 업데이트되며, 따라서 소프트웨어 개발 단계를 표시하는 버전 번호라는 것이 없다. 그 대신 새로운 기능이 계속 추가된다. SaaS는 웹 2.0 이므로 새로운 기능 대부분은 다른 사용자들의 온라인 요청에 의해 만들어진 것이다.
SaaS의 주요 영역 중 첫 번째가 바로 이메일이다. 클라우드 기반 이메일이 이미 개인 사용자들 사이에서 보편적으로 이용되는 것처럼, 비즈니스 용도로서 클라우드 사용도 보편화될 것으로 보인다. 많은 조직들이 비교적 기꺼이 외부 서비스 제공업체에 이메일을 아웃소싱하고 있다. 이는 이메일 서버를 운영하는 일이 상당한 행정 비용을 수반하는 포괄적 컴퓨팅 활동이기 때문이다. 보안상 우려 때문에 아직도 많은 기업들이 클라우드 컴퓨팅 활용을 주저하고 있음에도 이메일에 관해서는 이런 우려가 덜한 편이다. 구글 앱스라든가 조호 비즈니스 같은 주요 SaaS 사무용 패키지들도 기본적으로 웹 기반 이메일을 포함하고 있으며 이들 서비스가 점점 많은 인기를 모으고 있다.
SaaS의 영역 중 기업들이 많이 사용하는 대표적인 소프트웨어가 구글 앱스이다. 구글 독스(클라우드 기반의 업무용 소프트웨어), 지메일, 구글 캘린더, 구글 비디오 개인 동영상 호스팅, 구글 사이트 홈페이지, 인트라넷 생성 도구 등의 서비스와 넉넉한 저장 공간을 1년에 50달러에 쓸 수 있는 것이 구글 앱스이며, 현재 200만 곳 이상의 기업들이 구글 앱스를 사용하고 있다. 마이크로소프트 익스체인지 이메일과 오피스를 구글 앱스로 전환할 경우, 기업들은 이메일 및 사무용 어플리케이션 IT 비용을 최소한 2/3까지 절감할 수 있다. 이는 소프트웨어 라이선싱, 내부 이메일 및 다른 서버들에 대한 운영비, IT 지원 인력 감축에 따른 절감 효과이다. 구글 앱스로 전환하면 모든 비용에 변동가격이 적용되고 투명해진다. 직원들의 협업 기회 또한 훨씬 많아진다.
클라우드 하드웨어 기업이 기존 내부 시스템을 클라우드 컴퓨팅으로 대체하는 방식은 다음 세 가지로 나눌 수 있다. 첫째, 서비스형 소프트웨어(SaaS). 둘째, 서비스형 플랫폼(PaaS). 셋째, 서비스형 인프라(IaaS). 이 세 가지 방식 모두 고객 업체들이 데이터를 저장하고 어플리케이션을 구동시킬 수 있는 서버를 공급하는 클라우드 서비스 제공업체와 결부되는데, SaaS PaaS IaaS의 차이는 사용하는 어플리케이션과 어플리케이션이 만들어지는, 그리고 어플리케이션이 구동되는 하드웨어의 유형과 관련하여 기업이 어느 정도의 통제력을 가지는가에 따라 정해진다.
클라우드 컴퓨팅에 있어 SaaS적 접근은 로컬 장치에 소프트웨어를 설치하는 대신 웹상에서 어플리케이션을 이용하는 것이었다. 필요한 것이라고는 워드프로세서 같은 표준 패키지가 전부일 경우, 클라우드 컴퓨팅은 가장 손쉬운 방법이자 훌륭한 선택이다. 그러나 표준 패키지만으로는 충분하지 못한 경우라면 클라우드 컴퓨팅에 대한 SaaS적 접근은 적절하지 못할 것이다.
기업이나 개인은 때로 자신의 어플리케이션을 직접 구동시킬 수 있는 클라우드 컴퓨팅 하드웨어를 사용하기를 원할 수 있다. 이를 해결할 수 있는 방법에는 두 가지가 있다. 하나는 플랫폼 수준, 또 다른 하나는 인프라 수준으로 각각 서비스형 플랫폼(PssS) 서비스형 인프라(IaaS)라 부른다. 컴퓨팅에 있어 플랫폼이란 최종 사용자를 위한 어플리케이션을 개발하고 구동시키기 위한 소프트웨어 환경이며, 인프라는 플랫폼과 어플리케이션이 실제 작동하는 물리적 하드웨어이다.
기업이나 개인이 플랫폼 수준의 클라우드 컴퓨팅을 원한다면 이들은 서비스형 플랫폼을 선호할 것이다. 따라서 자체 어플리케이션을 개발하고 구동시킬 수 있는 소프트웨어 환경과 함께 온라인 하드웨어를 이용하게 된다. 예를 들어 구글은 앱 엔진(App Engine)이라 불리는 PaaS 서비스를 제공하는데 이를 통해 누구나 구글 인프라로 새로운 클라우드 어플리케이션을 개발하고 웹상에서 구동시킬 수 있다. SaaS와 PaaS 모두 필연적으로 서비스 제공업체의 하드웨어에서 데이터를 저장하고 어플리케이션을 구동시키게 된다. 예를 들어 구글 독스에서 워드 프로세서를 이용할 때, 사용자는 구글 서버에서 프로그램 코드를 실행하는 것으로 작성된 문서를 구글 서버에 저장할 수 있다.
많은 개인과 기업고객에게, 사용하고 있는 플랫폼이나 인프라에 관한 통제권을 갖지 못한다는 점에 크게 문제가 되지는 않는다. 그러나 클라우드에서 기존 소프트웨어 어플리케이션을 실행하길 원하거나 특정한 보안상 우려가 있을 경우에는 문제가 될 수 있다. 이런 이유로 클라우드 컴퓨팅의 상당 부분은 서비스형 인프라 혹은 IaaS 모델을 기반으로 하고 있다. 이는 서비스 제공업체가 고객들이 원하는 인플리케이션의 가동과 데이터 저장을 할 수 있도록 클라우드 하드웨어에 대한 접근을 허락하는 모델이다.
제2부 클라우드 컴퓨팅의 주요 사안
보안, 프라이버시, 안정성클라우드 컴퓨팅과 관련된 잠재적 위험 중 가장 우려되는 것이 보안이다. 모든 클라우드 컴퓨팅은 인터넷 접속에 의존한다. 해킹으로 접속에 문제가 발생한다든지 정보가 외부로 누출된다든지 하는 경우 클라우드 서비스의 보안 및 이용 자체에 문제가 생기게 된다. 사용자의 아이디와 비밀번호가 노출되거나 클라우드 컴퓨팅 장치에 보안상 문제가 발생하는 경우에도 상황은 심각하다.
어느 누구도 클라우드 컴퓨팅이 전적으로 안전하다고 장담할 수는 없다. 하지만 길을 걷거나 숨을 쉬거나 갖고 있는 데이터를 몽땅 자신의 컴퓨터에 저장하는 일 역시 안전하지 않기는 마찬가지다. 클라우드 컴퓨팅을 선택할지 안 할지는 클라우드 컴퓨팅에 위험 요소가 수반되는지 여부가 아니라, 잠재적 효용을 놓고 보았을 때 그 위험이 감수할 만한 가치가 있는지를 고려해서 결정해야 한다.
클라우드 컴퓨팅에 관련된 보안은 두 가지 차원에서 대처할 수 있다. 하나는 기술적인 것으로 인터넷 상 보안을 유지하면서 데이터에 접근할 수 있는 적절한 기술과 표준을 적용시키는 것이다. 다른 하나는 정책적인 것이다. 여기에는 안전한 클라우드 컴퓨팅 정책 수립과 최종 사용자들이 지켜야 할 실천 사항 등이 포함된다. 클라우드 컴퓨팅과 관련된 보안 문제의 대부분은 개별 사용자와 클라우드에 접속하기 위해 사용하는 장치의 취약성에서 발생한다. 진정으로 보안을 우려한다면 무엇보다 먼저 클라우드 접속 장치 보안에 신경을 써야 한다. 이는 모든 개인과 조직이 인터넷 보안 접속에 만전을 기울여야 함을 시사한다. 안전한 클라우드 접속은 보안과 관련된 가장 중요한 현안이지만 클라우드 컴퓨팅 서비스 제공업체를 신중히 선정하는 것 역시 여전히 중요한 문제이다. 가장 확실한 조치는 구글, 아마존, IBM등 대형업체들과 계약을 체결하는 것이다.