서비스 플랫폼 구축을 위한 솔루션은?

새벽에 오랜만에 씩씩거리며 자료를 찾아 보고 정리하는 것 같다^-^.

웹 서비스 플랫폼을 구축할 때 여러분은 어떤 솔루션을 사용할 것인가? 상용 제품 또는 오픈소스. 이 두 대안중 하나를 선택할 때 어떤 기준으로 결정할 것인가? 가격,성능, 그리고 기술지원. 언듯 가격과 성능면에서 보면 오픈소스가 구미에 당겨도 실제 오픈소스 솔루션을 사용한다는 것은 쉽지 않은 결정이다. 왜냐하면 그만큼 오픈소스를 효과적으로 다루는 유능한 개발자가 확보돼야 하기 때문이다. 반대로 이야기하면 기술지원의 문제가 발생하기 때문이다. 그러나 찾아보면 의외로 오픈소스 커뮤니티의 집단지성이 기술지원을 해주고 , 오픈소스 컨설팅 회사와 전문가를 쇼셜 네트웍을 통해 쉽게 만날 수 있다.

현재 성공적으로 서비스를 운영하고 있는 서비스들의 구축 솔루션을 조사해 보았다 - 아마존, 구글, 유투브, 플리커 , 트위터. 이들 업체들이 공통적으로 사용하는 솔루션만 뽑아보면 - Linux , Java , Apache , MySQL ,Memcached 등이 자주 애용된다. 사용제품은 아마존의 DB가 오라클을 사용하고 있는데 아마 상품 DB에 사용되고 SimpleDB서비스에는 MySQL이 사용될 것으로 예상된다.

그리고 아마존 웹 서비스의 API 관리를 위해 Jboss를 사용하고 있는 것이 눈에 띠인다. 아마존의 경우 오픈 API만으로 플랫폼 사업을 하기때문에 오픈 API의 관리와 모니터링용으로 Jboss를 소프트웨어 버스로 이용하는 것으로 보인다.

상황이 이 정도면 오픈소스를 채택하는 데 있어 선입관을 가릴 필요가 없어 보인다. 국내 유력 통신사인 S사를 비롯하여 현재 많은 서비스 회사들이 엄청한 구축 및 유지보수 비용을 줄이기 위해 기존 상용 솔루션을 오픈소스로 전환하고 있다고 한다. 어차피 오픈소스가 피할 수 없는 선택이라면 빠른 도입과 준비야 말로 많은 경쟁력을 확보하는 지름길일 것이다.

마지막으로 첨언하면  기업들은 결사적으로 오픈소스 개발자와 엔지니어를 양성하고 이들에게 좋은 대우를 해주는 것이 바로 IT 관련 비용 절감을 이루는 첫번째 길이라는 사실을 기억하는 것이 좋을 것이다.

1. 아마존
Linux
Oracle
C++
Perl
Mason ( 멀티 에이전트 시뮬레이션 라이브러리)
Java
Jboss ( 서비스 버스 )
Servlets

2. 유튜브
Apache
Python
Linux (SuSe) 
MySQL
psyco(python to C 동적 컴파일러)
lighttpd ( 비디오용 ) 

3. 플리커
PHP
MySQL Shards
Memcached (캐쉬)
Squid ( HTML과 이미지를 위한 리버스 프록시 웹 캐쉬)
Linux (RedHat) Smarty
Perl PEAR (XML 과 Email 파싱용)
ImageMagick(이미지 프로세싱용)
Java(노드 서비스용)
Apache SystemImager (Deployment용)
Ganglia ( 분산 시스템 모니터링)
Sucon ( 손쉬운 Deply를 위해 subversion 레파지토리에 필수적인 시스템 설정 파일들을 저장하기 위해 사용)
Cvsup ( 네트웍상의 파일들을 분산하고 업데이트하기 위해 사용)

4. 구글
Linux
Python, Java, C++

5. 트위터(Twitter)
Ruby on Rails
Erlang
MySQL
Mongrel ( 하이브리드 Ruby/C HTTP 서버 - 작고,빠르고,보안에 중점을 둠)
Munin
Nagios
Google Analytics
AWStats( 실시간 로그 분석용 )
Memcached


Posted by 박재현

댓글을 달아 주세요


지금은 하드코딩을 하지 않지만 1994년 부터 자바 프로그래밍을 해 온 개발자로서 선마이크로시스템은 여러모로 많은 생각을 하게 하는 회사입니다. 제임스 고슬링을 통해 자바 플랫폼을 탄생.개발했으나 그 확산에 있어서는 가장 걸림돌이 된 회사가 바로 썬마이크로시스템(이하 썬사)이라는 생각때문입니다.

사용자 삽입 이미지
그 간 , 자바 플랫폼은 그 간 윈도우 지배하에 있던 저항세력에게 플랫폼 중립적인 개발을 가능하게 하여 특정 플랫폼에 종속되지 않는 다는 부정확한 정보와 객체지향 언어중 가장 객체지향적이며 단순하여 배우기 쉽고 쓰기 쉽다라는 부정확한 이유때문에 급속하게 확산되었습니다.  또한 현재 확산되고 있는 RIA를 가장 먼저 애플릿이란 이름으로 가장 최초로 소개하기도 하였습니다. 지금도 열심히 자바 플랫폼으로 웹 오피스를 개발하고 있는 저로서 좀 비딱하게 글을 쓰는 이유는 실제 너무 초기의 모습과 달리 자바가 지금처럼 비만아가 되고 자바 플랫폼이 비확산된데 썬사가 큰 공헌을 하였기 때문입니다.

지금에서야 오픈소스가 되었지만 과거 줄기차게 라이센스를 고집하며 비공개를 고수하고 결국 MS와의 자바 라이센스 분쟁으로 인해 윈도우 운영체제에서 자바 VM(Virtual Machine)을 제거하여 자바 플랫폼의 확산을 결정적으로 막고 ,  모두의 자바를 썬사만의 자바로 만들어 자바의 초기 탄생 철학과 무관하게 플랫폼에 종속적이고 , 아무리 배워도 끝이없는 자바를 만들고야 말았다고 생각합니다. 만약 다시 개발언어를 고려해서 배운다면 글쎄 자바를 선택하게 될지는 모르겠습니다. ^-^  사실 이런 면에서 썬사가 자바를 낳은 아버지라면 IBM 야 말로 자바를 키운 아버지라 할 수 있습니다.

물론 최근에 들 썬사가 조금 달라지나 싶었습니다. 구글과 제휴로 구글 툴바 배포시 자바 VM을 배포하게 되었고 자바를  오픈 소스화를 하는 등  CEO가 바뀐 이후에 정말 좀 바뀌나 싶었습니다. 그런데 최근 들어, 역시나 하는 일들이 생겨서 좀 조언을 하고 싶습니다.

- 구글 툴바와 자바 VM
구글 툴바를 깔게되면 자동으로 함께 자바VM 을 설치하고 반대로 자바 VM을 설치하면 구글 툴바의 설치를 권장합니다. 양사의 제휴로 맺어진 것이죠. 그런데 문제는 자바 VM 을 배포하려는 업체에서 배포시 구글이 노출되는 것을 싫어할 수 있다는 것 입니다. 구글과의 경쟁관계에 있는 업체에서는 더더욱 그러합니다. 그럴 경우 , 구글과의 계약에 의해 구글을 뺄 수 없다는 것은 이해합니다. 그러나 구글을 빼는 조건으로 다른 반대 급부(금전)를 막대하게 요구하는 것은 소탐대실이라는 생각이 듭니다. 자바VM이 많이 깔릴 수록 결국 선사에서도 많은 이득을 얻기 때문입니다. 설마 , 정말 썬사에서 반대 급부를 요구하지는 않을 것이라 믿습니다!

- 위피 무선 플랫폼과  자바 VM(J2ME)
어리석은 정보통신부의 표준화 정책의 결과로 모든 휴대폰에는 위피 플랫폼을 탑재해야 합니다. 더 더욱 어리석은 표준화 정책의 결과는 무선 인터넷 플랫폼 위피의 핵심 기술로 모바일 자바를 2005년 4월 부터 의무적으로 탑재해야 한다는 것 입니다. 물론, 모바일 자바가 무료로 사용할 수 있고 원천 기술을 자체적으로 해결할 수 있다면 문제가 될 것은 없습니다. 그러나 모바일 자바의 라이센스를 갖고 있는 썬사가 라이센스를 요구하게 되면 어떻게 될까요? 우려했던 것처럼 썬사가 모바일 자바의 로얄티를 2배 인상하여 휴대폰 1대당 200-400원 , 연간 100억원 이상의 라이센스비를 요청했습니다. 결국  정보통신부에서 수수료 없이 선사의 영업을 대신해는 격이 되었죠. 마치 물에 빠진 사람을 구해줬더니 보따리 내놓으라는 식이 되어 버렸습니다. 설마 정통부에서 이런 현실을 그대로 두진 않을 것이라고 생각합니다. 아마 이렇게 되면 썬사는 더더욱 소탐대실 하게 되겠죠.

지금도 열심히 자바 플랫폼의 버그를 수정하면서 고생하는 개발자를 보면서 자바 플랫폼이 앞으로도 더욱 발전하리라 믿습니다. 이를 더욱 공고히 하기 위해 썬사에서는  좀 더 열린 마음으로 장기 투자하는 안목을 키웠으면 합니다. 요즘 가치주, 장기 투자가 유행인데요....







Posted by 박재현

댓글을 달아 주세요

  1. 우드스톡 2007.10.31 09:57  댓글주소  수정/삭제  댓글쓰기

    자바의 아버지가 IBM이라니 공감입니다 ^^ 이클립스 때문에요, 루비에 대한 고슬링의 인터뷰를 보면 자바를 과거의 C 처럼 생각하는 듯 했습니다. 개발자의 편의성 보다는 성능 위주로요. C는 과거 어쎔의 지위를 물려받았고요. 일부 다이나믹 언어들이 자바와 C# 가상머신에 모두 정식으로 옮겨지고 있으니 Effective ~ 시리즈를 읽기 싫으면 취미용 대안이 될수도 있겠네요 ^^ 덕타이핑이 Java의 원시변수 변환보단 확실히 객체지향적입니다.

    • Favicon of https://wisefree.tistory.com BlogIcon 박재현 2007.10.31 21:55 신고  댓글주소  수정/삭제

      사실 웹이라는 게 하얀 도화지같은 것이라고 생각합니다. 하얀 도화지에 그리고 싶은 것을 자유롭게 그리는 것이 필요하고 그렇게 되리라 생각합니다. 그런면에서 이클립스라는 넘이 개발자들에겐 문방사우가 아닐까 싶습니다...




사용자 삽입 이미지
 
웹2.0을 말하는 회사치고 오픈 API와 개발자들 커뮤니티에 대해 고민하지 않는 업체는 없을 것 입니다. 그 간 씽크프리에서 주로 해외 시장을 대상으로 개발을 하다 보니 국내에서 그 간 얻은 노하우를 개발자 분들과 공유할 만한 기회가 없기에 노심초사 여러 방법에 대해 고민을 하게 되었습니다. 본래 내부에서 ThinkFree Techday 같은 이름으로 세미나를 준비하려는 생각을 하던 차에 비즈델리의 도움을 받아 행사를 준비하게 되었습니다.


다소 아쉬운 것은 해당 워크샵이 유료로 진행되어 다소 참석에 부담가는 분들이 계실 수 있을 것 같다는 사실입니다. 장소 섭외 등 기본적인 비용이 드는 것을 다른 협찬을 통해 줄일까 고민하다 일이 너무 번거롭게 되는 것 같아 기존 워크샵과 동일하게 진행하되 씽크프리에서 참석하시는 분들을 위해 다양한 것들을 제공해 드릴려고 준비중에 있습니다. 혹, 부득불 참석하고자 하시는 데 사정이 안되시는 분들이 계시면 위의 내용을 트랙백으로 남겨주시면 초대토록 하겠습니다. 자바 /Ajax /SaaS 등 애플리케이션 위주의 서비스를 기획/개발하시는 분들께 많은 도움이 될 것 입니다.^-^

Posted by 박재현

댓글을 달아 주세요