클라우드 107

대용량 B2C 시스템에 대한 생각 전환

http://rainblue.kr/1045 트위터에서 재미있는 글을 찾아서 읽다보니, 발상의 전환이 필요하다고 생각되서 정리해 봅니다. -- 국내에는 사용자가 많지 않지만, 트위터보다 많은 트래픽을 자랑하는 마이크로 블로깅 도구입니다. (소셜 네트웤의 넘버 투 라고 자랑하네요.) 하루에 5억 PV, 초당 4만 request, 하루에 3TB 데이터를 저장하는 서비스를 위해 1천대 이상의 서버를 운용하는 텀블러. 4명의 엔지니어가 전형적인 LAMP 스택으로 시작했지만, 지금은 20명의 엔지니어가 점점 성장하는 사이트를 분산환경으로 진화시키고 있다네요 -- 초당 4만 TPS, 경이로운 숫자입니다. 처음에는 LAMP로 개발했고 현재는 Scala로 전환중이며, 메인 데이타 베이스는 아직도 MySQL에 Shardi..

개인 클라우드 서비스에 대한 고민

개인 클라우드 서비스를 하다보니.. 고민할 것이 정말 많다. 특히 공유 부분에서 기존의 슈가싱크처럼 B2C 기반으로 공유된 대상이 READ만 가능한 형태로 갈것인가? MS 쉐어포인트 처럼, WRITE 가 가능한 형태로 갈것인가? 이건 서비스 특성에 대한 변화 부터 요구 한다. 슈가 싱크는 B2C 기반의 개인 클라우드 서비스, 쉐어포인트등은 SmartWorkPlace처럼 Share보다는 Collaboration에 대한 요구 사항이기 때문에 서비스의 사상 자체가 변한다. 또한 이러한 개인 클라우드 서비스는 클라우드에 대한 어마어마한 투자를 바탕으로 하고 있기 때문에 안정적인 수익 모델이 있지 않는 이상은 쉽게 대규모 서비스를 하기가 어렵다. 드롭박스야 이미 20% 유료화 전환율을 가지고 있고, 국내의 통신사..

Azure가 아마존을 이길 수 있을까?

요즘 일이 바뻐서 블로그 포스팅을 거의 못하고 있습니다. 많이 버는 만큼, 그동안 충전해왔던 지식이나 노하우를 주로 방전하는 느낌입니다. 어쨌거나, 클라우드의 양대 산맥인 아마존 AWS와 Microsoft Azure에 대한 이야기를 해보려고 하는데.. Azure vs AWS의 승자가 누구이냐? 인데. 결론 부터 이야기 하면 AWS의 손을 들어주고 싶습니다. Blob Storage나 DB 서비스와 같은 액세사리성 서비스는 양쪽다 어느정도 구색을 갖춰 놨다고 했을 때, 핵심인 Compute Service가 문제인데. 기본적으로 Azure는 .NET 기반의 PaaS만 지원하지만, Amazon은 모든 플랫폼을 올릴 수 있는 IaaS 수준 서비스를 제공합니다. 이말인즉슨, 내가 필요한 소프트웨어를 마음대로 올릴 ..

요즘 해외쪽 대규모 분산 환경 유행 기술

언어는 Erlang을 많이 쓰는것 같고, 특히 Scale Out이나 Concurrency 처리가 용이하며, 에러 핸들링 처리 기능이 강력하다. 여기에 생산성 측면에서 Python이 사용되고 Native Handling을 위해서 C가 여전히 강세 맨 앞단에 Reverse Proxy 개념으로 nginx가 apache를 대처하면서 올라오고 있고, DataGrid는 memcahed보다는 이제는 Redis를 많이 사용하는 것으로 보이고 NoSQL은 Dynamo 계열의 Riak이 많이 사용된다. RDB야 여전히 MySQL이고 대규모 시스템이 자바로 짜여지는 일은 드문듯 앞으로 살아 남을려면 NoSQL 하나랑 Erlang정도는 기본으로 익혀야 할듯

클라우드 컴퓨팅의 새로운 분류 3P Model 그리고 애플의 iCloud

클라우드 컴퓨팅이 IaaS,PaaS,SaaS와 같은 서비스 제공자 입장 Private,Public 클라우드와 같은 사용 대상에 대한 입장에 대한 정의가 이제는 다 이루어졌고, 구축 및 서비스가 성숙해가는 단계에서 근래에 시트릭스에서 3P 라는 클라우드 컨셉을 발표했다. 기존 클라우드가 기업 내부에서 사용하는 Private 기업이 외부 자원을 사용하는 Public 이었다면 여기에 하나 더해서 + Personal Cloud의 개념을 추가하여 발표하였다. 새로운 클라우드 컴퓨팅 개념이라기 보다는 기존에 있었던 형태의 서비스를 조금 관점을 바꿔서 체계화 시킨 것에 불과하지만, 이 체계화 자체가 의미를 갖는다. Personal Cloud는 기업이 아니라 각각의 개인에게 클라우드 서비스를 제공한다는 개념이다. 즉 ..

MongoDB Deployment 아키텍쳐

MongoDB Deployment 아키텍쳐를 간단하게 보면 다음과 같다. mongos들을 앞단에 쭈욱 늘어놓고, 이는 라우터의 역할을 한다. mongos간의 load balancing은 앞단에 L4등의 로드 밸런서를 사용하고, Cache Hit율등을 높이기 위해서 L4는 Hash 방식등의 Sticky setting을 한다. 뒷단에 mongod를 배치하고, 최소한 3 copy replica 구조로 설정한다. inter data center에 대한 replication을 설정하고, 이는 DR이나 Back up 용도로 사용한다 inter data center replication은 항상 여러가지 숙제를 주는데, 이 경우 backbone의 속도 차이로 인하여 data의 일관성이 깨질 수 있으니, 1. DR/Ba..

분산 처리 오픈 소스 Gearman 퀵리뷰

정리는 아래 PPT에 잘되어 있고 쉽게 요약하면, Async Queue + Working 서버다 Request를 Queuing 했다가, 뒤의 Work Process로 넘겨줘서 작업을 비동기로 처리해주는 형식이고 예전 Tuxedo와 같은 TP 모니터와 유사한 구조를 갖는다. Hadoop과 같은 Map & Reduce 의 분산 처리 구조와도 비슷하고 야후등의 레퍼런스도 있고 memcached나 mogileFS를 만든 danga.org의 작품이기도 하다. 일단 단순성이 높고, 사용성도 편리해서 대용량 분산 처리에 사용하기는 편할듯. 단 예전 TP 모니터에서 봤듯이, 작업 배분을 위한 Worker Process들의 Registration을 처리하는 BBL과 같은 Registration Table에 별도의 성능 ..

요즘 클라우드 관련 뉴스

클라우드 Security에 대한 글 하나 http://blogs.msdn.com/b/education/archive/2011/08/03/how-do-you-approach-cloud-security.aspx 네이트 사건도 있고, 점점 중요해지는 보안, 그러나 비용과 시간 때문에 맨날 경시 되는 보안 루머-Apple's rumored 'Replay' service a ways off http://news.cnet.com/8301-31001_3-20089094-261/apples-rumored-replay-service-a-ways-off/ 애플이 동영상 컨텐츠에 대한 클라우드 서비스를 시작하려한다는 루머입니다. 그 큰 데이타 센터 지어놓고, iCloud에서 Sync 만 제공하기에는 부족하고 몬가 꾸미고 있..