클라우드 개념 얘기 하기에 약간 늦은 감이있지만... 다른글 쓰다 필 받아 한번 정리해봅니다..


 클라우드, 클라우드 하는데 그게 뭐지?

    아이클라우드(iCloud), 다음클라우드, 유클라우드(KT), T클라우드 등 요즘 많이 들리는 클라우드란 클라우드 컴퓨팅을 말합니다. 클라우드 컴퓨팅은 사용자가 필요한 컴퓨팅을 위한 제품(H/W나 S/W)를 구매하는 개념에서 네트워크 기반으로 서비스 받는 개념으로 바뀌는 것을 말합니다.



  예를 들어 디지털카메라로 인물사진 찍었다고 합시다. 그런데 사진을 찍을때 플래시가 터져 적목현상으로 눈이 빨갛게 되었네요. 이 사진을 이미지 편집을 통해 적목현상을 수정한뒤 보관하고 싶습니다. 무엇이 필요하고 어떻게 해야 할까요?

  1. 먼저 컴퓨터가 있어야하고
  2. 포토샵 같은 프로그램도 있어야 하고
  3. 메모리를 카메라에 연결해서 읽어낸뒤
  4. 포토샵에서 열어서 수정 후 저장해야 합니다.
  5. 이렇게 저장한 이미지들은 나중에 찾기 쉽게 적절히 관리해줘야 합니다.
  6. 디스크 고장에 대한 대비도 해야 합니다. DVD로 백업을 하거나 별개디스크로 이중 복사를 해둬야 하는거죠. 그리고 개수가 점차 많아지만 다시 관리의 고민도 늘어납니다.

이렇게 사용자는 포토샵도 구매해야 하고, 디스크도 구매해야하고, 공 DVD도 구매해야하고 보관작업도 해야 합니다.

여기서 실제 사용자가 진정 필요한 것은 무엇일까요?

   포토샵도 아니고 추가 디스크나 DVD도 아니며 그저 간단한 편집과 안심할 수 도록 사진파일을 잘보관해 주고 언제든 필요할때 편리하게 볼 수 있도록 해주는 것입니다.

  이렇게 사용자가 진정 원하는 바에 주목하는 것이 클라우드 컴퓨팅입니다. 영어 클라우드(Cloud)의 본래뜻인 '구름'처럼 안을 들여다 볼 수 는 없지만 그안에서 알아서 사용자가 원하는 서비스를 언제 어디서든지 네트워크를 통해서 제공받게 하는 서비스를 말하는 것이죠.  그리고 사용자는  제공받은 서비스 만큼 비용을 지불 하면 됩니다.

앞서 예를든 사진을 찍어 편집 보관까지 잘 해주는 서비스는 이미 존재 합니다.


 대표적인 사진관리 클라우드 Flickr와 Picasaweb 서비스

  앞서 예를들 사진 저장및 편집서비스를 제공하는 Flickr 사진 클라우드 사용 서비스 사용 데모 영상을 만들어봤습니다.

 아래 영상에서는 여러 해에 걸쳐 촬영된 사진들을 모두 올려놓아서 날짜별로 찾아보는 내용과 그중 편집이 필요한 하나의 사진을 골라 적목현상을 수정한뒤 다시 저장하는 과정을 보여 주고 있습니다.





   Flickr는 컴퓨터는 물론 스마트폰 등에서 사용자의 사진을 올리고 보관해주는 것은 물론 촬영시간, 촬영지역별 조회, 슬라이드쇼를 웹으로 제공하고 picnik이란 웹 기반 편집프로그램과 연동하여 편집 서비스도 제공합니다. (구글의 Picasa도 동일합니다.)

그리고 SNS 개념도 같이 도입하고 있어 사진을 중심으로 커뮤니티를 구성하거나 공유하는 작업을 편리하게 할 수 있도록 서비스를 제공하고 있습니다.

Flickr 모바일 웹



 플리커(flickr)의 사진 보관은 무료와 유료 서비스로 나누어지고 무료인 경우 월간 최대 300MB와 2개의 동영상을  업로드 할수있고 최대 200매의 이미지스트림만 볼 수 있지만 유료로 가입하면 무제한 사진 업로드및 무제한 원본 이미지 보관 서비스로 사실상 개인의 일생의 모든 사진을 올려 놓을 수 도 있습니다. 제 개인적으로는 유료가입자로 2년이 넘게 사용중입니다. (요금은 1년에 $24.95 입니다.) 혹 중간에 유료가입이 중단 되더라도 원본이미지를 삭제 하지 않으며 다시 유료가입하면 이전에 올린 모든 파일원본에 접근이 가능해 집니다.

 클라우드 서비스 종류는 다양하다.

  요즘 대두되고 있는 애플의 아이클라우드(iCloud)는 새로운 아이폰 OS인 iOS5 발표와 더불어 함께 출발한 서비스 입니다. 아이폰에 저장된 사용자의 다양한 데이터(연락처, 메모, 사진, 일정, 앱)등을 알아서 애플의 서버로 동기화하고 보관해 주므로써 사용자는 기존처럼 케이블을 연결하는 불편한 절차 없이 바로 PC나 또 다른  스마트 기기등에서 쉽게 조회할 수 도 있고, 불의로 스마트폰을 분실 파손하거나 하는 등의 문제가 발생하더라도 애플 아이클라우드에 안전하게 보관된 데이터로 복원할수있는 서비스 입니다. 

 이런 애플의 아이클라우드가 주는 가장 편리한 이점은 더이상 특정 PC와 짝을 이뤄 동기화 할필요가 없다는 것입니다. 주 동기화PC 따로 조회전용 PC 따로 하면서 복잡하게 고민할 필요도 없고 그저 클라우드로 보내 버리면 그만 인거죠. 그리고 어디서든 네트워크만 연결되면 받아 볼 수 있습니다.

애플은 아이클라우드를 위해 기본적인 공간은 무료로 제공하지만 일정사용량이상을 넘어서면 사용자 유료로 공간을 구매해야합니다.

  다음클라우드나 KT의 유클라우드는 뭘까요? 둘다 스토리지 서비스 클라우드 입니다. 네이버의 N드라이브도 같은 개념이죠. 사용자는 데이터 이동및 보관을 위해 외장디스크나 USB메모리를 사용하던것을 스토리즈 클라우드 서비스로 보내버리고 어디서는 다시 내려 받아볼 수 있는 서비스 입니다. 만일 동영상이라면 바로 플레이를 해준다거나 사진이라면 슬라이드 쇼로 보여 주기도 합니다.  이러한 스토리지 클라우드 서비스는 기본적인 수준의 클라우드 서비스라고 보면 됩니다. 어떤 부가 서비스를 하던지 스토리지는 기본이 되니까요.


 클라우드 서비스는 오래전부터 있어왔다.

   클라우드가 지금에서 대두되고 있지만 사실 오래전부터 있어왔습니다. 순수 클라우드 컴퓨팅이란 개념은 이미 1960년대 부터 있어왔고, 우리가 피부로 느끼는 클라우드에는  대표적으로 웹메일 서비스가 그렇습니다. 언제부터인가 메일은 회사에 전용 메일서버와 전용메일 프로그램을 사용하다가 웹으로 이동하기 시작했습니다. 개인들에게 메일계정을 나눠주기 시작했고 개인들은 웹을 통해 손쉽게 메일에 접근할 수있었죠. 대표적으로 다음(Daum)이 웹메일 서비스로 성장한 회사입니다. Daum은 한메일이라는 국내 최초의 무료 웹메일서비스를 시작했고  이즈음에는 네티즌 치고 이 회사의 웹메일 계정을 안가진 사람이 없다시피 했습니다.  하지만 Daum이 시장지배력이 높아지자 웹메일에서 수익을 창출하고자 온라인우표라는 이상한 개념을 집어넣어 돈을 받으려고 하였고 이에 많은 다른 인터넷 서비스 업체들이 한메일을 거부 움직을을 보였고 그만큼 사용자들은 Daum메일에서 벗어나기 시작했습니다. 

  어째든 웹메일이야 말로 대표적인 사용자 클라우드 서비스입니다. 사용자는 그저 간단히 웹으로 가입만 하면 바로 편리하게 사용가능하고 어디서든 네트워크만 되면  접근이 가능하니까요. 게다가 요즘은 제공되는 용량도 엄청나서 거의 무한정 보관이 가능합니다. 야후 웹메일같은 경우는 용량이 무제한이죠.

 웹메일뿐아니라 개인홈페이지나 개인블로그 역시 클라우드 서비스로 보는 것이 맞을 것 같습니다.  이렇게 이미 우리는 많은 클라우드 서비스의 혜택을 받고 있습니다.


 기업을 위한 클라우드 서비스도 있다.


출처: wikipedia



    개인 뿐 아니라 회사를 위한 클라우드 서비스도 있습니다. 최근에 대표적인 것으로는 아마존 웹 서비스(Amzon Webservice)나 구글의 앱엔진(App Engine)이 있습니다. 그리고 삼성이 채택하기로 해서 유명한 마이크로소프트의 애저(Azure) 서비스도 있죠. 국내에서는 KT 클라우드 서비스가 있습니다. 이들은 모두 기업이 필요로 하는 비즈니스 컴퓨팅 필요한 요소(서버,데이터베이스,웹기술,네트워킹,스토리지 등의 리소스와 관리)들 과 컴퓨팅 처리를 묶어 기업들에 제공하는 형태입니다.  결국 서버나 네트워크 관리, 대용량 데이터베이스, 네트워크관리 등 다양한 물리적인 관리에 대한 어려움을 잊고 본래의 비즈니스에만 집중할 수 있도록 한다는 개념입니다. 이러한 클라우드 서비스를 기반으로 회사의 웹기반 시스템등을 구축하게 되면 개발자들은 개발단계에서부터 이러한 클라우드위에 올려질것을 염두하고 개발하기 때문에 초기 개발환경 구축에 대한 부담도 덜고 경험부족등으로 인한 발생하는 다양한 운영시점의 반복적 실패를 최소화할 수 있게 됩니다. 그 만큼 비용도 절감할 수 있을거라는 개념입니다.(장기적 관점에서 과연그럴지는 두고 봐야 겠지요)


 그런데 왜 지금 시점에 클라우드가 대두되는가?

   이유는 기업의 관점도 있고 개인의 관점도 있겠지만 개인측면에서 보면 스마트폰이 확산이 주요한 원인이라고 봅니다. 

   지금과 같은 아이폰이나 안드로이드폰 이전에도 스마트폰은 존재했지만 실제 휴대폰시장이 판도를 바꿀만큼 위협적이지는 않았습니다. 하지만 애플이 만든 아이폰 앱 생태계는 스마트폰에 대한 생각을 바꿔놓았습니다. 스마트폰이 한결쉬워지고, 다양한 프로그램(앱App)이 유통하기 좋아지면서 개발자는 쉽게 배포(판매) 하고 사용자는 쉽게 구매하면서 많은 개발자들이 앱스토어에 참여했고 수익을 창출하기 시작했습니다. 그만큼  사용가능한 컨텐츠(앱, 웹앱)은 늘어났고 사용자들도 계속 늘어났습니다.

   그러면서 스마트폰은 생활깊숙히 들어오기 시작했으며 기존의 디지털기기들을 모두 통합한 하나의 만능기기가 되었습니다. PMP, MP3 Player, Ultra PC 들은 모두 스마트폰의 확산으로 인해 타격 받았습니다. 그리고 잘나가던 휴대용 게임기 회사(닌텐도, 소니)들도 위협받기 시작했습니다.

  이제는 마치 스마트폰이 생활의 중심처럼 되버린 지경(?)에 이르렀습니다. 이렇게 되면서 사용자들의 스마트폰에서 많은 정보를 만들어내고 스마트폰에서 다시  보게 되었습니다. 이전에는 정보공유의 시작점이 대부분이 PC였다면 지금은 스마트폰이 많은 부분 대신하고있습니다.  인터넷 검색도 이제는 PC가 아닌 스마트폰에서 언제 어디서건 검색합니다. SNS 접근도 PC 보다 스마트폰이나 스마트패드를 더 선호하는 이들도 많습니다.  어느 조사에서는  아이패드가 잠자기전 침대위에 있을때 가장 사랑(?)받는 스마트기기라고 하더군요. (잠들기전 느긋하게 침대위에서 그날의 뉴스를 펼쳐보면서 정리하는 것도 나쁘지 않아보입니다. )

  그렇지만 스마트폰은 
여전히 여러 디지털 디바이스중 하나 일 뿐입니다. (적어도 화면 크기와 편리한 입력 때문에) PC를 완전히 대체하기도 어려워 보입니다.  즉 스마트폰, 스마트패드, 스마트TV, 노트북(PC) 등은 각자의 영역에서 사용되고 대신에 사용자들은 이러한 자신의 주변에 많은 스마트기기들에서 자신의 정보에 편리하게 접근하고자 할것입니다.

  즉 물리적으로 여러개의 디지털 디바이스를 갖고있지만 사용자들은  통합된 하나의 개인데이터에 접근하길 원하게 된다는 것입니다. 결국 통합된 스토리지가 필요하게 되고 이는 다시 다양한 디바이스의 UI조건에 맞게 디스플레이 되길 원할것입니다. 

그렇기 때문에 이러한 통합된 데이터 서비스를 위해 클라우드가 각광받게 되는 것입니다.
   스마트폰에서 사진을 찍어서 네이버의 N드라이브에만 올리면 스마트TV에서 사진을 웹으로 보거나, PC에서 내려 받아 프린터를 하거나 사진인화 주문을 할 수도 있게 되는 것입니다. 물론 다른 이들에게 보내는 것도 편리하게 되죠. 아니면 자주 듣는 음악 파일을 넣어두고 네트워크를 통해 스마트폰에서 스트리밍으로 들을 수도 있으며 영화파일은 TV에서 볼 수 도 있겠지요.

   결국 최근의 많이 등장하는 클라우드 스토리지 서비스 급증 원인은 개인의 다양한 디지털기기의 데이터 동기화를 위한 편리한 수단이 되기 때문입니다.

 클라우드 서비스가 좋기만 한가? 문제점은?

   예전에 국내 모 포털의 스토리지 클라우드 서비스 업체 담당자에 고객센터를 통해 이런 질문을 한 적이있습니다. "해당 서비스에 데이터를 전송할때 암호화가 되나요?"   답변은 "안된다" 였습니다. 답변 받은 전송은 물론 저장역시도 암호화는 안되는 것으로 보였습니다. 어디에도 암호화에 대한 언급은 없었으니까요.  그래서 전 해당사이트 서비스에서는 단순히 사진이나 음악파일 정도 보관하는 용도로만 사용해오고 있습니다. 

 개인의 중요한 데이터, 노출되었을때 문제가될 데이터들을 보관하는 것, 과연 안심할 수 있을까? 해킹의 위험으로 부터 안전한가? 해마다 몇건씩 터지는 개인정보 유출 사태를 보면서 심지어 가장 강력한 보안체계를 구축한다는 금융회사마져 사고가 나는 만큼. 사실 어떠한 서비스도 100% 안심은 없습니다.

  이처럼 클라우드 서비스는 "언제어디서나 접근"이라는 이점을 주는 만큼 언제어떻게 새나갈지 모르는 위험을 갖고 있고 갑자기 서비스가 중단되면서 나의 데이터가 손상될지 모르는 일입니다.

그러면 클라우드 서비스는 사용하지 말아야 하나요..?  그것보다는 보다 현명하게 사용해야 할것같습니다.  그래서 다음과 같은 방법을 제안 드려봅니다.

첫째, 보안이 중요한 데이터는 클라우드에 올리지 않는게 좋다. 그럼에도 불구하고 올리고 싶다면 아주 긴 암호를 넣어 압축한뒤 올리도록 한다. 설령 그파일이 유출되더라도 암호를 모르면 풀지 못하도록.

둘째, 추억이 담긴 사진과 같이 소중한 데이터의  데이터 손실이 우려되면 일종의 자료 이중화 개념으로 보관해라 접근의 편리성을위해 클라우드서비스에 올리더라도 개인 PC 디스크에도 여전히 보관해 두는 것이 좋다.


 스토리지 클라우드 서비스는 "편리한 접근과 동기화를 위한 도구"로 보자.


   그외에도 여러가지가 있겠지만 "데이터를 디지털화한다"는 것은 과거에도 그렇고 앞으로도 그렇겠지만 편리한 만큼 항상 쉽게 사라질 수 있다는 근본적인 한계가 있습니다. 따라서 항상 "백업"이 중요하다는 사실을 잊지 말아야 하겠습니다. 그래서 클라우드 스토리지 서비스도 안전한 저장소의 개념이 아닌 "편리한 접근 서비스" 제공처로 생각하는 것이 좋을 듯합니다.

Posted by 퍼니로거 즐건록
개발2010.07.24 01:00



 요즘 구글의 클라우드 플랫폼 서비스인 구글 앱엔진에 대한 관심이 높다. 저 또한 구글 앱엔진이  구글의 여타 서비스 처럼 월 500만뷰 가량이라는  화끈한(?) 용량제공이라는 유혹에 덥썩 물어줬습니다. 

  구글앱엔진 로그인 화면에서 서비스 상태가 아직은 프리뷰 단계라고 표시는 하고 있지만 급한 마음에 실제 서비스를 운영해보기 위해 도메인네임까지 등록 해보았는데.  최종적으로 도메인 네임을 애플리케이션에 매핑까지 완료 해놓고 보면 별것 없지만  처음에 잘못 하면 헤메는 수가 있어서 했던 내용을 간단하게 정리해보려고 합니다.

(하단의 이미지들은 모두 클릭하면 원본사이즈로 볼 수 있습니다.)

먼저 앱엔진은 등록했다는 가정하에 먼저 도메인 네임을 준비해야 합니다.

1. 도메인 네임 미리 준비

  구글앱엔진에서 도메인네임을 매핑하기위해서는 사전에 도메인네임을 준비해두거나 구글에서 등록이 가능한데 이때 구글에서 등록시에는 결제가 안된다는 사실에 주의 해야합니다. 
 - 구글 사이트에서는 아직 도메인네임 구매와 관련해서는 결제 단계에서 국가를 선택할때 대한민국이 빠져있으니 주의 -

  따라서 미리 준비를 해두어야 하며 도메인네임에 대한 IP,CNAME, MX 설정을 직접할 수 있도록 하는 도메인 네임 서비스 업체를 추천합니다. 여기서는 가비아의 경우를 갖고 설명할 계획입니다.

2. 앱 앤진 설정에서 도메인 등록하기


앱엔진 애플리케이션에 도메인을 등록하려면 설정화면에서 Application Settings -> Domain Setup -> Add Domain을 선택합니다.

클릭시 확대 됩니다.


그리고 나면 Add Domain 이라는 화면이 나오는데 조금 헷갈릴 수 있지만 간단합니다.

구글의 앱엔진은 사실 앱엔진 자체를 서비스로 하는 용도 보다. 본래 기업용 Apps 서비스의 확장개념이라고 보는게 쉽습니다. 즉 앱엔진 애플리케이션에 도메인네임을 부여하려면 먼저 해당 도메인에 대한 구글 Apps가 만들어져있어야 합니다. 따라서 구글앱스에 처음 등록하는 도메인네임인 경우에는 먼저 구글 Apps를 구성하기위해 위 화면의 우측 부분에 있는 Sign up for Google Apps 를 클릭하세요.


기존 도메인 이름사용할지, 새로 구매할지가 나옵니다.
이때 기존 도메인을 사용할경우에는 좌측에 "기존 도메인 이름을 사용하겠습니다."에서 도메인이름을 넣고 진행합니다. 다시 말하지만 제가 하던 시점에는 도메인 이름을 구매하려고 했을때 한국에서는 결제가 되지 않는 문제가 있었으므로 별도로 미리 준비하시길 추천드립니다.

그리고 [시작] 버튼을 누르면


이름과 주소 연락처를 넣습니다. 그리고 [계속] (아래 조직정보는 선택입력항목입니다.)

그럼 3번째 단계에서는

관리자 계정을 만들도록 합니다. 관리자 계정은 이후 해당 웹 애플리케이션을 설정하는 용도로 사용됩니다.


그리고 나면 해당 도메인에 매핑된 애플리케이션 관리 대시보드가 나오게 됩니다.

이제 마지막으로 해주어야 할것이 도메인에 대한 소유권 확인 입니다.
상단에 보면 "도메인 소유권을 확인하십이오" 라고 보이며 이를 클릭하면


소유권 최종 확인단계로 들어가는데

상단에 첫번째 빨간 부분을 보시면 "HTML파일 업로드""CNAME 레코드 변경"이 있는데 저는 "CNAME레코드 변경"을 기준으로 설명합니다.

"CNAME 레코드 변경"을 선택했으면 2번에 나온 고유 문자열을 도메인관리 사이트로 이동하여 CNAME 관리란에 이를 입력해주어야 합니다.

예를 들어 가비아 같은경우에는 다음과 같습니다.


가비아에 접속해서 로그인을 하게 되면 도메인관리 화면으로 이동하게 되고 여기에서 보시면 이용 부가서비스라는 곳에 네임플러스 표시가 있는데 이것을 클릭하면 됩니다.

그럼 다음 화면에서 아래쯤으로 내려가면 다음과 같은 CNAME 설정 부분이 나옵니다.


그러면 앞서 구글 앱엔진에서 "도메인 소유권을 확인해주세요"에서 CNAME에 입력할 고유문자열을 좌측(별칭)에 입력하고 값 위치 부분에는 google.com.  (맨뒤에 점을 하나찍어주어야 합니다.) 라고 입력합니다.

그리고 나서 가비아화면의 맨아래 [변경] 버튼을 클릭하면 먼저 가비아측의 도메인 설정에 반영이되고 설정된 화면내용이 확인 되면, 이어서 구글 앱 설정화면으로 돌아가서 [확인]을 클릭해주면 됩니다.

그러면 다시 대시보드로 돌아갔을때 소유권 확인중이라며 최대 48시간 걸린다고 하는데. 해당 호스트명으로(예, google1203u12038102.google.com) 서핑한번 해주면 대개 거의 바로 또는 수분안에 확인완료 됩니다. 안되면 48시간 걸리는 거구요.. ^^;;

이럼 여기까지 하면되구요..  만일 이메일서비스도 자신의 도메인을 통해 서비스 받고 싶다면 도메인관리사이트에 MX 란에 google mail 서버를 추가해주면됩니다.

그럼 즐거운 앱엔진 개발 하세요~


Posted by 퍼니로거 즐건록