All Things IT

윈도우에 얽매이지 않는 "사티야 나델라의 마이크로소프트" 본문

마이크로소프트(MS)

윈도우에 얽매이지 않는 "사티야 나델라의 마이크로소프트"

올티아티 2014. 12. 7. 13:41
반응형

11월 12일에 개최된 Microsoft(마이크로소프트)의 개발자 대상 행사 Connect ();에서 .NET Framework(프레임워크) 및 서버 측 .NET Core Runtime(코어 런타임) 등이 오픈 소스화 되었다고 발표되었다. 이 오픈 소스 화와 동시에 Microsoft는 .NET Framework의 멀티 플랫폼(멀티 운영 체제) 화를 추진하기 위해 Linux(리눅스) 및 Mac OS X 용 .NET Framework를 발표했다.


올해 4월에 개최된 Microsoft 이벤트 "Build 2014"에서도 .NET Framework의 오픈 소스화가 발표되어 있었지만, 이번 발표는 상당히 인상적이었다. .NET Framework를 클라이언트 / 서버 측 모두에서 개방하여 멀티 플랫폼 화를 진행하겠다는 내용을 공개해 보인 것이다.


그래서 이번에는 Connect (); 행사에서 발표된 내용을 토대로 향후 사티아 나델라(Satya Nadella) 씨가 CEO가 된 Microsoft사가 어떻게 변화해 나가고 있는지를 분석해 본다.



.NET이 멀티 플랫폼화 되다


Connect (); 행사에서 발표된 .NET Framework의 오픈 소스화. 4월의 Build 개발자 행사에서 발표된 ".NET Foundation(재단)"에서 .NET의 소스 코드를 GitHub(깃허브)에 공개했다.



Connect (); 개발자 행사에서 .NET Core Runtime과 Framework의 오픈 소스화를 발표하는 스캇 구쓰리 씨 (Connect (); 행사 기조 강연 영상에서)



이와 동시에 스캇 구쓰리 씨는 Microsoft가 Linux 및 Mac OS X에 .NET Core Runtime / Framework를 오픈 소스로 제공한다고 발표했다


.NET Core Runtime 및 .NET Core Framework의 오픈 소스 화에 더해, Build 행사에서 오픈 소스로 발표된 ASP.NET과 C# 등의 구성 요소를 합치면 무려 .NET Framework에서 거의 90%에 가까운 구성 요소가 오픈 소스화 된 것이다. 나머지 10%는 WPF / WinForm 등의 클라이언트 화면에 관련된 부분이다 (WPF와 WinForm은 Windows OS 자체와 관련돼 있음).



.NET Foundation(재단)에는 .NET과 관련된 많은 소프트웨어가 오픈 소스로 공개되어 있다



내년에 출시되는 새로운 .NET Framework도 물론 오픈 소스로 제공된다. ASP.NET 및 컴파일러에 이르기까지 .NET 관련 소프트웨어 구성 요소는 대부분 오픈 소스화 된다


재미있는 것은 이전 버전뿐만 아니라 2015년에 출시가 예정되어있는 차세대 .NET Framework 환경과 C# 등 프로그래밍 언어를 사용하는 .NET Compiler Platform (Roslyn) 처럼 최신 버전에 대한 소스 코드도 오픈 소스화 된다는 점일 것이다. 이렇게까지 광범위하게 대응하고 있는 것을 생각하면, Microsoft가 .NET Framework를 멀티 플랫폼화 하기 위해 정말 노력하고 있구나 하는 생각이 든다.


또한 이러한 오픈 소스화에 따라 Microsoft 스스로가 Linux 및 Mac OS X에 .NET Server Framework를 이식 및 공개하고 있다. 이렇게 되면 Windows Server 등에서 작동하는 .NET Framework 기반 응용 프로그램을 Linux 및 Mac OS X 와 같은 플랫폼에서 실행할 수 있게 된다.


Linux 버전 .NET Framework의 경우 오픈 소스인 Mono Project(모노 프로젝트)가 있었다. 이번에는 Mono Project를 진행하고 있던 Xamarin(자말린) 사와 Microsoft가 협력하여 Linux에 이식을 한 것 같다. Microsoft가 직접 손을 대서 기존의 Windows 용 .NET Framework가 완전히 Linux에 이식되었다.


Linux에서 .NET Framework가 지원되는 것은 많은 부분에서 개발자에게는 큰 장점이 될 것이다. 현재 Windows Server에서만 작동했던 많은 응용 프로그램이 쉽게 Linux에서 실행된다. 이것은 응용 프로그램의 멀티 플랫폼화를 목표로 하는 여러 회사에게는 큰 이점이 될 것이다. 또한 클라우드를 이용하는데 있어 많은 Linux 기반 가상 머신 (VM)으로 응용 프로그램을 이동할 수있게된다.


Linux에 .NET Framework를 이식하는 것은 Windows OS 사업에는 불리하게되어 버릴지도 모른다. 그러나 Microsoft 스스로가 .NET Framework를 Linux 및 Mac OS X에 이식하여 멀티 플랫폼화를 추진하고 있는 것은, Microsoft의 사업이 크게 바뀌기 시작하고 있기 때문이다.


확실히 Microsoft의 비즈니스 속에서 OS 판매와 Office의 판매 등에 따른 이익은 큰 비중을 차지하고 있다. 그러나 향후 10년을 보고 생각하면, 소프트웨어 패키지 판매가 아닌 Microsoft Azure와 같은 클라우드 플랫폼 및 Office 365와 같은 클라우드 기반 서비스에서 이익이 나는 사업 형태로 변화해 나가는 것이다.


이러한 변화에 대응하고 Microsoft 고유의 기술을 살려 나가기 위해서는 .NET Framework를 표준으로하여 멀티 플랫폼에서 동작 할 수 있도록 할 필요가 있는 것이라고 생각된다.


실제로 Connect (); 세션에서는 Microsoft Azure에서 Linux VM에 Docker 엔진을 통해 컨테이너화된 .NET Core Runtime 및 ASP.NET으로 개발한 애플리케이션을 동작하는 시연을 선보였다.


단, Linux 서버 측 Framework의 경우에는 Oracle(오라클)의 Java(자바)가 표준인 상태다. 이것을 .NET Framework 쪽으로 기울게 하는 것은 웬만한 노력으로는 실현 될 수 없다. 이런 부분은 향후의 변화를 주시할 필요가 있다.



미래에는 Windows RT도?


이번 발표를보고 또 궁금한 것이 클라이언트 측의 동향이다. .NET Framework의 오픈 소스화가 발표되었지만, 앞으로는 Windows 8 / 8.1의 한 부분인 Windows Runtime (Windows RT)도 오픈 소스화 될지도 모른다.


PC에서는 Windows OS는 절대적인 점유율을 가지고 있지만, 태블릿이나 스마트폰에서는 Microsoft는 그만큼의 점유율을 가지고 있지 않다. 스마트폰 Windows Phone의 경우 Microsoft가 Nokia(노키아)를 인수함으로써 큰​​ 변화를 가져 오려고 하고 있지만, 이 분야에서는 크게 뒤져 3번째, 4번째에 머무르는 상태이기 때문에 대폭적인 특별 조치가 필요한 상황이다.


지난해 iPad(아이패드) 용 Office 응용 프로그램의 발표와 현재 베타 버전으로 제공되고 있는 Android(안드로이드) 버전의 Office 등이 좋은 예가 될 것이다. 지금까지 Windows OS의 가치를 높이기 위해 Windows OS에서만 작동했던 Office(오피스)를 iPad 버전과 Android 버전으로도 출시함으로써 OS가 아닌 응용 프로그램의 멀티 플랫폼 화를 추진하고 있다.


이러한 전략의 연장 선상에서 Windows 8 / 8.1 Modern 앱 (Windows 스토어 앱)의 동작 플랫폼인 Windows RT를 오픈 소스화하여 iOS와 Android에서 Windows RT 기반 응용 프로그램을 이동할 수 있도록 하자고 생각하고있을 가능성은 있다.


현재 Microsoft는 Universal Apps라는 컨셉에 따라 Windows Phone, Windows 8 / 8.1, Windows Server, Xbox에 이르기까지 Windows RT 기반의 동일한 응용 프로그램이 작동하도록 노력하고 있으며, 이러한 환경에 iOS와 Android 장치가 들어 오게 되면 Windows RT 기반으로 개발한 앱이 모든 장치에서 작동하게 되는 것이다.


이것은 개발자와 기업에게 확실히 큰 도움이된다. 지금까지와 같이 여러 장치와 OS용 응용 프로그램을 개발하는 것이 아니라 Windows RT 기반 응용 프로그램을 만들면 다양한 장치에서 쉽게 작동 할 수 있게 된다. 앱 개발 효율성과 비용 자체도 바꿀 수있는 것이다.


내년에 출시되는 개발 도구 Visual Studio 2015(비주얼 스튜디오 2015)에서는 다중 플랫폼 지원이 이루어지고 있으며, Xamarin 플랫폼의 포함을 통해 iOS와 Android의 어플리케이션 개발도 할 수 있게 되어있다. 물론 Xamarin이 제공하는 Android 에뮬레이터도 포함되어 있다. 또한 Java도 통합함으로써 Java 기반 응용 프로그램을 개발할 수 있도록 했다.


따라서 Visual Studio 2015는 Windows 뿐만 아니라 멀티 플랫폼을 대상으로 개발할 수 있는 개발 도구가 됐다. 그 연장 선상에 Windows RT의 개방과 같은 일이 있어도 이상하지는 않을 것이다.


무엇보다 Windows RT는 기반에 Direct X(다이렉트 X) 등 Windows 고유의 기술을 사용하고 있기 때문에, Windows RT를 iOS와 Android에 이식하려고 해도 쉽게는 되지 않는다. 이런 부분의 Microsoft 동향은 계속 주의 깊게 지켜볼 필요가 있다.



Visual Studio 2015에서는 Xamarin의 개발 도구가 통합되어 iPhone, 삼성의 Android 스마트폰, Android 태블릿용 어플을 하나의 소스 코드로 개발 할 수 있게 된다



Xamarin이 제공하는 Android 에뮬레이터가 Visual Studio 2015에 탑재된다. 개별 스마트폰과 태블릿의 프로필을 가지고 있기 때문에 화면 크기와 OS의 차이 등도 모두 에뮬레이션 할 수 있다



무료 Visual Studio Community 등장


개발자에게 기쁜 소식은 기업에서의 사용 외에 대학 관계자, 비영리 사업자, 오픈 소스 개발자, 개발자 5명 이하의 중소기업을 대상으로 Visual Studio Pro에 해당하는 Visual Studio Community(비주얼 스튜디오 커뮤니티)가 무료로 사용할 수 하게 된 것이다. 이용자를 제한하는 형태이지만, 완전한 기능의 Visual Studio를 무상으로 사용할 수 있게 됐다. 이를 통해 개발자 저변도 더 넓어질 것이다.


Visual Studio Community의 발표와 동시에, Visual Studio 2013 Community 다운로드도 공개됐다. 또한 Visual Studio 2015 Community의 제공도 발표되어 있다. Visual Studio 2015 Community에서는 iOS와 Android의 어플리케이션 개발을 할 수 있도록해주기 때문에 어쩌면 다양한 플랫폼의 개발이 Visual Studio에서 행해지게 될지도 모른다. 또한 Visual Studio Community를 제공함으로써 Visual Studio 2015에서는 무료 버전인 Visual Studio Express 제공되지 않게 됐다.



Visual Studio Community 버전을 통해 개인 개발자 및 소규모 개발 회사는 무료로 VS Pro를 사용할 수 있게 된다



Microsoft의 CEO가 스티브 발머에서 사티아 나델라로 바뀐 후, Microsoft는 역동적인 변화를 보이고 있다. 크게 달라진 IT 환경에 고립되어 가고 있던 Microsoft를 다시 키 플레이어로 바꾸도록 큰 변혁을 일으키고 있는 것이다.


사업 내용은 소프트웨어를 패키지로 판매하는 시대에서 클라우드 서비스와 소프트웨어를 제공하는 시대로 이행해 가고 있다. 이러한 흐름에 맞추어 더욱 그 흐름의 맨 앞에서 앞서나가도록 Microsoft를 재정비 하고 있는 것 같다.


다만 단기간에 이만큼의 일을 벌이고 있다는 것은 스티브 발머 시대에 .NET Framework의 멀티 플랫폼화 등이 물밑에서 진행되고 있다고 봐야 할 것이다. iPad 버전의 Office 응용 프로그램의 경우도 나델라 CEO가 생각하고 결단한 것처럼 알려져 있지만, 발머 CEO의 시대에 개발에 승인이 떨어졌다는 사실이 중요하다.


Microsoft는 변화하는 시대를 향해 다양한 부분에서 실제로 변화해 가려는 것으로 보인다.


반응형
Comments