2020.03.11

블로그 | '데스크톱용 컨테이너가 온다'··· 윈도우 10X에 거는 기대

Eric Knorr | Computerworld
마이크로소프트가 자사의 듀얼 스크린 윈도우 10X 운영체제용으로 새로운 컨테이너를 만들어 레거시 윈도우 애플리케이션을 구동할 수 있도록 했다. 윈도우의 미래에 미치는 영향이 클 것으로 보인다.
 
ⓒ GettyImagesBank

컨테이너의 발흥지는 리눅스이지만, 마이크로소프트는 온 마음으로 컨테이너를 받아들였다. 윈도우 서버 2016을 시작으로 마이크로소프트는 윈도우 서버 컨테이너와 하이퍼-V 컨테이너 두 종류의 도커 호환 컨테이너를 제공했다. 그리고 2014년 마이크로소프트 애저의 리눅스 지원을 발표한 운명의 날 이후로 6년이 지난 지금, 개발자들은 일상적으로 윈도우 리눅스 서브시스템이나 애저 클라우드가 지원하는 리눅스 배포판에서 도커 컨테이너에 앱을 연결한다.

하지만 데스크톱용 컨테이너라면 어떨까? 이는 윈도우가 데스크톱 애플리케이션을 통제하는 방법을 완전히 바꿔 놓을 것이며, 윈도우 앱을 모바일 앱만큼이나 쉽고 빠르게 설치할 수 있다. 실제로 이런 컨테이너가 윈도우 10X라는 독특한 운영체제용으로 개발되고 있는데, 오는 가을 신형 서피스와 함께 출시될 예정이다.

2019년 10월 발표된 윈도우 10X는 마이크로소프트 서피스 네오(Surface Neo)용으로 개발된 것으로, 서피스 네오는 태블릿 크기의 화면 두 개가 양옆으로 열리는 그림책 같은 디바이스이다. 네오의 동생격인 서피스 듀오(Surface Duo)는 윈도우 10X 대신 개조한 안드로이드 운영체제를 구동한다. (전화 기능도 포함되어 있지만, 마이크로소프트는 한사코 휴대폰이라고 부르기를 거부한다.) 게다가 지난 달 열린 365 개발자의 날 행사에서 마이크로소프트는 자사의 Xamarin.Forms용 듀얼 스크린 SDK를 두 디바이스 모두와 호환되는 앱 개발에 사용할 수 있다고 발표했다.

그렇다면 컨테이너는 어디에 사용될까? 우선 이 컨테이너는 도커 컨테이너가 아니다. 마이크로소프트는 개발자를 과거와 완전히 단절된 새로운 세계로 끌어들이려 했던 UWP((Universal Windows Platform)의 실패에서 많은 것을 배운 것 같다. 개발자에게 윈도우 10X용으로 전혀 새로운 애플리케이션을 개발할 것으로 강요하지 않고, 기존 앱을 컨테이너에 담을 수 있도록 했다. 또 이 컨테이너는 하위 호환 파일 시스템과 레지스트리를 포함해 약간의 수정으로 Win32 앱을 실행할 수 있다. 야심 있는 개발자라면 새로운 10X API에 맞춰 새로 앱을 개발해 듀얼 스크린을 포함한 다른 전용 기능을 이용할 수도 있다.

어쨌든 결과적으로 모든 윈도우 10X용 앱은 컨테이너에서 구동한다. 윈도우 10X는 Win32, MSIX, 네이티브의 세 가지 컨테이너를 지원한다. 예상대로 Win32 컨테이너는 10X 상에서 Win32 앱을 거의 수정하지 않고 실행할 수 있다. 하지만 이 구식 앱은 시스템 자원 대부분을 빨아들이고 호환성 문제를 일으킬 위험도 크다. MSIX 컨테이너는 더 안정적이며, 네트워크 대역폭도 최적화하고 필요한 디스크 공간도 적다. 하지만 Win32 앱을 담으려면 개발자의 노력이 더 많이 들어간다.

UWP 앱을 담을 수 있는 것은 네이티브 컨테이너이다. 시스템 자원과 배터리 소모량이 제일 적으면서 최고의 사용자 경험과 보안 및 프라이버시를 제공한다. 마이크로소프트는 분명 개발자가 네이티브 컨테이너를 사용해 10X의 네이티브 기능을 이용하기를 원할 것이다. 하지만 세 가지 컨테이너의 장단점이 다르기 때문에 강요할 수는 없다. 

Win32와 MSIX 컨테이너가 매력적인 이유는 구식 앱을 완전히 새로운 환경에서 구동할 수 있는 방안을 제공한다는 것이다. 여기에 더해 Xamarin.Forms 툴을 이용해 윈도우 개발자가 10X와 안드로이드 모두에서 구동하는 앱을 개발할 수 있다. 이 두 가지 변화는 마이크로소프트가 마침내 족쇄와 같은 하위 호환성 문제에서 벗어나 미래를 향해 나아갈 수 있는 길을 찾은 것처럼 보인다. 즉 과거와 완전히 단절한, 더 나은 윈도우로의 길이 열린 것이다.

그렇다면 과연 미래는 어떤 모습일까? 스티븐 보건니콜라스는 “미쳤다고 할지 모르지만, 윈도우 11은 리눅스에서 실행될 수도 있다”고 과감한 전망을 내놓기도 했다. 서피스 듀오로 마이크로소프트가 자사의 첫번째 안드로이드 디바이스를 출시할 시점이라는 점을 고려하면, 윈도우 NT 커널을 리눅스 커널로 교체한다고 해도 터무니없는 일은 아닐 것이다.

생각해 보면, 컨테이너 덕분에 윈도우 역사상 처음으로 마이크로소프트가 과거에 발목 잡히지 않고 더 나은 안정성과 편리한 앱 설치, 세상에서 가장 견실한 오픈소스 커뮤니티를 갖추게 될지도 모른다. editor@itworld.co.kr



2020.03.11

블로그 | '데스크톱용 컨테이너가 온다'··· 윈도우 10X에 거는 기대

Eric Knorr | Computerworld
마이크로소프트가 자사의 듀얼 스크린 윈도우 10X 운영체제용으로 새로운 컨테이너를 만들어 레거시 윈도우 애플리케이션을 구동할 수 있도록 했다. 윈도우의 미래에 미치는 영향이 클 것으로 보인다.
 
ⓒ GettyImagesBank

컨테이너의 발흥지는 리눅스이지만, 마이크로소프트는 온 마음으로 컨테이너를 받아들였다. 윈도우 서버 2016을 시작으로 마이크로소프트는 윈도우 서버 컨테이너와 하이퍼-V 컨테이너 두 종류의 도커 호환 컨테이너를 제공했다. 그리고 2014년 마이크로소프트 애저의 리눅스 지원을 발표한 운명의 날 이후로 6년이 지난 지금, 개발자들은 일상적으로 윈도우 리눅스 서브시스템이나 애저 클라우드가 지원하는 리눅스 배포판에서 도커 컨테이너에 앱을 연결한다.

하지만 데스크톱용 컨테이너라면 어떨까? 이는 윈도우가 데스크톱 애플리케이션을 통제하는 방법을 완전히 바꿔 놓을 것이며, 윈도우 앱을 모바일 앱만큼이나 쉽고 빠르게 설치할 수 있다. 실제로 이런 컨테이너가 윈도우 10X라는 독특한 운영체제용으로 개발되고 있는데, 오는 가을 신형 서피스와 함께 출시될 예정이다.

2019년 10월 발표된 윈도우 10X는 마이크로소프트 서피스 네오(Surface Neo)용으로 개발된 것으로, 서피스 네오는 태블릿 크기의 화면 두 개가 양옆으로 열리는 그림책 같은 디바이스이다. 네오의 동생격인 서피스 듀오(Surface Duo)는 윈도우 10X 대신 개조한 안드로이드 운영체제를 구동한다. (전화 기능도 포함되어 있지만, 마이크로소프트는 한사코 휴대폰이라고 부르기를 거부한다.) 게다가 지난 달 열린 365 개발자의 날 행사에서 마이크로소프트는 자사의 Xamarin.Forms용 듀얼 스크린 SDK를 두 디바이스 모두와 호환되는 앱 개발에 사용할 수 있다고 발표했다.

그렇다면 컨테이너는 어디에 사용될까? 우선 이 컨테이너는 도커 컨테이너가 아니다. 마이크로소프트는 개발자를 과거와 완전히 단절된 새로운 세계로 끌어들이려 했던 UWP((Universal Windows Platform)의 실패에서 많은 것을 배운 것 같다. 개발자에게 윈도우 10X용으로 전혀 새로운 애플리케이션을 개발할 것으로 강요하지 않고, 기존 앱을 컨테이너에 담을 수 있도록 했다. 또 이 컨테이너는 하위 호환 파일 시스템과 레지스트리를 포함해 약간의 수정으로 Win32 앱을 실행할 수 있다. 야심 있는 개발자라면 새로운 10X API에 맞춰 새로 앱을 개발해 듀얼 스크린을 포함한 다른 전용 기능을 이용할 수도 있다.

어쨌든 결과적으로 모든 윈도우 10X용 앱은 컨테이너에서 구동한다. 윈도우 10X는 Win32, MSIX, 네이티브의 세 가지 컨테이너를 지원한다. 예상대로 Win32 컨테이너는 10X 상에서 Win32 앱을 거의 수정하지 않고 실행할 수 있다. 하지만 이 구식 앱은 시스템 자원 대부분을 빨아들이고 호환성 문제를 일으킬 위험도 크다. MSIX 컨테이너는 더 안정적이며, 네트워크 대역폭도 최적화하고 필요한 디스크 공간도 적다. 하지만 Win32 앱을 담으려면 개발자의 노력이 더 많이 들어간다.

UWP 앱을 담을 수 있는 것은 네이티브 컨테이너이다. 시스템 자원과 배터리 소모량이 제일 적으면서 최고의 사용자 경험과 보안 및 프라이버시를 제공한다. 마이크로소프트는 분명 개발자가 네이티브 컨테이너를 사용해 10X의 네이티브 기능을 이용하기를 원할 것이다. 하지만 세 가지 컨테이너의 장단점이 다르기 때문에 강요할 수는 없다. 

Win32와 MSIX 컨테이너가 매력적인 이유는 구식 앱을 완전히 새로운 환경에서 구동할 수 있는 방안을 제공한다는 것이다. 여기에 더해 Xamarin.Forms 툴을 이용해 윈도우 개발자가 10X와 안드로이드 모두에서 구동하는 앱을 개발할 수 있다. 이 두 가지 변화는 마이크로소프트가 마침내 족쇄와 같은 하위 호환성 문제에서 벗어나 미래를 향해 나아갈 수 있는 길을 찾은 것처럼 보인다. 즉 과거와 완전히 단절한, 더 나은 윈도우로의 길이 열린 것이다.

그렇다면 과연 미래는 어떤 모습일까? 스티븐 보건니콜라스는 “미쳤다고 할지 모르지만, 윈도우 11은 리눅스에서 실행될 수도 있다”고 과감한 전망을 내놓기도 했다. 서피스 듀오로 마이크로소프트가 자사의 첫번째 안드로이드 디바이스를 출시할 시점이라는 점을 고려하면, 윈도우 NT 커널을 리눅스 커널로 교체한다고 해도 터무니없는 일은 아닐 것이다.

생각해 보면, 컨테이너 덕분에 윈도우 역사상 처음으로 마이크로소프트가 과거에 발목 잡히지 않고 더 나은 안정성과 편리한 앱 설치, 세상에서 가장 견실한 오픈소스 커뮤니티를 갖추게 될지도 모른다. editor@itworld.co.kr

X