2014년 3월 30일 일요일

정부PC에 내년부터 MS윈도 안쓴다 (?)

일단 윤석찬님의 글부터...

"정부, 공개 SW기반 한국형 운영체제 개발 유감" 

안의 링크를 보면 미창부의 해명 자료가 있는데, 결국 공개 OS 개발에 관련된 이야기는 전혀 없고 XP 기술지원 종료 대처에 의한 이야기만 있다.

근데 논의를 하긴 한것 같고...

한국형 OS 개발 소식에 SW 업계 '시끌'

재미있는건 MS가 XP 기술지원 종료 이야기를 꺼낸게 하루이틀 이야기도 아니고 적어도 지난 1년 이전부터 지속적으로 홍보를 했던 것으로 아는데, 결국 정부는 아무것도 안하고 있었다는 이야기가 된다.

물론 XP 가 너무 히트를 친 관계로, 그리고 후속작인 윈도 Vista, 윈도 7, 윈도 8이 지난 10년간 나왔지만 XP의 명성을 따라갈 수 없었던 것은 MS의 잘못이라 볼 수 있겠지만, 적어도 윈도 7이나 8은 개인 사용자들에게는 쓸만하다고 본다. 8을 주로 쓰지는 않고 요즘에 7을 써 보지만 대부분의 어플리케이션 (이라고 해 봐야 오피스랑 회사 그룹웨어랑 몇몇)은 잘 되기 때문.

OS업그레이드에는 다음 요소가 영항을 미칠 것으로 생각한다.
  • XP시절에 구매한 구형 PC. XP는 지금 관점에서는 매우 낮은 사양에서도 잘 동작하므로 (128MB 메모리에서도 잘 동작했던 것으로 기억한다. 이상한 것만 안 띄우면...) 오래된 PC에 고사양을 요구하는 윈도7이나 8을 설치할 경우 일을 못할 정도로 느려질 수 있다. 물론 그에 연결된 관련 하드웨어 (네트워크 카드 및 프린터 등)도 잘 확인해야 하고. 64비트 OS까지 고려하면 깜깜하겠지만...
  • 정부에서 필수적으로 사용해야 하는 각종 소프트웨어. 이건 윤지만씨 블로그의 글에서 잘 설명되어 있는데 (이분 아마 공익근무로 추정이 된다. 나도 공익이긴 했지만 직원PC로 업무를 본 적이 없어서 직접 알지는 못한다) 쉽게 말하자면 한가지 한가지가 모두 ActiveX 로 개발되어서 OS 업그레이드은 고사하고 IE 업그레이드도 못한다는 이야기이다. 이 부분은 해당 지원 업체에게 요구를 해야 겠지만 일반적으로 유지보수 1년 규정이 들어가는 걸 생각하면 2-3년 전에 구축된 것들에 대해서만 IE 9 이상 또는 윈도7 에서 테스트를 하고자 해도 이미 업체가 없거나 인력이 없어서 지원이 어려운 경우도 있을 거라 생각한다. 물론 이것은 여러번 지적되어 왔지만 매우 심각한 문제인 것이, OS 업그레이드를 막는 최대의 요인이라 생각이 든다.
  • 정부용으로 개발된 것이 아니라 기성품을 구매한 경우. 이는 OS 자체에도 해당이 되고 (XP에서 7이나 8로 가는 건 공짜가 아니다) 오피스 (2003도 마찬가지로 지원 종료 된다. 아마 2000이나 오피스 97 쓰는데도 꽤 있을 거라 생각한다. 서비스팩은 생략) 빼고는 아마 아래한글이 제일 클거라 생각이 되는데 이건 사실 돈과 시간, 그리고 기존 하드웨어가 잘 지원하는지의 여부가 문제이다.
사실 위와 같은 요인을 생각한다면 이 시점에서 공개OS 운운 이야기가 나오는 걸 이해할 수 없다. 왜냐하면 위에 나열된 요인에서 공개 OS 내지 데스크탑이 필요한 이유를 알 수 없기 때문이다. OS가 오래 되었으면 업그레이드하는 건 당연한 일이고 (PC방에서도 한다. 라이센스 정책 때문에 분쟁이 있긴 하지만 PC방에서 XP구매를 더 이상 못한다고 게임을 돌릴 수 있는 자체 OS를 만들자고 하는 이야기는 아마 없을 것이다... 추가: PC방에서 쓰자는 기사도 있군요) 하드웨어도 노후하면 교체하는 것이 당연하다.

"한국형" 이라는 수식어에 다른 것들을 붙이면 참 이상한 의미로 변질되기 쉬운데 -- "한국형 오픈소스"라든가 "한국형 클라우드" 라든가 "한국형 리눅스"가 무슨 의미인지 생각해 보자 -- 아마도  다음과 같은 생각에 기반을 두고 있을 거라 본다.
  • XP 에서 7이나 8로 업그레이드하려니 돈이 너무 많이 든다 (당연하다 10년동안 묵혀둔걸 한꺼번에 해결하려 하니 OS, 어플리케이션, 하드웨어 모두 업그레이드해야 한다)
  • 아마 리눅스 기반으로 바꾸면 구형 하드웨어에서도 잘 동작할 거다
  • 이참에 한국형 공개 OS 개발하면 아마 프로젝트도 많이 생기고 정부 용도의 OS및 관련 어플리케이션을 다 바꾼다면 그것 만으로 많은 SI 수요가 생길 것이라 예상
일단 한국형 공개 OS부터 이야기해 보자. 류창우씨의 블로그 글에서 볼 수 있듯이 90년대 말 공개 소프트웨어 내지 오픈 소스라는 말이 쓰여지고 리눅스가 알려진 이래 국산 리눅스 내지는 국산 리눅스 기반 데스크탑의 수요는 없지 않았고 (나도 오래전에 이쪽 일을 잠시 했었지만) 정부에서 주도하는 형태로 프로젝트 내지는 국책 연구소의 개발 항목으로 자리잡았던 것으로 기억한다. 99년부터 2000년대 초까지 사실 몇번 미팅에 초청받아서 회의도 하고 (참석자에게 참석비를 주는건 마다하지 않지만...) 모 프로젝트의 제안서에 몇번 의견을 주기도 했는데, 결국 문제는 다음과 같은 것으로 귀결된다 할 수 있다. 류창우씨가 이미 잘 지적한 부분을 제외하고 내 생각을 추가하면,
  • 모든것이 입찰과 업체 선정과 몇개월간의 프로젝트로 진행이 된다. RFP의 목표만 달성하면 된다는 식으로 진행이 되므로, 오픈 소스 프로젝트의 가장 큰 장점인 "커뮤니티의 관심이 있는 한 라이프타임이 유지된다"의 속성이 애초에 먹히지 않는다. 프로젝트 고도화가 또 나오긴 하지만 같은 업체가 한다는 보장도 없으니 지속성 자체가 없다.
  • 그 결과물을 평가하는데 오픈 소스에 얼마나 관련이 되었는지, 새로 만들어진 부분이 업스트림에 반영이 되었는지에 대해서는 평가하지 않는다. 즉 기존의 오픈 소스를 통해 만들어진 부산물일 뿐이고 추후 업그레이드는 기대할 수 없다. 업그레이드를 위해서는 또 프로젝트를 발주한다.
  • 위에 관련된 이야기지만 업스트림은 고사하고 국내 커뮤니티에조차도 결과물을 돌려주지 않는다 (번역 등)
그리고 기본적인 전제가 잘못되었는데 "공개 SW기반 한국형 OS"(전자신문의 표현을 그대로 믿는다면)이 무엇을 말하는지 조차도 불분명하다. 요즘의 OS의 정의라고 하면 넓은 표현에서 대략 다음과 같이 표현할 수 있는데,
  1. OS의 근간을 이루는 커널과 관련 유틸리티들 (Linux의 경우 linux kernel, gcc, binutils, fileutils 상당. BSD같으면 기본 배포본의 설치 요소)
  2. 1에 설치 프로그램과 패키징 시스템, 부가적인 유틸리티를 조합해서 내놓는 "배포본" (CentOS, Debian 등의 리눅스 배포본, BSD같으면 FreeBSD나 NetBSD등)
  3. 1,2에 해당되지 않은 부분을 추가하여 이용성을 높인 또 다른 배포본 (Debian 계열의 ubuntu, ubuntu에서 다시 kbuntu, Redhat Enterprise 기반의 CentOS, FreeBSD기반의 PC-BSD 등이 해당)
정부에서 이야기하는 것은 어떤 부분일까? 아마도 3에 해당한다고 생각한다. 왜냐 하면 1)을 개발하는 것은 분명히 아니겠고(시간과 인력, 그리고 지식 기반을 생각할 때) 2)도 제대로 개발해 본 적이 없다. 따라서 현실적인 선택은 기존 적당한 배포본 (CentOS나 ubuntu. 데스크탑 용도라 생각하면 아마 ubuntu 기반이 논의될 가능성이 크다 하겠다)을 고르고 그 위에 정부에서 필요한 어플리케이션이나 보안 설정을 추가하는 정도라 말할 수 있는데 그걸 "공개 SW기반 한국형 OS"라고 부를 만큼 거창하다고 생각이 들지 않는다. 그냥 전세계 누구나 만드는 (심지어 개인도 만드는) 수많은 배포본의 하나일 뿐이다. 잘 된다면 중국의 우분투 기반의 Kirin OS 정도가 되지 않을까 (물론 이쪽은 모바일 용도가 크므로 포커스는 다르다 생각이 되지만) 보는게 현실적인 예상일 것이다. 그외 다른 OS에는 아마 관심들도 없을 것 같으니 (BSD라든가 안드로이드의 AOSP라든가. AOSP는 데스크탑용이 아니고 하드웨어의 포커스가 애초에 다르므로 1과 2에 해당되는 작업이 될 거고 이는 들이는 시간과 노력 대비 하지 않는게 맞다)

물론 그것만으로도 의미가 있다 생각할 수 있겠지만 지속적으로 유지 보수해 주지 않으면 XP보다 더 큰 문제를 맞이할 수 있다는 점에서, 그리고 커뮤니티에 대한 피드백을 거의 기대하지 못할 거라는 점에서 굳이 오픈소스라는 말을 쓸 필요도 없다고 생각한다. 그리고 앞서 이야기한 하드웨어 호환성 이슈 (네트워크 카드나 프린터 드라이버 등)의 문제로 실무적으로는 거의 받아들여지지 않을 개연성이 크다.

대안이라 한다면 사실 윤석찬씨 글에 동의하는 바가 큰데, 순서대로 가려면
  • 기존 OS, 어플리케이션 업그레이드 및 기존의 구 버전 IE + ActiveX 로 구성된 사이트에서 최신버전 IE 기반으로 전환.
  • 향후 기능 업그레이드는 웹에서 동작해야 하는 경우 최대한 최신 IE와 Firefox, Chrome 등의 메이저 브라우저에서 동작하도록 각종 RFP에 명기 (자연스럽게 HTML5 기반이 될 거고 다수 브라우저에서 테스트해야 ActiveX등의 플러그인을 쓰지 않을 수 있다)
  • 어정쩡하게 브라우저 기반으로 만들기 보다는 아예 어플리케이션으로 동작하도록
이렇게 몇년 하고 Windows OS 업그레이드와 플러그인 제거가 확인이 되면 그제서야 다른 OS/배포본을 투입해도 의미가 있을 거라 본다 (하드웨어 호환 문제는 계속 존재 하겠지만). 따라서 OS는 가장 끝에 고려할 사항이고, 그 전에는 일단 동작하고 있는 어플리케이션 문제를 최우선시해야 하므로 구형 OS와 구형 IE에서만 동작하는 프로그램 부터 고쳐 나가야 할 것이다. 만약 브라우저 의존성 없이 이용이 가능하다면 사실 그 시점에서 윈도든 맥이든 리눅스든 iOS든 안드로이드든 관계가 없으므로 사용자의 선택에 맡겨도 되는 일이라 본다.






FF X Remaster (PS Vita, X, X-2 동봉판) X 클리어, 보너스 오디오 등

FF-X Remaster (Vita) 일단 엔딩은 봤다. 일단이라고 말한건 나머지 진행 안한 요소가 많아서.. 사실 스토리야 십년도 넘은 것이고 루리웹 동영상 (아마 내가 루리웹을 알게 된 게 FFX의 동영상 다이제스트 때문이 아니었을까 싶은데) 때문에 사실 스토리에서 중요한 동영상은 엔딩 포함해서 다 보았는지라 처음 보는 감흥은 없었지만, 만약 이걸 그때 처음 클리어했다면 감상은 매우 달랐을 거라 생각한다.

예전에 봐서 익숙한 동영상 (아니면 이수영의 노래에 맞춘 뮤직 비디오라든가)들이 어떤 시점에서 터지는지는 몰랐는데, 베베르 궁 클리어 직후의 호수가에서의 장면, 그리고 대 유우나레스카 전에서의 아론의 외침, 그리고 엔딩에서 잠시 지나가는 티더의 우는 모습이 기억에 남는다.

사실 세계관이나 스토리는 참 암울하기 그지 없는데, 일부 밝은 캐릭터와 화사한 색감, 그리고 PS1 -> PS2로 넘어오면서 PS2 게임은 이런 거다! 라고 자랑하는듯 쓰인 3D 렌더링은 당시 파판 게이머에게는 충격의 도가니였을듯. 그러고 보니 FFX에 대해 처음 알게 된 게 99년에 일본 갔을 때 편의점에 붙어있던 포스터였던가. 그리고 일본 살 때 PS2로 베베르궁 ~ 정화의 길까지만 진행하고 더 이상 진행을 못했는데 이제서야 끝까지 진행하게 되었다.

결국 이후에 파판을 처음부터 해 보기 시작했고 이제 1,2,3,4,5,6,7,8,9,10 모두 클리어 했음. 12와 13은 아직 하고 싶은 생각이 안드니... 물론 특징은 모두 휴대기로 했다는 건데... 대략 이런 식.

  • 1,2 - Advance판 합본. GBA 롬을 NDS에서
  • 3 - NDS용 리메이크판
  • 4 - Advance. GBA 롬을 NDS에서. 나중에 NDS용 4 리메이크 다시 플레이
  • 5 - Advance. GBA 롬을 NDS에서
  • 6 - Advance. GBA 롬을 NDS에서
  • 7 - PSN의 PS1 Classic. 인터판. PSP go 에서
  • 8 - PSN의 PS1 Classic. 인터판. PSP go 에서
  • 9 - PSN의 PS1 Classic. 인터판. PSP go 에서
  • 10 - PS Vita 용 HD Remaster

12나 13은 휴대기로 나와야 하지 않을까 싶다. 요즘에는 iOS나 안드로이드 버전이 1~6 까지 리마스터로 있으니 굳이 NDS는 필요 없을지도. Vita 만 있으면 PS1 Classic 포함해서 모두다 해볼 수 있긴 하다. 최신 리마스터가 다 된다는 보장은 없지만.

아쉬운 점은 게임에서는 역시 비공정에서 갈 수 있는 곳이 메뉴 선택으로 되어 있어서 전작들처럼 후반부 되면 세계를 마구 날아다니는 재미가 없다는 점. 두번째 리메이크에서는 역시 이벤트 스킵이 안되어서 보스전 재시도의 경우 5분씩 되는 동영상을 스킵 없이 봐야 한다는 점인가 싶다. PS3 용과 Vita 용의 비교에 대해서도 이야기가 있던데 Vita 용이 포팅이 기가 막히게 잘 되어 있는지라 다른 문제는 없는듯.

Vita용 X에는 영원의 나기절 (한글판에서는 고요절이라 쓴것 같던데) 영상 (인게임 렌더링이라 화질이 좋다 말다 할 건 없지만 엔딩 이후에 유우나가 얼마나 쓸쓸하게 사는지...) 이 들어있고, 크레딧 & 보너스 오디오라는걸 보았는데 어 이게 충격의 도가니... 한글 정보가 얼마나 있는지 모르겠는데 일당  [영문판 번역 및 동영상] 링크

아래부터 스포일러 (보너스 오디오 내용 알고 싶지 않으면 스킵하세요)



















































































해석이 분분한데, 이것도 일종의 패럴럴 월드가 아닌가 하는 생각이고, 여러가지 정황 묘사가 신이 없어진 뒤 - 즉 본편의 엔딩 뒤 - 가 확실한데 어떻게 티더가 존재하느냐? 에 대한 대답은 추아미/쿠르굼과 같이 조사하러 가는 환광하에서의 사건이 말해주지 않는가 싶다. 이미 죽은 것으로 알고 있던 시파브의 등장, 몰려든 사람들이 반은 사실은 죽은 사람, 원래 이계에서 만나는 죽은 사람은 말을 못하는데 여기 있는 사자들은 말을 하고... 즉 환광하에 어떤 사정으로 환광충이 흘러넘쳐서 이계화가 되었다는 것이고, 만약 그렇다면 티더가 멀쩡히 말도 하고 돌아다니는 것도 있을 수 있지 않을까 싶다. 추아미가 악수를 했을 때 힘이 없다고 느낀 전 죽은 사람이라 그랬을 거고, 유우나는 알면서 짐짓 모른척 하지 않았을까. 왜냐하면 사람들의 소중한 만남을 뺏고 싶지 않다고 쿠르굼이 이계보내기를 하는걸 막았고 쿠르굼이 방침을 요구하자가 그냥 티더를 만나러 가 버리는 등의 행동을 보면... 문제는 왜 추아미/쿠르굼 앞에서 사랑싸움을 했는지인데, 정말 무슨 일이 있었는지도 모르고 (티더가 루루에게 상담하러 가는걸 보면) 아니면 그냥 두 사람을 혼란시키기 위한 것일지도. 근데 티더는 사실 죽기도 했겠지만 (천년 전에) 기도자(이노리고)의 꿈이 현실화된 것이므로 엄밀히 말해 이계에서 볼 수 있는 그것은 아닌데 뭐 이건 해석 나름 아닐지 (유우나의 이계보내기로 없어졌으니 이계에 있을지도). 엔딩 후 시점은 일단 기도자가 없고 따라서 티더를 현실화시킬 수 있는 힘이 존재하지 않으므로... 신도 재등장한 점에서 미루어 보아 이계의 누군가가 (시모 선생이라든가...) 이계의 존재를 이끌고 대거 스피라 침략에 나섰다... 뭐 이런 식 아닐지.

뭐... 그런 내용으로 FFX-3가 나오면 X-2 보다는 나을것 같다. X-2는 일단 충격과 공포의 오프닝부터 첫 세이브까지만 해 봤는데 할말은 없음...

2014년 3월 26일 수요일

Google Cloud Platform Live (March 25, 2014) 참관기

우연한 기회에 오늘 있었던 Google Cloud Platform Live 행사에 참석할 수 있었습니다. 말하자면 구글의 클라우드 서비스 (자사 서비스를 위한 것이 아니라 AWS처럼 일반 개발자용 클라우드 서비스라고 생각하면 됨)에 대한 큰 업데이트와 관련 내용을 소개하는 자리였고, 미국시간으로 3월 25일에 샌프란시스코의 한 행사장에서 열렸습니다.

저는 베이지역에 사는지라 아침에 샌프란시스코 가려면 1) 차를 몰고 간다 2) 대중교통을 이용한다 두가지 선택지가 있는데 1)은 일단 출근시간이니 차가 막히고 주차 문제가 있고 2)는 대중교통이 서울처럼 촘촘하지 않아서 선택지가 많지 않다는 문제가 있는데 오늘은 Caltrain 타고 갔습니다. 그나마 Limited (급행)으로 타고 가니 그나마 늦지는 않았는데 그래도 1시간 반 정도는 걸리네요.




사실 나올때 찍은 것입니다만 한데 행사장 옆에 클라우드 서비스 로고가 큰게 붙어 있었습니다. 크롬 로고 비슷한데 아마 너트와 볼트를 상징하는 듯.


구글의 행사 페이지 (동영상 대부분 포함되어 있음)은 여기에서 볼 수 있습니다. 테이블에 보는 것 처럼 오전에 키노트와 발표 하나, 오후에 2개 트랙으로 각 세션이 4개씩, 마지막에 대담이 하나 들어 있는 형식입니다. 외부 발표는 없었고 구글에서 자체적으로 모두 담당자들이 나와서 발표하는 형식입니다.


참석했던 세션 별로 몇가지만 이야기 하면,

Keynote




국내에 기사 나온게 있는지 보니까 "구글 클라우드 가격 파괴 "무어의 법칙 적용"" 이걸 찾을 수 있네요. 자세한 내용은 기사를 보시고... 이날 키노트는 아무래도 새로 달라진 점을 크게 강조하고 싶었던 것 같은데, 가격적인 면이 크게 강조되지 않았나 합니다. 이후 VM의 라이브 마이그레이션을 데모로 보여 줬는데, 이게 머신이 동작중이라는 걸 보여 주려고 스트리밍을 하나 띄워 놓고 뒤에서 다른 VM으로 옮겨도 다운타임이 매우 적다는 걸 보여주고 싶었던 것 같은데 막상 보는 사람은 매우 심플한 화면을 보게 되었습니다. 아무래도 구글의 공돌이 기질인지 이동네 특성인지 모르겠지만 그래도 대기업 발표가 매우 공돌이스럽게 진행된다는것 - 데모가 많은 점은 물론 보는 사람 입장에서 좋습니다만 - 은 참 신기한 점이더군요.

고객사례로 Snapchat 의 CTO가 잠시 올라와서 자사 사례를 이야기하고 갔는데 개발팀만 있고 운영팀이 없다...는 이야기는 인상적이었습니다. 그냥 클라우드 UI 쓰면 되고 서버 가진것도 없으니 개발자가 직접 deploy 하고 서비스 개발에 치중한다는 이야기인데, Snapchat 은 매우 큰 서비스로 아는데 지금도 그렇게 운영 가능하다는 점이 좀 놀랍더군요.

그외 Google Compute Engine (GCE) 의 SuSE Linux 및 Red Hat Linux 지원이 발표되었는데 왜 그런가 싶었더니 나중에 보여주는 데모를 보니 모두 Debian Linux 입니다. 아마 GCE는 기본 Debian Linux 이미지를 사용하는 것 같더군요. 그외 윈도우 2008 R2 (제일 많이 써서라고 하는데 인제? 라는 느낌은 좀 듭니다) 이미지 지원 이야기가 있었고, 새로 Cloud DNS 서비스 (도메인용 DNS 관리 서비스. 이거 우리회사거랑 이름이 같은데...) 가 추가되었습니다. AWS에서는 Route 53 에 해당하는 서비스인데 둘이 어떻게 다른지는 나중에 봐야 겠습니다.

이후에 Managed VM 에 대한 발표가 있는데 이 부분은 좀 인상적입니다. 보통 Google Apps Engine (GAE)과 같은 PaaS엔진은 어떤 VM위에서 돌아야 하는데 VM에 접근 권한을 줄 수는 없으니 추가적으로 필요한 라이브러리를 VM에 마음대로 설치할 수 없다는 단점이 있습니다. Managed VM은 PaaS 엔진이 돌고 있는 VM에 추가적인 변경을 가할 수 있다는 점이 특징인데, 데모는 imagemagick 라이브러리를 추가한 VM을 만들고 그 위에서 GAE App을 돌리는 걸 보여 줬습니다. 근데 아까 이미지는 Debian 이라 그런지 패키지 추가하는 XML 기술할때 apt-get-install이라고 쓰더군요. :) 즉 복제 문제 때문이겠지만 로그인해서 고치는게 아니라 미리 VM이 어떠해야 한다는 걸 지정해 주는 방식인데 PaaS를 주로 밀고 있는 구글 입장에서는 GCE가 소개되면서 할 수 있는 부가적인 기능으로 생각이 됩니다.

그외 BigQuery 의 성능 향상에 대한 데모가 있었습니다. BigQuery는 말하자면 BigTable 을 상품화한 것으로 생각하면 되는데 RDB 형태를 유지하면서 SQL및 자바스크립트 지원, 용량 제한이 없다는 큰 특징이 있습니다. 말하자면 Hadoop 직접 운영하지 말고 그냥 이거 써라... 라는 것으로 생각이 드는데, 데모를 보면 매우 실시간스럽지는 않지만 기존의 RDB형식의 데이터를 익숙한 형식으로 마음대로 뽑아볼 수 있다는 점은 좋아 보입니다.


The Power of Big Data on Google Cloud Platform

앞서 이야기하던 BigQuery 에 대한 이야기인데, 원래 2012년부터 있던 서비스이지만 이번의 발표에서 100k row/sec streaming, table view, wildcard table 등이 눈에 띄는 기능입니다. 잘만 하면 웹서버 로그를 그냥 필드단위로 집어 넣고 배치 형태로 통계를 뽑아 볼 수 있습니다. 구글 데이터센터랑 network latency가 적당히 보장된다면 해볼만한 솔루션인듯 합니다. 이걸 위해서 스토리지를 따로 제공 하는데 일반 스토리지와는 조금 달라 보입니다. SQL이 표현하지 못하거나 어려운 형태로 데이터를 뽑아야 하는 경우를 위해서 자바스크립트를 적절히 SQL에 삽입할 수 있는 것이 인상적입니다만 그러면 둘 다 알아야 하는데...

점심

아침에 간단한 먹을거리, 점심 식사 제공, 중간에 과자랑 음료수 제공하는데 다들 너무 맛있어서 깜짝 놀랐습니다. 아침에 샌드위치도 맛있고 점심에 식사도 맛있고 커피 내려주는 아저씨 실력도 장난아니고...
 

DevOps at Google Speed & Tools for You

앞선 Demo 에서 크게 두가지로 데모들을 보여 주는데 하나는 웹 UI(AWS Console 에 해당하는)와 cli 입니다. gcloud 라는 명령어로 상태 보기나 deploy 를 시킬 수 있고, 소스 관리는 구글이 호스팅하는 git 을 쓰는데 원하면 github 와 연동시킬 수 있습니다. 언어별로 Unit Testing 도구를 제공하는데 보여준 데모에서는 앱을 만들면 자동으로 jenkins 를 호스팅해 주고 그쪽에 따로 가서 추가적인 설정 편집이 가능합니다. 로그나 소스 코드 수정 및 커밋이 웹 UI로 바로 가능하기 때문에, 문제가 있을 경우 로그 수집하고 디버깅하는 건 편하게 되어 있는데 복잡한 케이스에는 어떻게 대응할지가 궁금하더군요. 구글 내부에서 하는 것처럼 개발하세요... 가 모토인데 일단 툴은 깔끔하게 구성이 되어 있네요. 데모 앱이 Flappy Bird 짝퉁이건 좀...


Google Computing and Open Source Technologies

GCE에 사용되는 오픈소스 관련 기술에 대한 설명입니다. 다들 아는 linux 라든가 python 이라든가... Android, Chrome, Go, V8 (JS엔진), python/ruby/java를 통한 GCE 제어, 그외 보조 도구로 puppet, chef, saltstack, ansible, docker, coreos, vagrant, packer 등을 나열되었는데 아는것도 있지만 모르는 것도 있어서 나중에 찾아 봐야 겠네요. 직접 사용되었다기 보다는 GCE에서 그런 툴을 쓰면 더 편해질 거다... 정도입니다.

10 Things That Make Cloud Platform a Next Gen Cloud

주로 인프라와 스케일에 대한 설명이었습니다. pre-warming 없이 바로 대용량 처리가 가능한 로드 밸런서라든가, 환경을 생각해서 저전력에 노력하고 있다든가, Persistent Disk 를 통해서 GCE간의 공유 스토리지를 제공한다는 이야기 등입니다. 또한 VM의 성능 자체도 큰 변동 없이 일정하게 유지되는 것도 장점이라고 하는데 어떻게 그걸 했는지는 자세히 들을 수는 없었습니다.


Big Data, Open Source and Google Cloud Platform

BigQuery 이야기는 앞서 많이 들었는데 이번에는 기존에 많이 쓰는 Hadoop Ecosystem 과 연동하기 위한 Google Cloud Storage Connector 에 대한 내용이 주가 되었습니다. Hadoop 은 잘 모르기는 합니다만 GCS 를 HDFS 대신 사용 가능하다... 정도로 생각하면 맞을것 같네요. 즉 데이터 저장은 구글 스토리지에 하고 기존에 돌고 있던 Hadoop 기반의 데이터 도구 (Shark/Hive/Spark등)는 그냥 쓰던대로 하세요.. 라고 이해 했습니다. 설명하는 분이 linux 데스크탑으로 보여 주시는데 화면 전환이 너무 빨라서 좀 천천히 해 주었으면 하는 느낌이 있더군요. :)

Fireside Chat with Urs Hölzle & Jeff Dean

 

개인적으로 Jeff Dean 이 누군지 보고 싶어서 여기 온것도 있는데 실물을 봐서 다행입니다... :) 왼쪽에서 두번째 분입니다. 처음에 Urs (왼쪽에서 세번째 분)과 Jeff (두번째)로 시작을 했는데 중간에 가장 왼쪽의 Eric Brewer 씨가 난입을 하셨는데 이분은 NoSQL이야기하면 항상 나오는 CAP Theorem 으로 유명하신 분입니다. Jeff Dean 이 왜 보고 싶었는지는 이 글을 보시면 됩니다. IT계의 척 노리스인데... 뭐 존경심에서 나온 유머이겠습니다만.

대담 형식이었는데, 구글이 처음 BigTable 이라든가 MapReduce 라든가 하는 걸 처음 시작했는데 이제는 다들 쓰는 용어가 되었다라든가, 사진에도 있지만 대량의 데이터를 이용한 신경네트워크를 통한 학습을 위해서는 데이터가 많아야 하는데 구글에는 그런 데이터가 이제 있다라든가, OpenFlow/SDN을 이용한 매우 세세한 수준의 네트워크 제어가 가능하다는 이야기, 그리고 아직 1% 만이 클라우드를 쓰고 있으니 모르는 문제들이 많이 남아 있고 그런 것들을 풀고 싶다... 는 이야기가 있었습니다.


---
사실은 제품 발표 행사니까 가격 이야기랑 제품 이야기가 많긴 했는데, 직접적인 경쟁자가 될 AWS 대비 어떤 점이 달라 보이나 하면 아무래도 AWS는 EC2 (VM)과 스토리지 (S3)에서 시작 - 소위 말하는 IaaS - 으로 시작해서 다양한 서비스군을 갖추고 있고 그런 점에서는 이미 2-3년은 앞서 나가고 있습니다. 반면 구글은 GAE를 먼저 발표하고 GCE가 나중에 추가되었지요. 따라서 AWS와 반대로 PaaS (GAE)에서 IaaS (GCE)로 일단 내려 갔지만 여전히 중심은 GAE 와 빅데이터 처리 (BigQuery)에 있어 보입니다. GCE는 그걸 구현하기 위한 수단으로 생각이 되고요. 그러다 보니 각종 관리도구를 (Web UI, CLI)는 필수적으로 생각이 되고, 기존에 돌고 있는 여러 오픈 소스 기반의 빅데이터 관련 도구와의 연동이 중요한 것으로 생각 됩니다. 그리고 이것 기반으로 히트한 서비스를 많이 내 놓아야 하는데 눈에 확 띄는 로고가 아직은 Snapchat 밖에 없는 것도 단점이겠죠.따라서 기존 구글 서비스에서 쓰는 것이니 그만큼 안정적이고 보안성도 높다라고 하고 있는데 실제로는 쓰는 사람이 더 많아져야 알 것으로 생각이 됩니다. AWS와 차별점을 보여주는 데는 일단 성공 했다는 생각은 드는데 추가적인 서비스가 더 많아져야 하겠죠. 국내에는 데이터센터가 없는 것으로 아는데 국내에서 접속할 수 있는 위치가 어디인지 궁금 합니다. AWS는 동경이 제일 가깝지만 마찬가지로 한국에는 없지요.

아무래도 이런 제품군이 개발자를 위한 것이다 보니 개발 관련이나 빅데이터 관련된 지식이 없으면 이런 공돌이스러운 발표에 적응하기는 어려웠을 거라 생각이 됩니다만, 참석자는 대부분 엔지니어인것 같더군요. 중간에 'jenkins 써보신 분' 이라든가 'emacs 쓰시는 분'에 손 드는 사람 수를 보면 알 수 있었습니다. :) 데모도 많이 보여 주고 나름 유쾌하게 진행 하려고 노력 많이 했다는 느낌입니다.

2014년 3월 21일 금요일

Replicant: OS를 마음대로 바꿀 수 있는 자유

http://www.gnu.org/philosophy/android-and-users-freedom.html

Android는 리눅스 기반이지만 Free OS는 아니다. 이유는 간단한데 일단 OS의 전체가 공개되어 있지 못하다는 점이 가장 클 것이다. 그런데 안드로이드 OS의 공개 여부 이상 중요한 건 '사용자가 자신의 디바이스에 원하는 소프트웨어를 올릴 수 있는가' 이다. 자신이 안드로이드 기기를 사용하고 있다고 해도 그 OS를 고쳐서 스스로 안드로이드를 업데이트하는건 불가능하다. 왜냐하면 기본 기기상에 이미 오픈소스가 아닌 부분 (구글 기본 앱, 제조사 기본 앱, 통신사 기본 앱)이 있고 이를 마음대로 수정하는 건 불가능하고, 구글 앱이 없으면 AOSP처럼 반쪽짜리 OS가 된다. 실제 AOSP를 올려 보면 중 해킹된 구글앱을 설치하지 않고는 제대로 된 이용은 거의 불가능하다.

GNU에서 말하고자 하는 소프트웨어의 자유란 소프트웨어의 소스를 자유롭게 보고 고치고 빌드해서 써보고 그걸 다시 나누어야 한다는 것이고 그걸 지지하는 근간이 GPL이라 할 수 있을 것인데, 사실 라이센스가 GPL이든 BSD든 중요한게 아니라 자신의 기기에 올라간 소프트웨어의 소스를 구할 수 있고, 또 그걸 빌드할 수 있고, 또 다시 그걸 자신의 기기에 올릴 수 있어야 진정한 자유라 할 수 있다. 이 부분은 GPL과 직접 관계된 부분은 아닌 것으로 생각되지만 RMS의 입장은 그런 경우에만 진정한 자유 소프트웨어가 실현될 수 있다는 것이다. 이런게 되지 못하는 현상을 Tivolization 이라고 한다.

지금까지는 PC가 열린 기기였다. 누구나 OS를 만들어서 올릴 수 있었고 그래서 Linux 나 FreeBSD와 같은 오픈 소스 운영체제가 활발하게 개발될 수 있고 이용될 수 있었다. 그런데 그런 혁신 (PC라고 하면 컴팩이 IBM에서 분리된 386기반 PC를 만들어 냄으로서) 이 휴대기기에는 아직 없다. 왜냐하면 안드로이드 기기를 구매해도, 애플 기기를 구매하도 그 소스를 100% 구할 수도 없고 그걸 자신이 다시 빌드하기도 어렵고 빌드했다고 해도 그걸 기기에 다시 올릴 방법은 쉽지 않거나 아예 막혀 있는 경우도 있기 때문이다. Cyanogenmod 등에서 하는 방법이 있는데 그건 AOSP 기반의 커스텀 펌웨어이고 일반적으로 통용될 수 없다. 그 조차도 제대로 이용하려면 구글 앱 설치가 거의 기본이므로 커펌의 수준을 크게 벗어나기는 어려울 것이다.

GNU에서는 Replicant 라는 안드로이드 fork 가 있는데 바로 안드로이드의 GNU버전이다. 이용 가능한 디바이스는 제한적이지만 이런 움직임도 반드시 있어야 한다고 본다. 물론 이용자는 처음에 불편하겠지만 20년 전의 리눅스가 바로 이랬으니까.

모바일 OS는 많이 있는데 대형 벤더가 이런식의 움직임을 보이는 경우는 없는 것으로 보인다. 제조사 입장에서는 당연히 일정한 주도권을 놓고 싶지 않으므로 안드로이드든 타이젠이든 오픈 소스를 표방하는 것 처럼 보이지만 실상 중요한 부분이 빠져 있고 엄밀히 말하면 오픈 소스의 일부를 가져다 썼을 뿐이지 오픈 소스 OS는 아니다. 386 기반 PC의 자유도가 오픈소스의 혁신의 기초가 되었듯이 휴대 기기에서도 동일한 일이 일어날 거라 기대하고 싶다.