클라우드 컴퓨팅

1 개요

컴퓨터 통신망 관리 기법.

클라우드(Cloud)의 의미는 컴퓨터 통신망이 구름과 같은 것에 싸여 안이 보이지 않고, 일반 사용자는 이 복잡한 내부를 굳이 알 필요도 없이 어디에서나 구름 속으로 손을 집어넣어 자기가 원하는 작업을 할 수 있다는 것이다. 이른바 동일한 체험을, 인터넷이 연결된 어디에서나 보장해주는 것.

2 의외로 복고 열풍

정확한 개념이 의외로 복잡한데, 대부분의 작업을 온라인에 분산되어 존재하는 데이터 센터(Data Center, 이하 클라우드)에 맡겨 수행하고, 사용자의 컴퓨터는 클라우드에 접속하여 상호작용하는 단말기 역할만 하는 것이다. 이 때문에 모든 데이터와 연산 자원이 클라우드 안에만 존재하게 되며, 이 자원을 유연하게 관리하기 위해 가상화 기술 등이 투입되게 된다. 어떻게 보면 정보처리의 복고 열풍인 게, 사용자들이 단말기를 통해 메인 컴퓨터를 조작한다는 컨셉은 60~70년대의 호스트(Host)-터미널(Terminal) 구조[1]와 정확히 일치하기 때문.[2] 다만, 그때와는 달리 요즘은 단말기 성능도, 네트워크도 많이 좋아졌고, 아예 단말기 여러대를 연결해 슈퍼컴퓨터를 구성하는 것도 가능해졌다.[3]

90년대 중반 인터넷이 본격적으로 세계로 퍼지기 시작했을 때 오라클이 주장한 NC의 개념과도 일치한다. 좀 범위를 넓히면 PC통신 시절 통신사들이 나눠준 단말기를 이용해 PC통신에 접속하던 것도 이것과 비슷하다 할 수 있다.

또한 인터넷 서비스 운영자의 입장에서는 직접 서버를 운영하는 대신에, 구글이나 아마존닷컴, 마이크로소프트 등의 대기업의 클라우드 자원을 빌려 서비스를 운영하는 편이 차후에 서비스의 규모가 커졌을 때 대처하기 편하다. 서버 세팅/확장 등은 신경쓰지 말고 서비스 운영 자체에만 집중할 수 있게 해 준다. 컴퓨팅 자원을 마치 전기 끌어다 쓰듯이 쓸 수 있도록 해 준다고 보면 된다.

또한 이러한 서비스를 이용한 실상품으로는 구글에서 추진하고 있는 크롬북이 대표적이다. 크롬북은 컴퓨터 전원을 켜면 크롬 브라우저 하나만[4] 덩그러니 실행된다. 다른 프로그램은 어떻게 쓰냐고? 클라우드에 접속하면 문서도구, 그래픽, 게임을 불문한 모든 작업이 가능하다. 컴퓨터에 아무것도 저장하지 않은 상태로 오직 클라우드 내에서만 구글 크롬 스토어에서 취급되는 앱들을 비롯한 다양한 클라우드 앱을 이용할 수 있으므로 굳이 프로그램을 깔아서 쓸 필요가 없다는 컨셉이다. 다만 크롬북은 모든 작업을 웹과 클라우드상에서 처리하다 보니 인터넷이 없으면 말 그대로 깡통이 된다는 치명적인 단점이 있다.

애플의 맥북 에어도 어떻게 보면 비슷한데, iCloud, 드롭박스 등의 여러 클라우드 서비스 등장으로 굳이 하드 탑재로 용량을 늘릴 필요가 없어졌기에 맥북 에어의 경우 두께를 위해 용량을 희생하고 그 두께의 거의 모든 부분이 배터리 확충에 치중되고 있다. 저장 용량이 중요하지 않고 되려 사용자의 편의성과 직결되어 있는 배터리 양이 더 중요하다는 것이다. 다만 크롬북과는 달리 인터넷에 연결되지 않아도 웬만한 건 다 할 수 있기 때문에 아래에 서술된 클라우드의 단점 역시 어느 정도 극복할 수 있는 형태라는 결정적 차이점을 가진다.

과거 펜티엄 I급 컴퓨터를 어떻게든 더 오래 써먹으려고 큰 서버 2-3 대나 메인프레임 1대에 수십대를 연결해서 써먹은 만파식적이라는 프로그램이 있었는데, 대한민국 최초의 상용 클라우드 컴퓨팅 시스템으로 알려져 있다.

3 그리드 컴퓨팅과는 다르다, 그리드 컴퓨팅과는!

왠지 그리드 컴퓨팅이라는 개념과 혼동하는 경우가 많은데, 분산처리라는 점에서는 같으나, 다음 면에서 큰 차이를 보이고 있다.

  • 그리드 컴퓨팅은 '분산'에, 클라우드 컴퓨팅은 '중앙집중'에 초점이 맞춰져 있다. 그리드 컴퓨팅은 프로그램을 돌릴 때 프로그램에 들어가는 자원을 여러 컴퓨터로 분산시키고, 반면 클라우드는 프로그램을 돌릴 때 중앙 데이터 센터에서 여러 컴퓨터의 자원을 일괄적으로 관리 분배한다.
  • 그리드 컴퓨팅은 자원 자체가 흩어져 있기 때문에 중간에 해커가 개입될 수 있지만, 클라우드 컴퓨팅은 자원이 중앙집중 및 가상화되어 있기 때문에 이런 일이 불가능하다. 클라우드를 해킹하려면 어차피 네트워크 전체를 침입해야 하는데, 중간에 방화벽에 막히기라도 하면 말짱 도루묵. 또한 클라우드 컴퓨팅은 용량과 성능의 제약에서 벗어나게 되므로 운영체제 레벨의 보안 처리와 함께 예외처리 떡칠을 해버리게 되면 암호 문제나 내부적인 문제를 제외한 모든 침입면에서는 해커들이 떡실신 당하게 된다. 물리적으로 데이터 센터 내부에 직접 접속하거나 협조를 얻으면 몰라도, 최소한 단말기로 하려는 원격 소프트웨어 해킹 시도는 불가능에 가까울 것이다.


또한 슈퍼컴퓨터와도 혼동하는 일이 있는데, 슈퍼컴퓨터는 전용 OS를 이용하여 모든 노드를 하나로 묶는 반면 클라우드 컴퓨팅은 각 노드마다 OS가 따로 깔리고 상호간 처리는 클라우드 미들웨어 간의 네트워크 전송으로 해결한다. 물론 슈퍼컴퓨터를 여러대 연결해서 그걸 클라우드 컴퓨팅으로 돌리는 것도 가능하고, 외부에서 보면 슈퍼컴퓨팅이나 클라우드 컴퓨팅이나 그게 그거다.

4 요즘 뜨는 떡밥, 하지만 뜨거운 감자

2000년대 들면서 급부상한 IT떡밥 중 하나이나, 정작 통신 보안쪽으로는 크게 골머리다. 클라우드 컴퓨팅 환경에서는 사용자의 개인 정보가 클라우드에 저장되면 사실상 사용자가 그 정보의 위치를 통제할 수 없기 때문.[5] 이를 리처드 스톨먼이 딱 한 단어, (Trap)으로 지적한 바 있다. 덧붙여 사실상의 처리를 사용자의 시스템에서 처리하지 않기 때문에, 통상 시스템에 비해 트래픽이 증가하게 된다. 인터넷 종량제라도 시행했다간...컴퓨터를 켜는 거 자체가 요금 그나마 대부분의 트래픽이 클라우드 내에서 처리될 수 있다는 점에선 그리드 컴퓨팅에 비해 약과. 그리드 컴퓨팅의 경우 처리되는 모든 트래픽을 떠안아야 한다.

여하튼 가벼움이 가장 큰 장점이고, 보안 전문가들이 공밀레가 되는 대신에 일반 사용자는 보안에 그다지 신경을 쓸 필요도 없기에 MS의 Microsoft Azure를 필두로 여러 곳에서 적극 도입이 진행 중. 아파치 재단의 프로젝트인 Hadoop 및 관련 프로젝트들은 이걸 오픈소스로 구현한 것이다.

IT관련 리서치 그룹인 가트너 사(Gartner, Inc.)가 선정한 2010년 전략기술 TOP10에서 1위를 차지했다. 참고로 2009년엔 2위.

5 음모론 같지만 충분히 실현 가능한 치명적인 단점

클라우드 컴퓨팅에는 개인목적으로 저장해둔 데이터들이 사용자 본인이 아무리 관리를 철저하게 한다 해도 하루아침에 사라지거나, 전혀 상관없는 제3자에게 공개될 수 있는 매우 치명적인 단점이 존재한다. 이러한 문제가 발생하는 원인은 전적으로 당신의 데이터를 관리하는 회사에게 있다. 즉 클라우드를 관리하는 회사가 망하거나, 변심하거나, 관리를 소홀히 한다면, 음모론처럼 들리는 이 단점이 곧바로 현실이 된다.

관리소홀로 인해 데이터가 통째로 증발한 사례는 이미 현실에서 실현되었다. 일본 퍼스트서버 사고가 그것이다. 클라우드 서비스 업체가 5698개 기업의 데이터를 몽땅 날려먹은 초대형 사고가 발생하였다.

사용자의 모든 정보는 클라우딩 서비스를 지원하는 해당 회사의 서버에 모든 데이터를 저장해둔다. 심지어 그 데이터가 어느지역 어느서버에 있는지도 알 수 없다. 그런데 이 서버를 관리하던 회사가 부도가 나버릴 경우, 대규모의 회사는 어디론가 팔려가서 데이터가 유지될지도 모르지만, 대부분은 그대로 공중분해되어 하루아침에 모든 데이터가 사라지는 비극이 벌어질 수 있다. 거기다가 막말로 그 데이터 담아둔 서버가 전부 본사가 직접 갖고 있는 서버여야만 한다는 법도 없는 현실에, 어느 클라우드 회사의 하청을 맡아서 서버 일부를 관리하고 있던 회사에서 데이터를 빼돌린다던지... 아니면 어디선가 망한 회사의 클라우드 서버를 사들여서 저장돼있는 데이터를 개인목적으로 사용한다면... 더 이상의 자세한 설명은 생략한다

차라리 망하면 다행인데 더 끔찍한 비극은 클라우드를 관리하는 회사가 임의로 사용자의 정보를 제3자에게 제공하는 경우다. 회사의 마케팅 차원에서 정보분석용으로 몰래 사용할 수도 있고[6], 특정국가의 수사 협조를 명목으로 공공기관에 임의로 데이터를 공개할 수도 있고[7], 회사의 임의가 아닌 해킹으로 인해 자신의 데이터가 제3자에게 공개되거나[8], 단순한 운영진의 실수로도 공개될 수 있다.[9] 물론 애초부터 개인전용 스토리지로 사용되는 경우가 훨씬 많기 때문에 이런 가능성은 매우 드물다.

어쨌든 이는 클라우드 회의론의 주요 떡밥이며, 이 부분은 전적으로 회사의 이미지와 직결되기 때문에 회사 규모가 크고 좋은 이미지가 쌓인 회사일수록 서버 관리에 철저해질 수밖에 없다. 자의든 타의든 유출되는 순간 그 회사의 이미지는 나락으로 떨어진다.

그렇기 때문에 클라우드의 선택기준은 빵빵한 무료용량보다는 회사의 신용도가 더 중요한 선택 기준이 된다. 그리고 어떤 보안이든 부주의와 내부 침입에는 취약하니 진짜 중요한 데이터는 클라우드 이외의 매체에도 따로 보관해야 한다.

6 국내에서의 연구

국내에서는 네이버Daum, SKT, KT 등 일부 대기업에서 적극적인 개발에 뛰어들고 있었지만 교육계선 그다지 호의적이지 않았어서 2011년만 해도 극히 일부 대학이 가르치는 형편이었으나[10] 2012년부터는 한국에서도 도입하는 업체 및 연구기관이 많아졌다. 특히 빅 데이터(Big Data) 분석에 대한 요구가 크게 증가하여 각종 학회가 난립(…)하기 시작했다. 관련 도서의 수도 크게 증가하여 Hadoop뿐만 아니라 Mahout, HBase 등 Hadoop 관련 프로젝트들에 대한 도서가 많이 발간되었다. 직접 쓰고 싶다면 Hadoop 사이트에서 직접 다운로드해 VirtualBox 등을 통해 써도 되고 KT MapReduce를 빌려서 써도 된다.

7 클라우드 서비스 목록

8 기타

구름이란 의미답게 정의도 뜬구름 잡는 듯한 것이 많다. 용어 자체가 굉장히 넓은 범위를 포함하고 있으며, 사람마다 정의하는 의미가 전부 다르다. 실제로 관련 서적을 봐도, 기본적인 내용은 다 같을지라도 세부적인 정의가 전부 다 다르다.

K모 대학에서 관련된 강의를 했었던 기업에서 실무를 담당하고 있는 누군가의 말을 빌리자면, "누군가와 클라우드 컴퓨팅에 대해 토의할 일이 있으면 시간의 80%를 그 사람이 생각하는 클라우드와, 내가 생각하는 클라우드를 비교하는데 쓴다"라고 했을 정도로 사람마다, 기업마다, 부서마다 생각하는 게 다르다.
  1. 이 구조가 최근까지 사용된 것이 다름아닌 PC통신이다.
  2. 이해가 안 간다면, 위의 그림에서 인터넷(클라우드)을 메인 컴퓨터로 바꿔보자.
  3. 빠른 개인용 컴퓨터 8만 대가 제일 빠른 슈퍼컴퓨터랑 비슷하다.
  4. 엄밀히 말하면 운영체제가 실행되면서 크롬브라우저만 실행되도록 세팅한 리눅스운영체제, 컴퓨터를 켜고 로그온 화면에서 로그온 하면 바탕화면 대신 크롬브라우저만 보여지는 환경이다.
  5. 이 점은 OwnCloud라는 설치형 클라우드 스토리지를 쓰면 어느 정도 해결되긴 한다. 일단 파일이 자신 혹은 아는 사람의 웹서버 디렉터리 내에 저장되니 정보 위치 통제가 쉬워진다. 대신 다른 클라우드 스토리지보다 삽질이 귀찮을 뿐이지... 다른 클라우드 스토리지에선 가입만 하면 장땡이나, 이놈은 웹 서버 프로그램 깔고, PHP, MySQL 깔고 필요하면 자체 설정까지 해야 되는 물건이다.
  6. 클라우딩은 아니지만, 애플은 현재위치정보 무단수집으로 문제가 된 적이 있다.
  7. 특히 중국은 대놓고 해당 회사에게 외압을 넣는걸로 유명하다. 게다가 한국 국내법에서도 얼마든지 클라우드 컴퓨팅 회사의 서버를 압수수색하거나, 데이터 송부를 요청할 수 있다.
  8. 미국은 프리즘 프로젝트로 클라우드 서버를 해킹해 정보를 빼냈다.
  9. 이글루스의 비밀글 유출사건을 생각하자.
  10. 이건 서버값이 비교적 싼 탓에 필요성을 느끼지 않은 탓이 크다.
  11. 대용량 저장소 역할도 하지만 주로 애플 기기간의 실시간 연동에 초점을 맞추고 있다. 예를 들어 아이폰으로 사진을 찍으면 아이패드와 맥에서 바로 사진을 확인할 수 있다. 문서 수정, 일정 변경 등의 작업이 모든 애플 기기간에 실시간으로 공유된다. iOS 기기의 경우 실시간 백업 및 복원도 할 수 있다. 옵션에서 아이클라우드를 켜놓기만 하면 유저들은 따로 조작을 하지 않아도 된다는 것이 다른 클라우드 서비스와의 차이점이다.
  12. 사실 Apache Hadoop과 Microsoft Azure가 양립하고 있으며, 나머지는 모두 파생된 것이다. Hadoop도 원래는 Google의 것이 원조. 구글의 분산 파일시스템을 구현하다 보니 점점 커지다 독립된 소프트웨어 생태계로 나간 것.
  13. 발매직후 이점 때문에 서버 에러가 일어나 엄청나게 욕먹고 있는 현실. 일단 심시티 자체에서 게임 저장과 더불어 사용자가 만드는 CPU 부하도 맡아서 처리한다. 이 문제는 서버 증축같은 방법으로 많이 해결됐지만 이번 패치 10으로 서버와 통신하지 않는 오프라인 모드가 추가되었다.
  14. Gaikai와 합병