전체 글 1336

MySQL cluster geographic replication

물리적으로 분리된 위치에서 데이타 SYNC에 대한 솔루션을 research 하던중에 mysql에 대한 이야기가 많이 나온다. Facebook도 master 와 slave center (미국 서부와 동부)의 데이타를 mysql georeplication 을 이용해서 구현한것으로 보인다. MySQL georeplication의 원리는 위의 그림과 같다. Master node의 변경 사항을 BinLog라는 형태로 저장하여 복제 대상에 전송한후 replay를 하는 방식이다. record & replay 방식인데, binlog는 오라클의 redo 로그와 유사하다. 데이타베이스의 redo 로그 자체를 레코딩해서 전송하는 방식이기 때문에 데이타 복제만이 가능하고 ETL과 같은 변환은 불가능하며, 변경된 부분만 전송하..

클라우드컴퓨팅에 대한 책

이것도 리서치하다가 본 책. 클라우드 컴퓨팅에 대한 흔해 빠진책이 아니라 가장 성공적인 클라우드 서비스인 아마존 E2C,S3 서비스등의 실예를 통해서 설명하고 있어서 클라우드 기술에 대해 이해하기가 좋다. 또한 아마존 서비스를 단순히 사용자 관점에서 뿐만아니라 얕게라도 내부구조나 아키텍쳐에 대해서 설명하고 있다. 국내 출판사에서 번역권을 가지고 갔다고 하니 번역 출판되기를 기대해볼만한 책

분산 인터넷 아키텍쳐에 대해서 좋은 책 하나..

Scalable Internet Architecture 2006년판. 국내에 독자층은 별로 없겠지만, 글로벌하게 단일 시스템을 분산 배치할때, 파일 시스템,네트워크, 데이타 베이스등에 대한 아키텍쳐를 잘 설명하고 있다. 이만한 책도 없을듯해서 북마크중 금전적인 사정관계로, 스폰서(?)분이 지원해주신 사파리 온라인으로만 읽고 있음

Facebook geographic distributed architecture

페이스북의 경우 DR(재해 복구)와 로드 밸런싱의 목적으로 미국내에 서부와 동부 두군데에 IDC를 유지합니다. 이렇게 두개 이상의 다른 장소에 시스템을 배포하는 것 구조를 geographic distributed architecture라고 합니다. 이러한 아키텍쳐에 있어서 가장 중요한점은 IDC간의 데이타 동기화,라우팅 그리고 성능 향상을 위한 캐슁입니다. 라우팅은 REQUEST가 들어왔을때, 어느 IDC로 보낼것인가를 결정하는 방법입니다. 페이스북의 경우 미국내에 IDC가 있는데, 서부는 미국 서부와 아시아권을 동부는 유럽쪽을 커버합니다. 그리고 로드 밸런싱을 Global Load Balancer라는 것을 이용하는데, 아마 국가별 IP를 기반으로 라우팅을 하리라 생각됩니다. (추정) 동기화의 경우 해당..

소프트웨어 기술자 등록제인지 몬지와 한국인,외국인 이력서.

외국친구 이력서 보고 제 영문 이력서도 요즘 업데이트 하고 있는데.. 문득 이런 생각이 들더군요.. 외국에는 소프트웨어 기술자 등록제인가? 몬가 하는제도가 없잖아. 모 호주에도 어짜피 계약직 천지인데 (정말 잘하는 사람들은 계약직이 많아요.) 왜 한국만 이모냥인지. 외국 친구들 이력서를 보면 재미있는 것중 하나가... reference 라는 항목이 있습니다. 전에 일했던 직장이나 프로젝트,고객등의 연락처가 있습니다. 직접 전화해서 물어보라는 거지요. 내지는 벤더 엔지니어라면 메니져들끼리 전화하면 2~3다리면 건너면 대충 다 알더군요. 주로 채용하는 쪽에서 reference를 해서 그 사람의 경력을 판단합니다. 사실 기술이야. 10분에서 30분정도 이야기 해보면 70%정도는 옥석이 가려 지는 것이고. 면담..

IT 이야기 2009.11.13

High scale & georeplication system.

지금 하고 있는 숙제가 georeplication system입니다. Geo replication 시스템이란 분산 시스템중에서 시스템이 여러 IDC (서로 다른 국가나 대륙에 위치)하여 구축되며, 어느 위치에서 접근하던지 같은 데이타를 볼 수 있게 하는 것을 이야기 합니다. 예를 들어 한국 IDC에서 USER정보를 읽어오나, 미국 IDC에서 읽어오나 그 내용이 같다는 겁니다. 물론 USER정보가 계속해서 transaction에 의해서 update되는 상황에서 말입니다. 대충 방향잡고 아키텍쳐 구상도 해놓긴했습니다만, 몇일째 머리가 뽀게지고 있습니다. 다음주에 새로 JOIN하는 호주 친구가 데이타베이스의 전문가니까는 이 부분을 검증하고 보강해주리라 기대하고 있습니다.(돈이 얼만데... -_- 한달 인건비가..

국내 자바 MVC 프레임웍 사용 현황

얼마전에 진행했던 자바 MVC 프레임웍 사용 현황에 대한 결과입니다. 86명이 참여해주셨습니다. 어느정도 신뢰성은 있을것 같군요. 결과를 보면 50%정도가 Spring MVC를 나머지 20%는 Struts 그리고 나머지는 전통적인 Servlet/JSP입니다. JSF 1명은 그나마 제가 테스트로 투표한것이고, Seam은 전멸입니다. Local UI 프레임웍은 아무래도, TMax나 LG CNS등이 프로젝트하는 경우 자체 MVC를 쓰고 기업 프로젝트 역시 국내 MVC를 쓰는 경우가 많아서 그 포지션을 무시 할 수 는 없겠네요. 일단 국내 환경에서라면 Spring MVC나 Struts면 무난하다는 겁니다. 반대로 JSF나 오라클 ADF, JBoss Seam과 같이 해외에서 잘나가고 파워풀한 기술들은 국내에서 죽..

프로그래밍 2009.11.11

트위터를 사용하면서.

트위터를 사용한지가 대략 한달이 좀 넘어가는것 같습니다. 사실 고객이 엔터프라이즈 마이크로 블로그 (기업용 트위터)를 사용하겠다는 요구가 있어서 리서치 하다보니까는 어찌어찌하다가 여기까지 왔네요. 오늘 600번째 트윗을 올리고, 현재 Follower가 95명입니다. 곧 100명 채우겠네요. 요즘 대부분의 정보는 트윗터를 통해서 얻습니다. 140자밖에 안되기 때문에 읽기도 부담없고 왠만해서는 클릭도 필요없습니다. 그리고 소위 말하는 입소문이기 때문에 정보 전파력도 빠릅니다. 많이 펌질 (RT되는) 트윗은 또 그만큼 정보 가치가 높은것을 의미하기 때문에, 정보에 대한 필터링 능력도 좋구요. 오히려 메타블로그나 포탈 또는 전문 사이트 보다 최신 정보나 트렌드 파악하기에는 더욱더 좋은것 같습니다. 아.. 제 트..

Google wave

오늘 뜻하지 않게 Fenton으로 부터 Google wave에 invitation을 받아서 사용해보았습니다. Google wave에 대해서 '이게 모하는 툴이냐?' 라는 질문을 가끔 받는데, 제 생각을 정리해서 이야기 해보면, 일종의 협업을 지원하는 웹OS또는 플랫폼입니다. 간단하게는 멀티미디어 채팅 (채팅중에, 맵이나 각종 가젯을 추가해서 문서를 만들 수 있고. )과 비슷합니다. 여러 사람이 공동작업으로 하나의 문서를 만들 수 있으며, 문서를 만들면서의 과정이 레코딩되서 리플레이가 가능합니다. 이건 기본적인 기능이고 gw(google wave,이하 gw)는 Extension을 추가함으로써 협업이 가능하게 한다는 것입니다. 예를 들어 issue tracking system의 extension이 추가되었다..

컨설팅...

제목이 좀 모호하네요. 다니던 회사가 합병이 되면서 주로 수행하는 컨설팅의 범위가 더욱 넓어진것 같습니다. 아래 포스팅에도 언급했지만 예전에는 SA 역할을 많이 했습니다만, 요즘은 비지니스에 관련된 일을 많이 하게 됩니다. 주로 고객사의 신사업 개발이나 신시스템 프로젝트에 대해서 프로젝트 초기부터 참여하는 경우가 많습니다. (정식 발주전에도..) 그 과정에서 비지니스적인 부분을 많이 보게 됩니다. 예전에는 생각하지도 않았던, 비용 문제, Time to market에 의해서 개발기간이 짧아질 수 밖에 없는 문제, 경쟁사 분석, 법적 이슈, 세금문제나 조직구조에 대한 이슈등.. 그리고 같이 일하는 대상도 개발자나 파트너에서, 동급 컨설턴트나 외국 컨설턴트로 많이 바뀌었습니다. 사실 힘은 듭니다만 공짜로 강의..

IT 이야기 2009.11.11

아키텍트가 되면서.

Support engineer를 거쳐서 본격적인 컨설팅을 한지도 대략 3년정도 되가는것 같네요. 예전에는 주로 SA (Solution Architect)의 역할을 맏았습니다. 제품을 가지고 delivery를 어떻게 할까 고민을 하고, 솔루션 기반의 아키텍쳐를 그리는 역할을 합니다. 그러다가 작년 초인가 부터 AA (Application Architect)의 역할을 하고 있습니다. 실제 전체 시스템의 윤곽을 잡고 delivery를 하는 역할입니다. 솔루션에 대한 부분은 파트너나 presales들의 도움을 받아가면서 delivery하는데... 예전에는 제품에 대해서 아주 깊숙한곳까지 속속들이 꿰뚫고 있었는데, 요즘은 제품보다 큰 그림이나 비지니스 모델 그리고 전략에 대해서 많은 고민을 하고 있습니다. 그러다..

사는 이야기 2009.11.11

모토롤라 드로이드 출시 이야기 (뉴스 클리핑들)

원문 : http://graynote.tistory.com/entry/안드로이드-20-폰-드로이드-출시-첫날-분위기 맨하탄의 버라이즌 샵에서는 밤12시부터 새벽2시까지 특별히 문을 열어 사용자들에 가장 빨리 드로이드폰을 줄 수 있는 기회를 주었습니다. 약 100명의 사용자가 줄을 서 있습니다 사실 아이폰 킬러라기 보다는 블랙베리 킬러가 될것 같다는 의견도 많았습니다 버라이즌은 모토로라 드로이드와 HTC의 드로이드 에리스를 동시에 판매하고 있는데, 사용자들은 HTC의 UI에 호감을 나타내지만 안드로이드 2.0을 탑재한 드로이드를 구입하려 한다고 하더군요. 안드로이드 마켓에 올려놓은 애플리케이션의 다운로드 수의 증가로 출시 반응에 대한 체크를 하는데. 지난번 스프린트의 히어로, 모멘트 등의 출시와 T모바일의..

IT 이야기 2009.11.09

안드로이드 디바이스 비교 동영상들

소니 X10. 실제 사용하는걸 보니 성능 장난아니시고 아래는 HTC G1과 모토롤라 드로이드.. 모토롤라의 성능에서 압승!! (게임로딩을 통한 성능 비교) 아직 삼성이랑 LG 폰은 못봤는데.. 부디.. 모토롤라보다 좋기를(?)... 삼성 이번 디바이스들 하드웨어 스펙은 좋던데. 거기에 안드로이드 2.0만 잘 올리기만을 기대할뿐..근데 한국 출시는 도대체 언제??

IT 이야기 2009.11.04

커뮤니티의 몰락...

흔히 웹2.0은 파괴력이 있다고들 이야기 합니다. 웹2.0뿐만 아니라 혁신은 언제나 파괴를 가지고 옵니다. 전기의 발명으로 인해서, 얼음 수출이라는 산업이 없어지고, IT 혁명으로 인한 생산성 향상으로 많은 관리직이 없어졌습니다. 웹2.0으로 인해서 많은 미디어들의 힘이 없어졌습니다. 반대로 새로운 것들이 많이 생겨나기는 했습니다만, 웹2.0이 커뮤니티 생태계에도 많은 영향을 미친것은 사실인가 봅니다. 98년경에 자바스터디(http://www.javastudy.co.kr)을 만들었습니다. 그때만 해도, 아무리 인터넷이 있었다 하더라도 개인이 블로그와 같은 미디어를 통해서 컨텐츠를 올리는게 어려웠습니다. 기껏해야 홈페이지 호스팅이 다였기 때문에, 글 하나 올리려면 많은 노력이 필요했습니다. 그래서 정보를 ..

IT 이야기 2009.10.30

아키텍쳐의 영속성에 대해서.

고객사에 아키텍쳐 컨설팅을 하다보면 항상 느끼는 거지만, 해당 시스템에 대해서 전체 그림을 그리고 이해할 수 있는 사람이 항상 없다는 것이다. 보통 프로젝트시에는 SI나 컨설팅 업체에서 AA(Application Architect)등의 역할을 받아서 전체 그림을 그리고 설계를 하지만, 외부 인력이고 프로젝트가 끝남과 동시에 rollout 해버리면 시스템을 이해하는 사람이 없다. 물론 고객사쪽에서 인수받게 되어 있지만, AA와 같은 컨설턴트 비용이 높은것이 그만한 역량을 가지고 있기 때문인데, 고객사에서 그만한 열정과 실력을 가지고 있는 사람은 드문것 같다. 그래서 애플리케이션의 부분적인 코드 수정만 할뿐 아키텍쳐에 대한 기본 사상이 유지되지 않고, 확장이나 발전시에 AS-IS 아키텍쳐를 아는 사람이 없으..

IT 이야기 2009.10.28

Cost,Quality,Quick 오늘 호주 컨설턴트에게서 들은 재미있는 접근.

요즘 Gabriel이라는 호주산(?) 컨설턴트랑 일을 하고있습니다. 점심식사때 재미있는 이야기를 하더군요. 고객한테 이야기할때, 항상 2가지를 고르라고 한답니다. Cost,Quality,Quick 3가지 중에서요 Quality와 Quick(기간)을 갖춘 시스템을 원하면 Cost가 올라갈것이고 Cost와 Quality (저비용에 좋은 품질)을 원하면 당연히 Quick(기간)이 떨어질것이고 Quick과 Cost를 원하면 (단기간에 낮은 비용)으로 구축을 원하면 결과적으로 Quality가 떨어질것입니다. 당연한 사실이지만, 재미있는 접근 방법 같네요.

IT 이야기 2009.10.28

아키텍쳐에 있어서 레퍼런스의 중요성

고객사에서 딜을 진행할때, 가장 중요한 요소중의 하나가 "레퍼런스가 어디입니까?" 입니다. 레퍼런스의 중요성은 솔루션의 품질이나 아키텍쳐 그리고 실제 구현측면에서 매우 중요합니다. 레퍼런스가 있다는 것은 이미 한번 이상 해봤다는 것인데.. 아키텍쳐를 그릴때 있어서 한번 해보고 안해보고는 그 차이가 매우 큽니다. 어디서 문제가 생길지, 그리고 어떻게 시스템을 설계해야할지를 알기 때문입니다. 제가 일하는 팀의 경우 EAI프로젝트를 정말 많이 했습니다. 그래서 요건을 들으면 대충 어떤 솔루션써서 어떻게 연계하면 되고, 개발 과정에서 무슨 문제가 생길것이며 어떤 기능에 신경을 써야 하는지 뻔히 알고 있습니다. 결과적으로 프로젝트의 성공요인을 높일 수 있고, 불필요한 리소스나 시간과 비용이 낭비 되지 않습니다. ..

공부가 끊임이 없네요.

영어문법책 펴놨다가 삼천골로 빠져서 E2.0 설문결과 보다가 지금은 ECM (Enterprise Contents Management)쪽보고 있습니다. 요즘 정말 공부할게 많네요. SOA는 대충 넘어가고 제품은 BPEL도 봐야하고, DataGrid, Data Synchronization 도 봐야하고.(Coherence,Godengate) Spring 3.0,JSF,ADF같은 프레임웍도 신경써줘야 하고, Groovy와 Ruby, Python들도 신경써주셔야 하고 안드로이드도 신경 써주셔야 하고 ECM,E2.0도 신경써주셔야 하고 Oracle APEX도 봐주셔야 하고.... 헐헐... 이나이먹도록 공부해야한다고 불평만 하고 결국 블로그질하고 있습니다. 아마 금융권 EA들은 이런거 다 알고 있겄져?

사는 이야기 2009.10.14

기업용 소프트웨어도 재미있어야 한다.?!

E2.0에 대한 글들을 쓰면서 가장 Concern중의 하나가. "사용자의 자발적인 참여를 이끌어내야 한다는 것"입니다. 강제로 해서는 웹2.0의 장점들을 가지고 올 수 없으니까요. 참여를 이끌어내기 위해서는 1) 단순하고 편리할것 2) 익숙할것 3) 재미있을것 입니다. 이 주제에 대해서 재미있는 동영상이 있어서 첨부합니다. 쓰레기통을 가지고 실험을 한 동영상인데, 쓰레기통에 쓰레기를 버리면 소리가 나도록 장치를 한후에, 쓰레기가 통 밖에 버려지는 일이 줄어들었다고 하네요. 기업의 높으신분들이 "일을 하는거냐.. 노는거냐.." 라고 할 수 는 있겠지만. 재미가 있거나, 돈을 많이 주거나, 성취감이 있거나 등의 어떤 가치가 있지 않는이상 사람은 움직이지 않습니다. 이제 기업용 시스템도 재미있어야 하는 시대가..

엔터프라이즈 2.0 - 개념에서 부터 전략까지

Enterprise 2.0 Overview Terry.Cho (Principal consuntant/Oracle Korea) 제4의 물결 본격적인 현대의 기업 모델이 생성된 이후, 기업에서 요구되는 직원의 가치는 산업혁명과 정보혁명을 거치면서 비즈니스 환경의 변화에 따라서 끊임없이 변해 왔다. 18세기에 영국으로부터 시작되어 대량생산으로 대표되는 산업 혁명 시대에서는 직원이 하나의 잘 정리된 프로세스내의 부품으로써 동등한 능력으로써 일하는 것이 요구되었다. 개인의 능력이나 개성보다는 예측된 범위내에서 예측된 생산성을 보장해주는 직원으로써의 능력이 필요하였다. 산업 혁명에 이어 제3의 물결로 대변되는 정보화 혁명은 비즈니스에 IT 기술이 접목되면서 직원의 생산성이 급격하게 향상되었고, IT 기술에 의한 커..

DEVELOPER 2.0

요즘 블로그들이나 서점,잡지들을 보면 재미있는 것이 하나 있습니다. 예전에는 주로 기술들이 벤더가 소개하는 J2EE나, 거장들이 만들었던 RUP,UP,UML등이 유행이었는데, 반해서 요즘은 그 주류 자체가 없어진듯 보입니다. 특히 소프트웨어 공학론쪽의 서적들을 보면 그 옛날의 대가들의 이론에 관련된 서적은 보이지 않습니다. RUP, UML Distilled 이런 책들은 없어지고, XP,리펙토링,생산적인 개발자,졸트상을 받은 프로젝트 관리론 등등. 실용적이고 현업에 있는 사람들이 쓴 책이 주류를 이룹니다. 프레임웍쪽이나 랭귀지쪽으로 시선을 옮겨봐도, Ruby, 빌드 배포 자동화,Spring 와 같은 벤더에 의해서 주도되는 기술들 보다는 오픈소스 진영이나 실용주의 진영에서 작성된 서적들이 많더군요. 트렌드가..

아이폰 개발 서적 3권 퀵 프리뷰

요즘 제가 하고 관여하고 있는 프로젝트들이나 주변에서 진행되는 프로젝트들을 보면 기업에서 모바일 환경을 도입하거나 또는 모바일 환경을 대상으로 하는 프로젝트가 꽤나 많습니다. 이런 시스템에서 아키텍쳐를 그리기 위해서는 모바일 환경 특히 디바이스에 대한 이해가 많이 필요한데, 사실 WM 플랫폼은 패스...!! (미라지 폰을 사용하고 있으나 속도가 끔찍하게 느리고 OS가 불안한 관계로 그다지 추천 안함) 그래서 아이폰쪽을 살펴보고 있습니다. UI가 편리하고 개발환경도 좋은 탓에 기업에 적용시키기 좋을것 같고. 또한 아이폰에는 서버에서 폰으로 CALL BACK을 보낼 수 있는 아키텍쳐도 있기 때문에 기업환경에 잘 맞을것 같더군요. 그래서 개념이나 이해해볼까 해서 오전에 서점을 기웃거려서 3권의 책을 봤습니다...

국내 모바일 AppStore 오픈들을 지켜보면서.

금년들어서 국내의 S社와 K社에서 애플의 AppStore와 같은 개방참여형 Application Store를 오픈하고 있다. 한마디로 드는 느낌은? 잘되긴 그른거 같다. 먼저 해외 AppStore를 보면 1. 넓은 시장 구조 글로벌 마켓을 대상으로 하기 때문에, 시장 자체가 크다. 같은 애플리케이션을 개발해서 판매하더라도 판매할 수 있는 시장이 많다는 것이다. 2. 탄탄하고 단일화된 플랫폼 안드로이드나 아이폰 OS는 자체가 기술적인 완성도가 매우 높다. 기술도 전세계적으로 통용되는 기술이기 때문에 배워놓으면 써먹을 곳이 많다. 3. 기술지원과 커뮤니티 활성화 위의 플랫폼들은 이미 개발자 커뮤니티들의 후원을 받고 있고 관련자료나 서적이 매우 많다. 국내의 AppStore 애플이나 구글의 정책이 개발자 참여..

마이크로 블로그(트위터)의 기업 도입 전략-기업에서 마이크로 블로그 활용방안 및 구축 전략

기업에서 마이크로 블로그의 도입 지금까지 마이크로 블로그에 대해서 알아보았다. 그러면 이 마이크로 블로그 시스템을 기업에 어떻게 적용할 수 있을까? 기업 내부 협업 플랫폼으로써의 마이크로 블로그 먼저 기업 내부의 협업 플랫폼으로써 마이크로 블로그를 도입한다면 어떤 기대 효과를 얻을 수 있을지 살펴본다. 개인 브랜드 개발 트윗 메시지의 포스팅의 질은 개인의 브랜드와 직결된다. 전문성이 많은 포스트나 현재의 일 진행 상황을 자세하게 기록하면서 개인의 브랜드 가치를 향상 시킬 수 있으며, 특정화된 브랜드는 조직입장에서 업무의 효율성이 높은 직원을 선별해내고, 조직내에서 전문성을 가지고 있는 사람을 쉽게 찾을 수 있게 한다. 리스크 조기 감지 마이크로 블로그 내의 RT나 Hash Tag를 분석함으로써 현재 회사..

마이크로 블로그(트위터)의 기업 도입 전략 - 1.마이크로 블로깅 시스테

Micro blogging strategy for Enterprise Terry.Cho (Principal Consultant/Oracle Korea) 마이크로 블로깅의 대명사로 지칭되는 트위터는 2006년 서비스를 시작한 이후로 월간 순방문자수 1820만명(2009년5월 QuickTake 발표 자료 기준)를 기록하며, 대표적인 SNS 서비스로 자리 잡았으며, 미국 대선, 이란 대선등의 굴직한 사회적 이슈에 커다란 영향력을 행사하고 있다. 본 글에서는 마이크로 블로깅이 웹 생태계에서 폭발적인 인기를 얻는 요인에 대해서 분석하여 기업내부에서 마이크로 블로깅을 도입하여 그 장점을 활용하는 접근 전략에 대해서 소개한다. 마이크로 블로깅 정의 마이크로 블로깅은, 140자 내외로 자신의 상태나 감정(이하 트윗이라..