본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

칼럼 | MS의 리눅스 수용 '너무 늦었다'

OSS 게시글 작성 시각 2016-04-07 14:22:42

2016년 04월 06일 (수)

ⓒ CIO Korea, Paul Venezia | InfoWorld



마이크로소프트가 리눅스와 관련된 발표를 잇달아 내놓고 있다. 리눅스용 SQL 서버를 개발하고 있고, 최근 열린 '빌드(Build)' 행사에서는 윈도우에서 실행되는 네이티브 우분투 리눅스(Ubuntu Linux) 바이너리를 공개했다. 윈도우 10 기반으로 배시(Bash)를 시연하기도 했다.

그러나 마이크로소프트가 리눅스용 SQL 서버를 내놓는 것은 기술적인 발전이 아니라 비즈니스 측면으로 보는 것이 더 정확하다. 다행히도 발머가 마이크로소프트를 떠났고 미래 클라우드 환경이 윈도우가 아닌 리눅스가 주도할 것임을 깨달은 것이다(사실 마이크로소프트는 이미 오래전에 이 전투에서 패배했다). 애저(Azure) 클라우드를 봐도 도커(Docker)와 쿠베르네시스(Kubernetes), NoSQL 데이터베이스 등 오픈소스 클라우드 기술이 널리 사용되면서 리눅스를 지원하지 않을 수 없게 됐다.

리눅스용 SQL 서버는 마이크로소프트의 매출을 늘리는 데도 도움이 될 것이다. 그동안 SQL 서버의 주요 경쟁 제품은 리눅스를 지원했지만 SQL 서버는 리눅스를 외면하면서 결국 마이크로소프트는 라이선스는 물론 유지보수 매출까지 날려버렸다. 마이크로소프트 SQL 서버는 우수한 데이터베이스지만 오래전에 멀티플랫폼 프로세스를 지원했어야 했다. 이에 따라 현재 마이크로소프트 SQL 서버가 운영되는 구형 윈도우 시스템 가운데 상당수가 리눅스로 전환될 것으로 보인다. 마이크로소프트로서는 '윈도우+SQL 서버' 조합이 아닌 것이 아쉽겠지만 오라클(Oracle), DB2와 리눅스를 사용하는 것보다는 낫다.

윈도우의 우분투 지원은 흥미로운 변화지만, 그 지원 방식에 대해 일부 명확하게 해야 할 부분이 있다. 이것은 가상머신(VM)에서 리눅스를 실행하는 방식이 아니다. 리눅스 커널도 없고 하이퍼바이저 에뮬레이팅 하드웨어도 없다. 윈도우 플랫폼에서 실행할 수 있는 유닉스 환경인 '시그윈(Cygwin)'도 아니고, 컨테이너는 더더구나 아니다. 윈도우 10에서 실행되는 우분투에는 네이티브 우분투 플랫폼에서 실행되는 바이너리와 같은 ELE 실행 바이너리가 들어가 있다.

마이크로소프트는 시스템 호출 변환 계층(System call translation layer)의 일종을 구현했다. 리눅스 바이너리가 시스템 호출을 하면 '리눅스용 윈도우 서브시스템(Windows Subsystem for Linux)'이 이를 윈도우 시스템 호출로 변환해 요청한 작업을 수행하는 방식이다. 이것은 '와인(WINE)'과 비슷한데, 리눅스에서 실행되는 윈도우 바이너리도 이와 유사한 방법으로 실행된다. 많은 바이너리가 작동하지 않는다는 점도 역시 와인과 비슷하다. 마이크로소프트는 윈도우에서 리눅스를 지원하는 오랜 여정을 이제 시작했을 뿐이니 앞으로 더 많은 부분이 개선될 것으로 보인다.

여기에서 중요한 의문이 생긴다. 마이크로소프트가 왜 지금 이 시점에 갑자기 캐노니컬(Canonical)과 손잡고 변환 계층을 개발했을까? 아마도 그 이유는 리눅스용 SQL 서버와 비슷할 것이다. 즉 개발자, 시스템 관리자, 개발 엔지니어를 대상으로 한 데스크톱 부문 경쟁에서 뒤처지고 있기 때문이다. 이들 대부분은 윈도우가 아닌 리눅스 서버 플랫폼에서 작업하므로, 리눅스를 개발하면서 노트북 컴퓨터에서 윈도우를 사용하는 것은 귀찮거나 무익하다.

그렇다면 개발자가 윈도우 노트북 컴퓨터에서 리눅스 기반 앱을 개발하는 환경을 순순히 수용할까? 안타깝지만 그럴 가능성이 크진 않을 것 같다. 개발한 앱을 실행하려면 원격 서버를 이용하거나 윈도우에서 VM을 실행시켜야 하고 이를 준비하는 과정이 번거롭기 때문이다. 개발자가 리눅스 노트북 컴퓨터나 맥을 선호하는 것도 같은 이유다. 맥의 경우 OS X에서 지원하는 BSD를 이용하면 필요한 작업을 훨씬 쉽게 처리할 수 있다.

컨퍼런스 등 개발자가 많이 모이는 곳에 애플 로고가 넘치는 것도 비슷한 맥락이다. 기본적으로 어떤 측면에서 봐도 유닉스나 리눅스 등 *nix 기기에서 *nix 시스템을 이용해 작업하는 것이 더 쉽다. 세상은 리눅스 기반의 클라우드 환경으로 이동하고 있고 이는 거부할 수 없는 흐름인 것이다.

이번 발표는 마이크로소프트가 리눅스를 포용한 것이다. '수용, 확대, 근절'이라는 기존의 전략으로 해석하기도 쉽지 않다. 뒤늦게 리눅스를 수용하는 쪽으로 발을 내디딘 것으로 보는 게 더 정확하다. 물론 '시작했다'는 것은 의미가 있다. 과거였다면 이것조차 불가능했을 것이다. 리눅스가 클라우드 시장에서 승리하고 있고 좋든 나쁘든 세상이 그렇게 변하고 있다는, 누구나 보고 있는 사실을 외면하는 공룡 기업이었을 뿐이다.

그 전에도 그랬다. 마이크로소프트는 매번 출발이 늦었다. (진위가 의심스럽기는 하지만) '누구나 640K면 충분하다'고 주장한 것부터 가상화가 중요하다는 사실을 깨닫지 못해 인터넷을 무시한 것까지 사례는 얼마든지 있다. 그런 의미에서 마이크로소프트는 결코 '혁신기업'이 아니다. 그러나 일단 경쟁에 뛰어들면 '골리앗'의 힘과 풍부한 자원을 쏟아부어 경쟁력 있는 제품이나 서비스를 구현했다.

하지만 이번 경우 대응이 매우 많이 늦었고, 경쟁력 있는 제품도 내놓지 못하고 있다. 단지 살아남기 위해 경쟁 기술을 수용하고 있다. 이는 마이크로소프트 역사상 전례가 없었던 일이다. 이 흥미로운 전개가 어떻게 끝을 맺을지 알 수 없지만 한 가지 분명한 것은 있다. 필자는 개발자와 관리자가 제약 투성이인 윈도우 10 기반 우분투 환경을 서둘러 수용하지는 않으리라고 확신한다. 그들은 맥과 민트(Mint) 리눅스 기기를 놓치 않을 것이다.



※ 본 내용은 한국IDG(주)(http://www.itworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒITWORLD. 무단전재 및 재배포 금지


[원문출처 : http://www.ciokorea.com/column/29195]

맨 위로
맨 위로