Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

  • Korea Evangelist

    Build2015 - Microsoft Azure 발표내용 요약

    • 0 Comments

    이번 빌드2015 행사(http://www.buildwindows.com/)에서는 세간의 관심을 불러 모았던 홀로렌즈를 비롯하여 Windows 10, Visual Studio 와 같은 수 많은 마이크로소프트의 기술적인 내용들에 대한 업데이트가 있었습니다. 그 중에서 Azure에 대한 내용이 빌드 첫째 날 세션에 스캇 구스리(Scott Guthrie) 부사장에 의해서 제일 먼저 소개가 되었습니다. 스캇 구스리 부사장은 발표에서 Azure의 시장에서의 사용현황과 지난 일년간 500개 이상의 기능이 추가되고 개선된 부분에 대하여 언급을 하면서 마이크로소프트의 Azure는 단순한 클라우드 플랫폼으로서의 의미가 아닌 좀 더 지능적인 클라우드(Intelligent Cloud)라는 부분과 백엔드 시스템의 생산성에 대한 새로운 기준을 제시했다고 언급을 하였습니다. 이 블로그 포스팅은 해당 키노트에서 소개된 내용 중에서 Azure관련 주요 발표내용을 요약하였습니다.

    Container기술 영역

    image

    지난해부터 분산 응용 프로그램 플랫폼으로 Docker(https://www.docker.com/)가 주목을 받으면서 운영체제가 아닌 응용 프로그램의 컨테이너 기술로서 많은 활용이 되면서 Docker 엔진이 클라우드에서도 적용이 되었습니다. 이번 빌드행사에서는 Docker 엔진이 윈도우 서버에서 구동이 되는 것을 시연을 하였습니다. 이렇게 됨으로써 개발자들은 다양한 플랫폼을 사용하여 프로그램을 배포 및 구동할 수 있는 선택의 폭이 넓어졌습니다. 데모를 통하여 Windows 서버상에서 구동된 ASP.NET코드를 그대로 리눅스 서버상에서 실행 및 디버깅이 되는 것을 보여주었습니다.

    데이터 영역

    -SQL Database의 TDE 암호화 기능 지원과 Full Text Search 기능의 지원

    그 동안 계속 사용자들로부터 지원을 요청을 받았던 SQL Server의 기능 중 SQL Database가 지원하지 못 했던 기능들 중에서 TDE(Transparent Data Encryption)와 Full Text Search와 같은 기능이 Azure SQL Database에서도 지원이 됩니다. 이로서 SQL 서버 사용자들이 더욱 쉽게 SQL Database로 이전을 할 수 있게 되었고 클라우드 환경에서 제공하는 데이터베이스의 장점을 활용할 수 있게 되었습니다.

    -Azure Data Lake:

    image

    데이터 레이크는 빅데이터 분석을 위한 대규모 데이터 저장공간으로서 계정의 크기 또는 파일 크기에 제한 없이 다양한 형태의 모든 데이터를 한 곳에 저장할 수 있도록 합니다. 이 데이터 레이크는 하둡과 연동이 되어 사용될 수 있습니다. 또한 레볼루션-R과 호튼웍스 및 Cloudera와 같은 데이터 분석도구들과도 연동 될 예정입니다. 이 데이터 레이크는 올해 말에 프리뷰가 선보이게 될 것 입니다.

    -Azure SQL Data Warehouse:

    SQL 데이터 웨어하우스는 클라우드에서 사용이 가능한 탄력적인 데이터 웨어하우스 서비스입니다. 데이터 웨어하우스 서비스는 SQL 서버와 분석플랫폼 시스템(Analytics Platform System)에서 가능한 부분이 모두 가능하며 Power BI, Azure ML과 같은 기존에 존재하는 데이터 도구들과도 호환이 가능하도록 구성이 될 예정이며 이 서비스 역시 올해 말에 프리뷰가 제공될 예정입니다.

    -Azure SQL Database elastic databases:

    image

    SQL 탄력적 데이터베이스 (Elastic Database)는 SaaS 응용 프로그램이 다수의 데이터베이스를 관리할 수 있도록 합니다. 이것은 예측하기 어려운 리소스 요청이 발생할 수 있는 데이터베이스에 대한 관리가 용이해 질 수 있습니다. 서로 다른 데이터베이스를 하나의 Pool을 통하여 폭발적인 데이터의 증가에 대응을 할 수 도 있습니다. 즉, 피크 타임에 대응하기 위하여 특정 데이터베이스의 리소스를 추가하지 않고 Pool을 이용하여 리소스를 이동하여 피크타임에 대한 관리를 할 수 있습니다.

    Application 서비스 영역

    -Service Fabric

    서비스 페브릭은 확장성과 신뢰성 그리고 응용 프로그램의 간편한 관리를 위한 분산환경 시스템 플랫폼 서비스로 Build2015의 행사 바로 며칠 전에 발표가 되어 Build의 세션에서 언급이 되었습니다. 서비스 페브릭은 획기적으로 클라우드 응용 프로그램의 개발과 서비스 단계에 변화를 일으킬 수 있을 것으로 예상을 하고 있습니다. 이 서비스 페브릭을 이용하면 개발자와 관리자는 복잡한 인프라스트럭처의 운영환경에 대한 문제를 최소화하고 서비스에 집중할 수 있게 됩니다.

    image

    가상머신의 수 많은 풀을 기반으로 수행되는 마이크로서비스들의 구성으로 응용 프로그램을 구성하여 높은 수준의 확장성과 고가용성을 보장할 수 있게 됩니다. 각각의 마이크로서비스들은 상태기반 또는 상태정보에 의존하지 않는 서비스를 호스팅할 수 있게 되어 프로그램 서비스의 업그레이드, 배포, 프로비저닝, 그리고 삭제하는 경우에도 끊임없이 서비스를 제공할 수 있게 됩니다. 이 서비스 페브릭은 클라우드 환경에서 뿐만 아니라 온프레미스 환경에서도 수행이 될 수 있기 때문에 다양한 환경에서 사용이 가능합니다.

    http://azure.microsoft.com/en-us/documentation/articles/service-fabric-overview/

    -Azure App Service:

    image

    App을 위한 전용 계산(Compute)환경 서비스를 제공합니다. 새로운 프리미엄급 옵션으로 확장성과 보안의 기능이 강화된 런타임 환경을 제공합니다. 기본적으로 전면 계층에 두 개의 P2 인스턴스와 2대의 P1 계산 인스턴스를 가상네트워크에 생성할 수 있습니다. 사용자는 인스턴스의 크기를 P1에서 P4로 조정할 수 있습니다. 비용은 시간당 코어기준으로 $0.1(미화기준)으로 50개까지 인스턴스를 생성할 수 있습니다.

    기타

    행사 이틀째 키노트에서는 AzureML(Machine Learning)의 사례와 다른 Azure 서비스들과의 통합 및 연동성에 대한 내용이 언급이 되었습니다. Azure ML의 또 하나의 기능으로 옥스포드 프로젝트(Project Oxford)는 REST API형태로 개발자에게 머신러닝의 특정 기능을 API처럼 사용하게 할 수 있도록 하였습니다. 즉, 얼굴인식(Face API), 음성인식(Speech API), 이미지 인식(Visio API) 및 언어이해와 같은 기능들을 REST API를 통하여 사용할 수 있도록 하였습니다.

    그 외에도 Template기반의 배포를 위한 ARM(Azure Resource Manager)과 GitHub와의 통합기능들 그리고 강화된 ExpressRoute의 기능들도 소개가 되었습니다. 개별적인 기능들이 모두 상당히 큰 변화와 개선 부분이라 자세한 업데이트 내용은 개별적으로 발표된 블로그 내용을 참고하시기 바랍니다.

    Project Oxford: https://www.projectoxford.ai/

    ARM for IaaS: http://azure.microsoft.com/blog/2015/04/29/iaas-just-got-easier-again/

    Docker: https://blog.docker.com/2015/04/microsoft-demonstrates-docker-in-build-2015-keynote-address/

    Networking: http://azure.microsoft.com/blog/2015/05/05/new-networking-capabilities-for-a-consistent-connected-and-hybrid-cloud/

  • Korea Evangelist

    Microsoft Ignite Keynote 요약

    • 0 Comments

    백승주 에반젤리스트의 블로그와 동시에 게시된 글입니다..

    image

    5월 4일부터 8일까지 미국 시카고에서 Microsoft Ignite이 개최되고 있습니다. Microsoft Ignite은 기존 TechED 및 여러 IT Pro 분들을 위한 컨퍼런스(Office, Exchange, SharePoint 등)을 통합하여, 금년부터 진행하는 IT Pro 분들을 위한 가장 큰 Microsoft의 컨퍼런스입니다. 매년 TechED등에 출장 형태로 참석하였던 꼬알라지만, 금년에는 여타 사정으로 인해, 한국에서 시청하면서, 정리하고 있습니다. 어제 저녁 11시(미국 시카고 시간 오전 9시)에 Microsoft Ignite의 키노트를 시작으로 전체적인 행사가 진행되었고, 매우 많은 소식이 Keynote에서 발표되었습니다. 이에 대한 간단한 정리 & 꼬알라의 생각을 포스팅합니다. (다시 보기)

    image image

    시작은 Microsoft CEO이신 Satya Nadella 회장의 전체적인 방향 잡기로 시작하였습니다. CEO로 취임하신 후, Microsoft의 비전으로 Mobile First, Cloud First라는 슬로건을 내세우셨고, 이에 대한 Microsoft 변화(Transformation)을 이야기하였습니다. Mobile First의 메시지는 모든 조직의 모든 디바이스(All Devices of All Companies, 기종이나 하드웨어에 구애받지 않는), Cloud First의 메시지는 이러한 모든 디바이스들에 대한 서비스를 제공할 수 있는 클라우드 기반의 모든 백엔드(BackEnd)를 의미합니다.

    image

    오늘날 조직내 일반 사용자들은 다양한 디바이스를 사용하고(BYOD), 이러한 여러 디바이스 위에서 동일한 형태의 앱(소프트웨어/서비스)를 이용합니다. (BYOS - Bring Your Own Software/Service), 이를 통한 데이터는 폭증하게 되고, 이러한 디바이스들은 기존의 PC 처럼 조직내에만 머물지 않고, 업무/개인의 이유로 조직 밖에서도 사용하게 되죠. 이러한 변화 속에, IT 관리자는 고민거리가 많아지게 됩니다. 오늘날도 출시되는 여러 종류의 디바이스/앱(소프트웨어, 서비스)/데이터 등에 대한 보안 및 규정 준수라는 숙제를 가지게 됩니다. 보안 및 규정 준수의 범위는 앞서 언급한 디바이스/앱/데이터는 물론이고, 조직내에서 개인을 의미하는 가장 중요한 IDENTITY까지로 확장되게 되죠.

    보안 및 규정 준수라는 통제와 개인의 생산성 향상을 통한 더 높은 업무 및 개인의 가치 향상은 상호 상충적인 요소입니다. 한쪽이 커지게 되면, 다른 한쪽은 작아지는 법으로 이어지죠. 이러한 개인의 요구와 IT 조직의 생각에 대한 해답으로 Microsoft는 크게 3가지 방향을 제시하였습니다.

    image

    1. Create More Personal Computing : Windows 10, Windows as a Service
    2. Reinvent Productivity & Business Processes : Office
    3. Build the Intelligent Cloud : Windows Server/System Center/SQL Server/Microsoft Azure Stack, 그리고 Microsoft Azure

    개별 요소 들에 대해서는 해당 기술/플랫폼을 총괄하고 있는 분들이 올라오셔서, 설명 및 데모를 진행하였습니다.

     

    Create More Personal Computing, Joe Belfiore

    저번주에 진행된 //Build에서 이미 많은 소식이 발표되었습니다. 이에 새로운 기술에 대한 소개보단 현재 Windows 10의 프리뷰 사용 및 기술 건의 프로그램인 Windows Insider를 통해 들어온 기능 건의에 대해서 어떻게 구현되었는지를 보여주었습니다. 현재 Windows Insider Program에는 전세계 370만명이 등록되어 있으며, 여전히 다양한 형태의 건의 및 기술 제안을 하고 있습니다. 다양한 형태의 디바이스, 그리고 스마트폰과 PC/태블릿의 영역을 사용자의 상황에 맞게 업무 환경을 제공할 수 있는 Continuum을 보여주었습니다. 더불어 음성 형태로 디바이스와 소통할 수 있는 Cortana가 단순히 질문에 대한 답변 형태만을 제공하는 것이 아니라, Windows 사용법에 대해 가르쳐준다거나, 사내 인프라와 연계되어, Power BI를 통한 분석을 제공할 수 있는 형태까지 확장되었습니다. 이는 Personal Computing 디바이스가 조직의 Intelligent Cloud와 연계되면, 사용자의 디바이스가 업무 환경에 적합한 형태로 변환할 수 있음을 보여주는 것입니다.

    IDENTITY 보안에 대한 부분을 강화하기 위해 다단계 인증(MFA, Multi-Factor Authentication)을 많이 사용하고 있습니다. Windows 10에서는 Biometric 인증을 제공할 수 있는 Microsoft Passport/Windows Hello을 탑재하여, 안면 인식 등을 이용하여, 추가적인 인증을 처리하는 보안 강화가 가능합니다. (관련 링크, 관련 링크 및 동영상)

    데이터에 대한 보안을 위한 암호화 역시, Windows/Microsoft Azure RMS/Office 2016과 연계되어, 파일이나 폴더 단위의 암호화 적용이 가능하고, 이에 대한 보안 설정 역시, IT 관리자가 설정할 수 있게 됩니다.

     

    Reinvent Productivity & Business Processes, Gurdeep Sign Pall

    사용자의 생산성 향상을 위한 중요 소프트웨어/서비스인 Office는 2016 버전의 프리뷰가 발표되었습니다. (관련 링크)

    Office 2016는 사용자들이 위치/시간에 구애 받지 않고, Modern Workplace/Productivity가 가능하도록 공동 편집(Co-Creation), 그리고 Skype를 통한 화상 미팅등을 기존 버전보다 가치있게 제공하며, Lync의 새버전인 Skype for Business의 경우에는, 최대 만명까지 참여할 수 있는 브로드캐스트(Broadcast) 기능/미팅 첨부 파일 사전 업로드/미팅내 공동 편집 등을 탑재하였습니다. Skype for Business Server를 발표하여, Office 365 사용자들이 Skype와 연계하여 사용할 수 있게 합니다. (관련 링크)

    이 영역에 대한 내용은 다시 보기를 통해 Julie White의 데모를 살펴보시면 조금 더 이해가 빠르실 것으로 생각합니다.

    참고로 일반 소비자용과 기업 고객용에 대한 이름 구분을 위해 For Business라는 단어가 붙은 제품/기술명은 기업 고객을 대상으로 하는 기술이라고 생각하시면 됩니다.

     

    Enterprise Mobility/Intelligent Cloud, Brad Anderson

    IT Pro 분들께서 가장 관심이 많으실만한 영역에 대한 발표가 이어졌습니다. 우선 앞서 언급한 여러 개인 디바이스들에 대해서 어떻게 IT Pro 분들께서 보안/규정 준수를 가능하게 할 것인가에 대한 주제들입니다. 디바이스에 대한 보안은 단순한 디바이스 자체에 대한 보안 적용에만 그치지 않고, 안에 설치된 앱, 그리고 앱을 통해서 생성/소비되는 데이터, 마지막으로 디바이스에 개인을 증명하는 IDENTITY에 대한 전방위적인 접근이 필요합니다.

    디바이스 자체에 대한 보안은 APT(Advanced Persistent Threats)를 보호하기 위해, Device Guard를 제공합니다. Device Guard는 Windows 10에서 동작하는 프로그램들이 특정한 소프트웨어 벤더에서 서명된 형태의 앱, Windows 스토어를 통해 내려온 앱, 그리고 조직에서 허가된 형태의 앱을 제외하곤 설치/실행할 수 없게 하는 기술입니다. 이쯤되면 기존 AppLocker와 차이가 없다라고 생각하실 수 있습니다. Device Guard의 경우에는 하드웨어 기술과 가상화 기술이 요구됩니다.(IOMMU) 이를 통해 문제의 앱을 OS 밖의 영역으로 격리해놓고, 판단하게 되므로, 앱이 관리자 권한을 획득하더라도, 보호를 제공할 수 있게 됩니다. IOMMU는 Intel CPU에서는 VT-d라고 칭하고 있으며, AMD CPU에서는 AMD-Vi라고 부르고 있습니다. 이미 여러 OEM 사에서 Device Guard를 기본 탑재하기로 발표하였습니다. (관련 링크 1, 관련 링크 2, 관련 링크 3 - 꼬알라 주 : 검색 엔진을 통해 Device Guard라고 검색해보시면 정말 많은 정보들이 보입니다.  )

    앱에 대한 보안 중에 조직이 가장 걱정하는 앱은 메일 앱이라고 합니다. Microsoft로 보면, Outlook 앱이죠. 메일 앱에 대한 추가적인 통제를 하기 위해, Microsoft Intune Conditional Access and Mobile Application Management for Outlook App을 발표하였습니다. 이를 통해 Windows/iOS/Android 디바이스에 설치된 메일 앱에 대해서 여러 상황별 정책(예를 들어, 개인 메일을 사용하는 경우엔 붙여넣기 금지, 회사 메일은 가능, 또는 디바이스 종류에 따른 정책 반영 등)이 가능해집니다. 해당 기술이 Microsoft Intune에서 사용 가능하게 되면, 해당 팀 블로그를 통해서 정보가 제공될 예정입니다.

    데이터에 대한 보안은 사용하는 디바이스에 대한 장소를 제한하는 형태, 대표적으로 원격 데스크톱내에서 작업을 하게 하여, 외부로 유출할 수 없게 하는 것이 한가지 방법입니다. 원격 데스크톱 전체를 제공하는 것이 아니라, 사용자가 사용할 앱을 원격 데스크톱 기술에 탑재하여, 제공하는 기술을 Windows Server 2008부터 RemoteApp이라고 불렀습니다. RemoteApp 기술을 Microsoft Azure에서도 사용할 수 있도록, 작년말에 Azure RemoteApp 서비스를 GA(General Availability)하였습니다. 이를 활용하여 iOS/Android 디바이스에서도 Windows용 앱/소프트웨어를 사용할 수 있습니다. (관련 링크)

    조직내에 IRM/DRM이 걸린 문서를 외부의 고객이나 파트너에 공유하는 것은 쉬운 일이 아닙니다. 내부와 외부 사이에 사용하는 문서 보안 기술이 상이할 수도 있고, 조직내 전용으로 구축하였을 경우, 외부와 연계하는 것은 난해한 일이라는 것은 잘 알고 계실 것입니다. 클라우드 벤더가 안전하게 원하는 파일들 대부분을 암호화할 수 있고, 외부 공유시, 자체 서비스에서 제공하는 IDENTITY를 제공한다면, 손쉽게, 안전하게 문서를 공유하면서, 보안을 지킬 수도 있습니다. 또한 지정된 고객/파트너에게 제공된 보안 문서를 외부의 허가되지 않은 사용자가 접근하려 했는지에 대한 확인, 기간 만료시나 원할 경우, 문서의 소유자가 이를 더이상 사용할 수 없게 선언하는 기술 역시, 필수적이라는 것도 많이 느끼셨을 것입니다. Microsoft는 데이터에 대한 보안을 위해 Azure RMS(Right Management Service)를 제공하고 있습니다. Azure RMS에 문서 추적(Azure RMS Document Tracking) 기술을 추가하여, 앞서 언급한 시나리오들을 모두 만족할 수 있게 되었습니다. (관련 링크)

    IDENTITY에 대한 보안은 2가지 정도가 발표되었습니다. Microsoft Azure에서 SaaS 형태로 서비스를 제공할 수 있게 갤러리를 제공하는 Cloud App Discovery가 GA를 선언하습니다. 그리고 조직내 사용자가 일시적으로 상위 권한이 필요한 경우에도 일반적으로 관련된 권한을 부여해주곤 합니다. 이에 대해 전체 관리자가 회수를 잊어버렸을 경우, 그리고 권한을 이용하여 차후, 조직이 원치 않은 일을 관련 사용자가 할 수 있습니다. 어떤 일을 했는지 찾는 것 역시도 복잡한 일이죠. Microsoft Azure AD에서는 Privileged Identity Management를 이용하여, 권한 부여에 대한 측면을 영구(Permanent), 일시(Temporary, 시간 제한이 있음)로 분리할 수 있습니다. 필요시 이에 대한 승인 처리도 가능하죠. 또한 어떠한 작업을 했는지도 모니터링 할 수 있습니다. (관련 링크)

    Microsoft 조직 중에 Digital Crimes Unit이 있습니다. 디지털 범죄에 대한 수집/분석/조언/기술 구현등을 담당하는 조직입니다. 해당 조직은 다양한 경로를 통해 악성 코드나 여러 보안 관련 데이터들을 수집하여, 체계적인 분석을 하고 이를 활용하고 있습니다. 여기서 얻어진 결과물이 Enterprise Mobility Suites(EMS)에 포함된 Azure AD의 인증 로그에 결합되어, 사용자가 평소와 다른 곳에서 로그온을 시도했다거나, 악성 코드가 감염된 지역으로 판정된 곳에서 로그온을 하는 등에 보안에 영향을 줄 수 있는 상황이 발생하면, 이를 알 수 있게 제공합니다. (Users with anomalous - 이례적인 sign in activity) (관련 링크)

    Azure AD보다는 여전히 사내 AD를 더 많이 사용하고 있을 것입니다. 사내 AD내 평소와 다른 형태의 인증 및 허가가 진행되었거나, 사용자 계정에 대한 다수의 인증 시도 절차 등의 보안 상황을 모니터링하여, 이를 시각화해준다면, 보다 높은 수준의 보안을 유지하는데 도움이 될 것입니다. 이러한 기반 기술을 가진 Startup(Aorato, 관련 소식 링크)을 지난 11월 Microsoft가 인수하였고, 이를 제품화하여, Microsoft Advanced Threat Analytics(ATA) Preview를 금일 릴리즈하였습니다. (관련 링크)

    해당 섹션에서 발표되진 않았지만, 추가적으로 발표된 사항들 묶음

     

    Windows Update for Business, Terry Myerson

    엔터프라이즈 모빌리티 보안에 대한 이야기가 마무리되고, Terry Myerson이 올라와, 기존 Windows Update 방안에 대해서 이야기를 하게 되었습니다. 기존 Windows Update는 대략 8억대의 일반 소비자 Windows를 매월 2주차에 업데이트를 진행하게 됩니다. 조직내 IT 관리자는 SCCM/WSUS를 이용하여 이에 대한 배포를 관리하게 되죠. 크게 구분이 불가능한 형태의 Windows Update는 다양한 환경의 비즈니스, 소비자 상황에 맞지 않을 수 있습니다. 주위를 둘러보시면, Windows 업데이트가 1달에 한번이지만, 난 하기 싫어~ 리부팅 안할래~ 이런 분들을 많이 보실 수 있죠. Windows 10에서는 Windows가 서비스 형태가 주기적 업그레이드를 제공할 것이므로(현재 Preview가 그런 식으로 빌드가 업그레이드되고 있습니다.), 이러한 업그레이드를 얼마마다, 어느 조직을 대상으로 반영할 것인가가 또하나의 고민 사항이 될 수 밖에 없습니다. Windows 10의 경우에는 Windows Insider Program에 가입된 사용자 분들을 대상으로 크게 2가지 형태의 업그레이드 주기를 선택할 수 있게 합니다. (FAST/SLOW) FAST의 경우에는 일반 사용자 분들에게는 가장 빠른 주기입니다. Microsoft가 무언가를 릴리즈하면 바로 반영하겠다는 의미이며, SLOW는 주요 마일스톤이 되었을 때, 반영하겠다는 것이죠. 물론 Microsoft 내부에는 테스트 그룹이나 매일 빌드를 설치하는 자원자를 위한 구분도 존재합니다. 이러한 구분을 RING이라고 칭합니다. (관련 링크)

    이러한 형태의 RING은 조직내 부서별, 혹은 그룹별로 적용을 달리해야 할 경우가 많습니다. 이를 위해 Windows Update for Business를 발표하여, Windows 10 Professional, Windows 10 Enterprise 버전을 위해 사용할 예정입니다. Windows Update for Business는 기존 SCCM/WSUS와 연계될 예정이며, Windows내 BranchCache 기술을 활용하여 모두 Microsoft 서버 혹은 조직내 관련 업데이트 서버에서만 다운로드받는 형태가 아니라, Peer-to-Peer Delivery가 가능합니다. (관련 링크)

     

    Intelligent Cloud, Brad Anderson

    드디어 마지막 서버쪽 및 Microsoft Azure를 살펴보는 시간이 되었습니다. 우선 기다리고 기다리던 Windows Server 2016/System Center 2016/SQL Server 2016의 Preview가 발표됩니다. 현재 Windows Server 2016 Technical Preview 2가 공개되어 다운로드가 가능하며, System Center는 금주 중으로, SQL Server는 올 여름에 발표될 예정이라고 합니다. (Windows Server 2016 TP2 다운로드, Hyper-V Server 2016 TP2 다운로드) 추가적으로 Windows Server 2016 TP2의 새로운 측면을 다룬 링크(What’s New in Windows Server 2016 TP2)도 첨부합니다.

    기존 Windows Server에는 서버 코어(Server Core)라는 버전이 제공되고 있습니다. 이를 통해 보다 작은 크기, 적은 용량의 Windows Server를 설치하고, 이를 상위에도 동작하는 응용 프로그램을 위해, 혹은 클라우드 플랫폼(예를 들어 가상화)에 활용해왔습니다. 클라우드 성숙도의 향상은 더 작은 크기의 서버를 요구하게 되었고, 이러한 요구의 근거는 업데이트 감소, 빠른 재부팅 시간, 보안 강화, 보다 높은 효율성등에 있었습니다. 이를 위해 Windows Server 2016에는 Nano Server라는 기술이 제공됩니다. (관련 링크 1, 관련 링크 2)

    Docker에 대한 지원과 Windows 플랫폼에 대한 컨테이너 기술의 요구를 수용하여 Windows Server 2016에서는 Windows Container, Hyper-V Container 기술을 제공할 예정입니다. 다만 해당 기술은 오늘 공개된 TP2에서는 사용할 수 없으며, 여름에 공개될 TP3에서 사용 가능할 예정입니다. (관련 링크)

    Windows Server 2012 R2/System Center 2012 R2에서 사설 클라우드를 위한 셀프 서비스 포탈로 Windows Azure Pack이 제공되고 있었습니다. Windows Azure Pack은 UI의 Look & Feel, 그리고 일부 API만 Microsoft Azure와 동일하였기에, 완벽한 IaaS/PaaS 상호 이동이 불가능하였습니다. Windows Server 2016 출시에 맞춰, Microsoft Azure를 조직내 데이터센터에 동일하게 구축할 수 있는 Microsoft Azure Stack이 제공될 예정입니다. 이를 사용하게 되면, Microsoft Azure = 조직내 데이터센터로 구성 가능하게 되어, 사용 중인 응용 프로그램의 배포나 관리 쉘등을 Microsoft Azure/Microsoft Azure Stack에 동일하게 사용할 수 있습니다. (관련 링크/동영상) Microsoft Azure Stack, 역시 Container와 마찬가지로 올 여름에 공개될 TP3 시점에 같이 Preview될 예정이라고 합니다.

    마지막으로 클라우드 기반의 관리 서비스인 Microsoft Operations Management Suite을 발표합니다. OMS는 사설 클라우드가 아닌, Microsoft 클라우드내에서 제공하는 서비스로서, 구독 기반으로 사용할 수 있습니다. 특징적인 것은 Microsoft 기술(Hyper-V, Microsoft Azure, SQL Server 등)은 물론, 이기종 관리도 지원합니다. (Linux, Amazon Web Service, VMware, OpenStack) (관련 링크)

    해당 섹션에서 발표되진 않았지만, 추가적으로 발표된 사항들 묶음 (대부분 Microsoft Azure 관련 소식입니다.)

    대략 이정도가 3시간 동안 쏟아진 소식입니다. 최대한 한 포스팅에 담아보려고 노력하였습니다. 개별적으로 다 설명을 달면 정말 한도 없을 것 같기에, 시간이 허락할 때, 개별적인 포스팅을 하도록 노력해보겠습니다. 시간이 되실 때, 꼭 Microsoft Ignite Keynote 다시 보기를 해보시길 추천드립니다!

  • Korea Evangelist

    Build 2015 Day 2 Keynote 요약

    • 0 Comments

    clip_image002

    다양한 분야의 개발자들은 마이크로소프트의 기술들을 활용하여 다양한 결과물들을 만들어 내고 있습니다. 빌드 둘째 날은 바로 이런 개발자들의 이야기를 들어보는 시간이었습니다.

    clip_image004

    미디어 분야를 예로 든다면 Muzik 팀은 낮은 Latency에서 동작할 수 있도록 새롭게 추가된 AudioGraph를 활용한 가상 드럼 세트를 만들어 냈으며, Propellerhead와 같은 회사는 클라우드와 다양한 디바이스를 이용하여 음악을 만드는 제품을 만들어 냈습니다.

    빌드 첫째날 생중계를 시청하신 분이 30만명에 이르고, 7만5천명이 동시시청을 하였으며, 최근 수퍼볼 경기에서는 마이크로소프트의 미디어 기술을 이용하여 120만명이 동시에 스트리밍 미디어를 시청하였다고 합니다. 이 모두가 마이크로소프트의 기술을 활용하여 서비스 되고 있습니다.

    clip_image006

    Autodesk와 같은 회사는 프로토타이핑과 프린팅 분야에서 마이크로소프트의 기술을 활용하고 있습니다. Acumatica와 같은 회사는 클라우드 기반의 ERP 시스템을 개발 하였는데 ORM과 OData 기술을 이용하기 때문에, 손쉽게 PowerBI와 연동하여 데이터를 분석하고 다양한 방식으로 결과를 살펴볼 수 있는 기능을 제공하고 있습니다

    clip_image008

    Universal Windows Platform은 Desktop, Xbox, Surface Hub, Holographic, IoT, Mobile과 같은 다양한 분야에서 활용할 수 있는 단일의 개발 플랫폼입니다. 이처럼 다양한 디바이스들은 디스플레이 장치, 키보드, 마우스, 센서, 터치 등 다양한 peripheral과 결합되어 더욱더 개인화된 컴퓨팅 환경을 만들어 냅니다. 마이크로소프트는 이러한 다양성을 극복하는 단일의 플랫폼과 함께 단일의 디자인, 개발, 디버깅, 배포 환경을 제공합니다.

    clip_image010

    디자인 단계에서 Universal Windows Platform이 제공하는 모든 컨트롤들은 마우스, 터치, 펜, 게임 컨트롤러에 이르기까지 다양한 입력 방식에도 올바르게 동작하도록 개발 되어 있으며, 단 하나의 디자인 방식을 유지하고 있기 때문에, 단일의 코드로 다양한 디바이스를 지원할 수 있습니다. 더불어 개발자는 개별 디바이스의 특성에 맞추어 가장 적합한 형태로 사용자의 인터페이스를 맞춤형으로 구성할 수도 있습니다.

    clip_image012

    개발자들은 Universal Windows Platform을 이용하기 때문에 디바이스의 다양성에도 불구하고 동일한 플랫폼 특성과, 단일의 API를 공유하게 됩니다. XAML, DirectX, HTML/CSS와 같이 이미 익숙한 방식으로 UX를 디자인하고 개발할 수 있으며, C#/VB, C/C++, JavaScript와 같이 다양한 언어들을 사용할 수 있습니다. 뿐만 아니라 Feature Detection이나 Extension API 등의 이용하면 디바이스별 고유 특성을 세부적으로 제어할 수도 있습니다. 이렇게 개발된 앱은 다양한 디바이스에서 활용될 수 있는 단일의 패키지로 구성될 수 있습니다. Windows 10에는 2,500개 이상의 플랫폼 기능이 새롭게 추가되었으며, 이에 따라 8,000개 이상의 API가 추가 되었습니다.

    clip_image014

    Visual Studio 2015를 사용하면 각각의 디바이스에서 앱 들이 어떻게 나타날지를 미리 살펴보고 조정할 수 있습니다. 새로운 Visual Tree를 사용하면 수행 중인 앱의 구성 요소도 살펴볼 수 있으며, 웹 개발의 경우 F12 개발툴도 빼놓을 수 없는 디버깅 기능입니다. 뿐만 아니라 디버거를 떠나지 않고 PerfTip, CPU & Memory 사용률 그래프 등을 이용하여 성능 문제를 분석하고, 다양한 지표를 살펴보면서 최적화를 수행할 수 있습니다.

    clip_image016

    한번의 앱 제출과 인증 과정을 거치면 모든 디바이스에 배포가 가능하고, 이 과정에서 앱의 다운로드 수나 유료 판매 현황 등을 분석할 수 있습니다. 또한 앱 인사이트와 결합하여 앱 사용 추의를 살펴본다거나 특정 기능을 사용자가 얼마만큼 자주 사용하고 있는지 등을 살펴볼 수 있으며, 캠페인 기능도 추가되어 캠페인을 수행하고 그 결과를 실시간으로 조회할 수도 있습니다.

    clip_image018

    유니버셜 앱 플랫폼을 사용하는 또 다른 방법도 다양하게 제공합니다. 가장 먼저 알아볼 것은 첫째 날 키노트에서 발표한 Microsoft Edge입니다. Microsoft Edge는 4,200개 이상의 상호운용을 위한 기능과 45개 이상의 새로운 웹 표준 기술을 새롭게 탑재하였습니다. 기능의 확대에 더하여 성능도 대폭 향상되었습니다. 애플의 JetStream 벤치마크나 Google의 Octane 벤치마크 결과를 통해 Microsoft Edge가 IE11 보다 2배나 나은 성능을 보여주고, Chrome(43.0.2369.0), FireFox(Alpha 40.0a1) 보다 높은 성능을 보여주는 것을 확인할 수 있었습니다.

    clip_image020

    Microsoft Edge에서 정상적으로 동작하는 모든 웹사이트들은 수정 없이 앱으로 전환될 수 있는데, 이 과정에서 Xbox Live를 활용하도록 기능을 추가하거나 Cortana와 연동하여 기능을 풍성하게 확장할 수 있습니다. 이미 Shazam과 같은 회사는 이러한 방식으로 기능을 확장하여 음악 인식 앱을 성공적으로 만들고 있습니다.

    clip_image022

    마이크로소프트의 전통적인 응용 프로그램 개발 기술인 WPF나 WinForm을 사용하는 .NET 응용 프로그램, Win32를 사용하는 응용 프로그램 조차도 UWP를 사용하도록 코드를 추가할 수 있을 뿐 아니라 Appx로 패키징 하여 윈도우 스토어에 제출하고, 이를 통해 배포될 수 있습니다.

    clip_image024

    Java와 C++이용하여 개발한 안드로이드 앱도 기존 코드를 재활용 하여 손쉽게 윈도우 앱으로 변경할 수 있습니다. 기존에 사용하던 Java 개발도구를 그대로 사용할 수 있으며, 라이브 타일과 같은 UWP 고유의 기능을 사용할 수도 있습니다. Google의 위치 정보 서비스나, Google Map, Google 통지 서비스를 사용하는 부분은 마이크로소프트의 위치 정보 서비스와 Bing Map, Microsoft 통지 서비스를 사용하도록 하부 시스템 수준에서 리다이렉션을 수행 하도록 변경됩니다. 뿐만 아니라 Objective C를 이용하여 개발된 iOS 앱은 Visual Studio 내에서 재컴파일을 수행하여 윈도우 앱으로 만들 수 있습니다.

    clip_image026

    Cordova와 같은 기술을 이용하면 HTML/JavaScript와 같은 기반기술을 이용하여 동일한 코드로 윈도우나 안드로이드, iOS에서 수행되는 앱을 손쉽게 만들 수 있습니다. HTML/JavaScript 기술을 활용하는 웹앱의 디버깅 기능을 지원하기 위해서 마이크로소프트 Vorlon 이라는 도구를 만들었을 뿐 아니라 고성능 웹 개발을 위해서 asm.js를 지원합니다.

    clip_image028

    소스 공유와 관리는 개발자에게 매우 중요합니다. 이제 GitHub Enterprise를 쓰고 싶으신 분도 Azure를 활용할 수 있습니다.

    clip_image030

    마이크로소프트는 디지털 데이터의 폭발적인 증가와 디지털 데이터가 상호 연결되고 있는 현재와 미래의 현상을 직시하고, 데이터를 분석하는 다양한 방식과 이를 통해 미래 예측하는 통찰을 얻기 위한 기술을 개발하고 있습니다.

    clip_image032

    회고분석(Retrospective Analysis)의 한 예로, Fujitsu는 축산 농장에서 소의 질병을 신속히 확인하고, 소의 발정기를 정밀하게 확인하기 위한 용도로 센서기술과 Azure 클라우드 기술을 적용 하였습니다. 이를 통해 질병으로 소를 잃지 않고, 소의 체온을 이용한 데이터 분석 기술을 적용하여 발정기를 정밀하게 확인하여 생산량을 늘릴 수 있었을 뿐 아니라, 데이터 분석 과정에서 암수의 결정 메커니즘도 확인할 수 있었습니다. 이러한 서비스는 이제 또 다른 형태의 플랫폼 서비스로 확장 될 수도 있을 것입니다.

    clip_image034

    실시간 데이터 분석은 센서, 웹사이트, 소셜 등에서 변모하는 데이터를 살펴 즉각적으로 통찰을 얻기 위한 방법으로 사용됩니다. 마이크로소프트는 실시간 데이터 분석의 예를 보여주기 위해서 https://gallery.azureml.net/를 통해 다양한 머신 러닝 예를 보여 준 바 있으며, 이중 얼굴 인식, 음성 인식, 비전 인식 등의 몇 가지 서비스를 일반 개발자들이 손쉽게 사용할 수 있도록 공개 API로 서비스 하기 위한 옥스포드 프로젝트(https://www.projectoxford.ai/)를 시작하였습니다. 뿐만 아니라 얼굴 인식 API를 활용한 예로써 http://How-Old.net 을 오픈 하였는데 이를 통해 사진 속의 사람의 성별과 나이를 분석해 줍니다. 뿐만 아니라 이 사이트는 스트림 분석을 통해 획득한 사용자의 성별과 나이 정보를 사이트 모니터링 정보로 재활용 합니다.

    clip_image036

    과거 데이터의 패턴을 분석하여 미래를 예측하기 위한 데이터의 활용 예로서 에너지 제어나 의료분야 등이 있으며, 마이크로소프트 밴드도 이 같은 데이터 분석 기법을 활용하고 있습니다. 마이크로소프트 애저의 머신 러닝 또한 미래를 예측하기 위한 데이터 분석 기법을 지원하며, 예측 정보의 정밀도를 개선할 수 있는 다양한 알고리즘을 지원하고 합니다. 최근 마이크로소프트는 또한 지난 20년간 데이터 언어로 알려진 R을 이용하여 Big Data 분석 서비스를 제공하는 Revolution Analytics사를 인수하여 경쟁력을 강화하였습니다.

    clip_image038

    미래를 예측하기 위한 데이터 분석의 또 다른 예로 인간 지놈 분석을 예로 들 수 있습니다. 1인당 2GB에 가까운 지놈 분석을 위해서는 강력한 컴퓨팅 리소스가 필요합니다. 마이크로소프트 애저 데이터 센터중 4개의 데이터 센터와 8개의 HDInsight 클러스터를 이용하여 단시간에 지놈 분석을 통해서 힙 맵을 생성할 수 있었으며, 이를 통해 개인의 질병 가능성을 예측할 수 있었습니다. 또한 분석에 사용된 알고리즘은 간단히 REST기반 API로 전환할 수 있으며, 모바일 디바이스 등에서 활용될 수 있습니다. 이 같은 빅데이터 분석은 인간의 삶을 변화 시킬 수도 있을 것입니다.

    clip_image040

    또 다른 예로는 이탈리아 정부와 협력하여 비행기에서 촬영한 300,000개의 고화질 사진을 받아, 마이크로소프트 애저의 Machine Learning과 Big Data를 이용하여 폼페이를 3차원으로 재구성할 수도 있었습니다.

    clip_image042

    Windows 10에서 제공되는 DirectX 12를 이용하면 기존에는 상상하기 어려웠던 수준의 정밀도를 가진 게임들을 만들어 낼 수 있습니다. 파이널 판타지 15은 DirectX 12를 이용하여 한 화면에 6,300만개의 폴리곤을 이용하는 한 차원 높은 수준의 게임을 제공할 수 있게 되었습니다. 이는 DX 11에 비해 6배에서 11배에 이르는 숫자입니다.

    마인크레프트는 또 다른 흥미로운 게임 플랫폼 입니다. Visual Studio안에서 Java를 이용하여 마인크레프트 게임을 만들 수도 있습니다.

    clip_image044

    빌드 둘째날의 결론은 바로 "We are Makers!" 입니다.

    Day Two Keynote Presentation 다시보기

  • Korea Evangelist

    Build 2015 Day 1 Keynote 요약

    • 2 Comments

    마이크로소프트는 40년 전 2명의 개발자에 의해 만들어졌습니다. 그간 엄청난 변화가 있었지요. 수많은 장치와 기술이 새롭게 생겨나고 또 사라졌지만 마이크로소프트의 변하지 않는 본질은 개발자를 위한 회사이며 플랫폼 회사라는 것입니다.

    우리의 미션은 모든 조직과 사람들이 더 많은 일을 할 수 있도록 돕는 역할이라고 생각합니다. 스타트업, 학생 개발자, 기업 개발자, ISV, 모바일 앱 개발자, 가상현실 개발자 등 각자가 가지고 있는 전문성과 기술들을 활용하여 만들어낸 이 모든 것들이 우리가 만든 모든 플랫폼에서 가치가 발현될 수 있도록 다리를 만드는 역할을 할 것입니다.

     

    빌드의 키노트에서는 크게 3가지의 플랫폼 변화에 대해서 이야기 하였습니다. 먼저 클라우드 플랫폼은 더욱 지능화 되어 모든 디바이스에서 수행되는 응용 프로그램을 위한 Backend의 역할을 수행할 것입니다. 둘째로 오피스에 대한 이야기입니다. 오피스는 그 자체로 플랫폼화 되었으며 이를 통해 새로운 생산성과 비즈니스 과정을 재개발할 수 있게 될 것입니다. 셋째로 윈도우에 대한 이야기입니다. Windows 10은 차세대 윈도우로서 더욱 개인화된 컴퓨팅 환경을 창조할 것입니다. 이제 라즈베리파이로부터 홀로그래픽 컴퓨터까지 모두 Windows를 사용할 수 있습니다.

     

    마이크로소프트는 매해 10억불 이상을 투자하여 클라우드 데이터센터를 확충하고 있으며, 오늘날 AWS와 Google Cloud를 합한 것 보다 더 많은 19개 지역에 데이터 센터를 설립하고 100만대 이상의 컴퓨팅 디바이스를 관리하고 있습니다. 마이크로소프트는 지난 한해 동안 500개 이상의 새로운 기능을 새롭게 개발하였습니다. 이에 한 달에 9만명 이상이 새롭게 Azure를 사용하고 있으며, 300만명 이상의 개발자가 개발자 등록을 하였으며, 140만개의 데이터베이스와, 50조개의 객체가 저장되어 있을 만큼 활발하게 사용되고 있습니다. Azure는 이제 윈도우 에코 시스템뿐 아니라 리눅스 에코 시스템 까지를 포괄하는 가장 유연한 클라우드입니다. 최고의 도구를 활용할 수 있고 현재 보유하고 있는 기술을 그대로 사용할 수 있을 뿐 아니라, 온프레미스와 클라우드 환경을 통합하여 운영 관리할 수 있는 유일한 클라우드 이기도 합니다.

     

    이제 ASP.NET을 이용하여 개발한 응용 프로그램을 Visual Studio를 벗어나지 않고 Docker로 묶어서 Linux에 배포하고, 운영할 수 있을 뿐 아니라, Visual Studio의 디버거를 이용하여 소스 수준에서 바로 디버깅을 수행할 수 있습니다. 이제 .NET Core는 Windows뿐 아니라, Linux, Mac OSX까지 지원합니다.

     

    최적의 클라우드 앱을 개발하기 위해서 Azure App Service(Web Apps, Logic Apps, Mobile Apps, API Apps), Azure Service Fabric, 개선된 SQL Database를 직접 사용하거나 SQL Elastic Database Pool을 사용할 수 있으며, 개발 전반에 걸친 ALM 기능을 제공하는 Visual Studio Online, 응용 프로그램의 상태를 모니터링 하고 장애를 감지하는 Application Insight 등을 활용하여 클라우드 용 프로그램을 개발할 수 있습니다.

      

    개발 툴 또한 다양한 개발 환경을 지원하기 위해서 Visual Studio 2015 외에도 Windows, Mac, Linux에서 개발을 수행할 수 있는 코드 중심 편집기인 Visual Studio Code를 개발하였으며 무료로 사용 할 수 있습니다. http://code.visualstudio.com

       

    SQL Data Warehouse를 사용하면 다양한 소스로부터 데이터를 취하고 결합한 후, Power BI, Excel, Machine Learning의 소스로 사용할 수 있습니다. IoT의 Backend로써 데이터를 취합하기 위한 EventHub, 스트리밍 분석을 위한 Stream Analytics 등을 활용할 수 있을 뿐 아니라 Data Lake service를 이용하여 용량과 형태에 제한 받지 않고 통합적으로 데이터를 저장, 관리할 수 있습니다.

     

    오피스는 이제 그 기저에서 앱 플랫폼으로 변모하고 있으며, UWP와 JavaScript를 이용하여 오피스 문서의 DOM에 접근할 수 있습니다. 오피스는 이제 Windows, Mac, iPad, 안드로이드에서 사용 가능하며, 설치형뿐 아니라 오피스 웹 앱에서도 동일하게 동작합니다. Office 365 API는 이제 통합된 URL을 통하여 사용할 수 있으며, 이를 이용하면 다양한 비즈니스 시나리오를 오피스 플랫폼 내에서 개발할 수 있습니다.

     

    Windows 10은 단순히 새로운 버전의 Windows가 아니라, 한층 더 개인화된 모바일 컴퓨팅 시대의 시작을 알리는 운영체제입니다. 다채로운 디바이스를 하나로 묶는 운영체제이며, 동시에 터치, 펜, 마우스, 키보드, 홀로그램에 이르기까지 자연스러운 인터페이스를 사용할 수 있도록 해줍니다. 또한 Windows 10은 배포 방식에 있어서 다른 윈도우와도 큰 차이를 보입니다.

    우리는 Windows 10이 계속 최신의 상태가 유지될 수 있도록 하기 위해서 윈도우를 하나의 서비스로 간주하였습니다. 또한 Windows 10은 라즈베리파이로부터 홀로렌즈에 이르기까지 다양한 장치에서 설치되지만, 이 전체를 아우르는 단일의 개발 플랫폼으로 자리 매김 할 수 있도록 하였습니다. 또한 개발자들이 더 많은 사용자들에게 다가갈 수 있도록 스토어를 하나로 묶고 다양한 기술을 수용할 수 있도록 노력하였습니다.

     

    윈도우 스토어는 신용카��� 이외에도 90개의 통신사를 통해서 모바일 결제를 할 수 있도록 스토어를 개선 하였으며, 기업용 스토어를 따로 두어 기업 내에서 사용하는 앱을 배치하거나 자체적인 결제 시스템을 연동할 수도 있습니다.

     

    윈도우 10은 1년동안 무료로 업그레이드 가능하며, 향후 2~3년 안에 10억개의 디바이스에 Windows 10이 설치되는 것을 목표로 삼고 있습니다. 이를 위해서 다양한 개발 기술을 수용하기 위해서 노력하였습니다.

     

    이러한 노력의 결과로 웹 기반 기술을 이용하여 개발된 웹 사이트는 큰 변화 없이 바로 앱으로 변경이 가능하며, .NET과 Win32로 개발된 앱 또한 모든 Universal Windows Platform을 제한 없이 사용할 수 있을 뿐 아니라, 윈도우 스토어를 통해서 다운로드 받을 수 있습니다. 뿐만 아니라 안드로이드 폰 앱을 개발하기 위해서 사용한 Java/C++로 작성한 코드들을 모두 재사용하여 Windows 10이 수행되는 폰용 앱을 개발할 수 있으며, Visual Studio에서 XCode Project 파일을 열어서 Objective C로 작성된 iOS용 코드를 직접 컴파일하고 디버깅 하여 윈도우 앱을 만들 수 있습니다.

    Project Spartan은 Microsoft Edge라는 이름으로 공개되었으며, 모든 Windows 10에서 사용할 수 있습니다. 놀라운 속도, 강력한 상호 운용뿐 아니라, Cortana 결합, 읽기 전용 모드, 펜을 통해서 그림을 그리고 공유할 수 있는 기능이 포함되었으며, 최소한의 수정으로 앱으로도 변경할 수 있습니다.

    Windows 10이 수행되는 디바이스는 다양한 기능상의 차이가 있을 수 있으며, 이를 위해 continuum이라는 기능을 통해서 단일의 앱을 이용하더라도 디바이스의 상태에 따라 서로 다르게 동작함으로써 앱의 사용성을 높여줍니다.

     
    Windows 10 for phone은 키보드/마우스와 모니터가 연결되면 마치 PC용 Windows를 사용하는 것 과 같은 UI를 보여주어 사용자가 손쉽게 응용 프로그램을 사용할 수 있도록 해줍니다.

     

     

    많은 개발자를 열광시킨 홀로렌즈는 동영상으로 살펴보시기 바랍니다.
    https://www.youtube.com/watch?v=3AADEqLIALk

    빌드 첫째날 결론은 바로 "Empower every developer!" 입니다.

    Day One Keynote Presentation

  • Korea Evangelist

    Windows 10 개발자 가이드

    • 0 Comments

    Windows 10 개발자 가이드 Part. 1

       

    이 문서는 Windows 10 개발자를 위해서 관련된 내용들을 정리한 문서로 현재 Windows 10 Preview 버전을 기준으로 작성되었으며 따라서 최신 정보와 차이가 있을 수 있다. 항상 최신의 정보는 MSDN(Microsoft Developer Network http://msdn.microsoft.com)을 참조하기 바란다.

       

    Windows 10 Overview.

    Windows 10은 2015년 출시 예정으로 있는 새로운 버전의 Windows 이다. 사용자 입장에서는 다시 돌아온 시작 메뉴, 고해상도 모니터의 지원과 액션센터와 타블릿과 데스크탑에서 각각 맞는 인터페이스 그리고 변경된 참바 등등을 본다면 변화가 작지않은 것도 사실이다.

    <그림1> 진화되어 돌아온 시작 메뉴

     하지만 정작 변화의 폭이 큰 기존의 버전과는 변화의 폭이 크다는 말이 적절하지 않을 정도로 처음부터 다시 쓴 클라이언트 플랫폼이다. Windows 10의 가장 큰 특징은 하나의 Windows Core로 PC, Phone, XBox 그리고 IoT에 사용되는 디바이스 등 다양한 디바이스를 지원하게 된 점이다.

       

    <그림2>Windows 10에서는 하나의 동일한 Windows Core가 다양한 디바이스에 사용된다.  

    Wiindows Core를 공통으로 사용할 수 있게 되면서 Windows 10은 다음과 같은 특징을 갖게 되었다.

    - PC, Mobile, XBox 이외에도 IoT나 기타 장비를 동일한 Windows Core를 기반으로 하고 있다.
    - 동일한 커널위에 동일한 API 집합인 UAP(Universal App Platform)가 제공된다.
    - 모든 디바이스들이 하나의 스토어에 연결된다.

    <그림3>One Windows Platform

     

    Universal App Platform 

    디바이스와 관계없이 동일한 Windows Core를 사용하면서 동일한 API집합이 제공되는 데 이 부분이 UAP(Universal App Platform)이다.  UAP를 기반으로 개발된 앱들은 동일한 앱 모델을 가지고 있고 바이너리 수준의 호환성을 가지고 있다. 
     기존 Windows 8.1에서도 제한적으로 Windows와 Windows Phone 사이에 Universal App이 제공되었지만 Windows 10에서는 더 넓게 Universal App이 적용된다.

     Windows 10에서 제공하는 UAP는 최소한의 노력으로 다양한 디바이스를 지원하는데 큰 이점을 제공해 줄 뿐만 아니라 사용자의 입장에서는 디바이스 간의 연결된 사용자 경험을 제공 할 수 있다.

    UAP에 대해서 자세한 내용은 Windows Blog에 올라와 있는 글 (http://blogs.windows.com/buildingapps/2015/03/02/a-first-look-at-the-windows-10-universal-app-platform/)을 참조 할 수 있다.

    여기서 중요한 점은 앞으로는 Windows의 버전이 아니라 UAP 버전을 중심으로 호환성이 제공된다. 즉 OS 버전과는 상관없이 UAP 버전이 앱의 호환성의 기준이 된다. 그래서 UAP의 최소, 최대 버전을 프로젝트에서 명시 하도록 되어 있다.

    <TargetPlatform Name="Microsoft.UniversalminVersion="2.0.0.0maxVersionTested="3.5.0.0" />

     여기서 중요한 점은 앞으로는 Windows의 버전이 아니라 UAP 버전을 중심으로 호환성이 제공된다. 즉 OS 버전과는 상관없이 UAP 버전이 앱의 호환성의 기준이 된다. 그래서 UAP의 최소, 최대 버전을 프로젝트에서 명시할 수 있다.

    <그림4>Platform.xml 파일의 내용

     

    Extension SDK

    UAP에서 모든 기능을 다 제공할 수는 없다. 디바이스 독립적으로 설계되어 있기 때문에 디바이스들이 가지고 있는 고유한 특징은 제공되지 않는다. Windows Phone의 백 버튼이나 진동 기능 혹은 Xbox에서 제공하는 아바타와 같은 요소들은 해당 디바이스에만 존재하는 기능들이다. 그래서 각각의 디바이스 별로 고유한 기능을 제공하는 방법이 필요하다.

    이럴 때 사용하는 것이 바로 Extension SDK이다. Extension SDK는 각 디바이스 별 특징을 담고 있는 컴퍼넌트로 프로젝트에 참조 추가를 통해서 추가할 수 있다. <그림5>에서는 스토어 앱 프로젝트에 데스크탑과 모바일의 Extension SDK가 추가되어 있는 것을 볼 수 있다.

    <그림5> Extension SDK가 추가되어 있는 프로젝트

     이렇게 Extension SDK가 추가되어 있는 상태에서 상황에 따라 각 디바이스에 해당하는 기능을 호출하면 하나의 앱으로 다양한 디바이스의 특징을 모두 살릴 수 있는 Universal App을 만들 수 있다.

    Extension SDK의 활용 방법에 대한 소개와 발표자료는 아래 링크를 참조 할 수 있다.
    http://channel9.msdn.com//Series/Developers-Guide-to-Windows-10-Preview/04?wt.mc_id=player

    UAP에 대한 전반적인 내용은 아래 동영상을 참조 할 수 있다.
    http://channel9.msdn.com/Shows/Inside-Windows-Platform/A-First-Look-at-Building-Windows-10-Universal-Applications

       

    Visual Studio 2015 CTP6 

    Windows Insider Program 

    을 위해서는 Visual Studio 2015와 Tools for Windows 10 Technical Preview 가 필요하다. Microsoft는 Windows Insider Program을 통해서 Windows 10 Technical Preview와 Tools for Windows 10 Technical Preview를 제공하고 있다. 그래서 Windows 10을 미리 체험해 보기 위해서는 Insider Program에 가입하는 것이 필요하다.

    Windows Insider Program 가입 https://insider.windows.com/  

       

    당연한 이야기 이지만 Windows 10 개발을 위해서는 Windows 10을 먼저 설치해야 한다.

    Windows 10 Technical Preview Download
    http://windows.microsoft.com/ko-kr/windows/preview-faq

    개발도구는 Visual Studio 2015 버전을 설치해야 하는데 아래와 같이 세가지 버전 중 하나를 선택해서 설치하면 된다.

    Visual Studio Editions
    - Ultimate (Architecture Modeling, Diagnostics, VSO/ALM & Release Management
    - Premium (Architecture Validation, VSO/ALM & Feedback Management
    - Community Edition (Visual Studio Professional Edition)
     

    현재는 아래 링크에서 Visual Studio 2015 Preview 버전을 다운받아 설치 할 수 있다.

    http://www.visualstudio.com

     

    Tools for Windows 10 Techinical Preview
    Visual Studio 2015 만 설치해서는 개발을 바로 시작할 수 없다. Windows 10과 관련된 기능들은 Tools for Windows 10 Techinical Preview를 설치해야 가능하다. 설치 용량은 5기가 정도이며 시간이 다수 걸릴 수 있다.

    Tools for Windows 10 Techinical Preview Download
    http://dev.windows.com/en-US/windows-10-developer-preview-tools

       

    Windows 10 개발자 가이드 Part. 2

       

    Windows 10 개발자 가이드 1/2에서 Windows 10 Overview와 Universal App Platform그리고 개발 환경에 대해서 알아보았다. 여기에서는 UAP 앱을 개발하기 위해서 새롭게 추가되거나 변경된 컨트롤과 기능 그리고 웹 플랫폼에 대해서 MVA의 Windows 10 Preview 개발자 가이드 강좌의 내용을 기반으로 Adaptive UI, Communication, Platform Features 그리고 Web Platform에 대해서 살펴보겠다. 추가로 윈도우 개발자 센터의 Windows Universal 앱 가이드 문서도 같이 참고하길 바란다.

         

    Adaptive UI

       

    UAP는 다양한 크기의 디바이스를 지원해야 하고, 이에 따라 화면에 보여질 수 있는 콘텐트 가로 및 세로 크기가 달라질 수 있다. 디바이스 별로 자연스러운 모습을 보여주는 앱을 만들기 위해서 구동 시에 해당 디바이스에 대한 정보를 가져와서 그에 맞는 UI를 구성할 수 있다.

       

    먼저 SplitView 컨트롤을 사용하면 스크린 크기에 따라 유연하게 콘텐트 레이아웃 형태를 변경할 수 있다. 컨트롤은 아래 이미지에서처럼 왼편의 네비게이션 바와 우측의 콘텐트 영역으로 나누어진다. 네이게이션 바는 화면 크기가 작아졌을 때는 내용 없이 아이콘만 나타나며, 상단의 세 줄로 된(햄버거 모양의) 버튼을 클릭하면 메뉴가 펼쳐진다. 반응 형으로 작성된 웹 페이지에서와 유사한 방식이다.

    <그림 1> SplitView 컨트롤 예제

     

    그리고 RelativePanel 컨트롤은 새로운 레이아웃 컨트롤이며 다른 컨트롤이나 컨테이너에 맞춰서 콘텐트를 배치할 수 있게 한다. 다양한 스크린 크기나 방향에서 동작하는 맞춤형(Adaptive) 페이지를 개발 시에 특히 잘 활용될 수 있다. Panel자체나 sibling에 대해서 왼쪽, 오른쪽, 중앙, 위아래 등으로 위치를 맞출 수 있다. 아래 이미지는 파란색 사각형의 아래, 왼쪽으로 맞춤을 한 것이다.

    <그림 2> Relative Panel 구성 및 XAML 예제

    또한 기존에 XAML에서 자동으로 스크린 크기 같은 환경적인 요인을 감지하기 위해 사용된 Adaptive Triggers UAP에서는 Visual State부분에서 향상된 것으로 Setters는 Properties와 분리해서 설정할 수 있고, Triggers는 특정 state가 적용 되는 시점을 선언할 수 있게 되었다. Adaptive Triggers는 RelativePanel 컨트롤과 같이 사용해서 UAP에서 맞춤형(Adaptive) UI를 만드는 게 쓰이는 강력한 도구이다.

       

    Communication

       

    UAP에서는 앱 간에 통신을 하는 새로운 방법들이 추가 되었다. App-to-App Communication 을 통해서 URI Activation을 통해서 특정 앱을 불러내거나 파일을 보낼 수 있고, 해당 URI를 처리할 앱의 설치 여부를 확인할 수 있다. 또한 다른 앱으로 부터 결과 값을(Results) 받아오는 동작을 할 수도 있다. 그리고 같은 퍼블리셔가 배포한 앱 간에는 저장소 폴더를 공유할 수도 있다.

       

    <그림 3> Windows 10의 App 간 통신 방식

       

    App Services 는 어떤 스토어 앱이 다른 스토어 앱에게 서비스를 제공하는 것이다. 이는 내장된 플랫폼 앱 뿐만 아니라 일반 개발자가 만든 앱 간에도 가능하다. 동작 시 클라이언트 앱이 요청을 하면, 서버 역할을 하는 앱에 있는 Background Task가 응답한다. 클라리언트와 서버 모두 메시지를 주고 받을 수 있다.

    <그림 4> Windows 10 의 App Service 동작 방식

       

    앱 서비스는 클라이언트가 요청한 서비스가 활성화 되어 있는 동안 시스템에서 동작하게 된다. 클라이언트가 연결을 끊거나 중지하는 메시지를 보낼 수 있으며, 디바이스의 리소스가 부족해도 서비스가 중지 될 수 있다. 그리고 앱서비스는 REST 웹 서비스 모델에 기반해서 디자인되어 있다.

       

    Platform Features

         

    많은 앱에서 지도 서비스를 사용한다. 모든 UAP에서 기본적으로 탑재된 Maps 컨트롤과 Maps 서비스 API를 사용할 수 있다. MapControl에서는 이미지나 텍스트 등을 지도 상에 표시할 것이 (아래 이미지의 오른편 같이) 많을 경우 MapIcon을 사용할 수 있고, 몇몇 개의 위치를 표시 하거나 할 때에는 MapItemsControl을 쓸 수 있다. 그리고 TileSource를 이용해서 기본 맵에 타일화된 이미지를 겹쳐서 보여주거나 다른 소스들을 같이 사용할 수 있다.

       

    <그림 5> Windows 10의 Maps 컨트롤

       

    Windows 10은 디바이스에 따라서 Pen으로 정교한 입���을 할 수도 있고, 혹은 터치스크린을 통해 손가락 터치를 인식할 수 있다. Windows 10에서 Pen & Ink 기능은 모든 디바이스에서 빠르게 반응하며 압력 센서 및 손바닥 감지 그리고 손가락 글쓰기 등을 제공한다. XAML에서 InkCanvas 를 사용하며, InkPresenter API로 Ink Stoke 속성 설정, 저장 및 복구, 선택 및 편집, 손글씨 인식 등을 처리한다.

       

    <그림 6> 메일 앱에서 Ink 사용 예

       

    Windows 8.x 에서 앱에 대한 알림 메시지는 앱 타일을 통해서 표시할 수 있었다. 그리고 Windows Phone 8.1부터는 Action Center에서도 이 같은 알림을 확인할 수 있게 되었고, 이제 PC용 Windows 10 에도 액션 센터가 생겼다.

       

    <그림 7> Windows 10 Phone 및 PC에서의 Action Center

         

    알림 내용에 접근하는 방식이 늘어남에 따라서 앱, 액션센터 그리고 타일에서 일관된 형태로 정보를 주고 동작하는 것이 필요하다. 이를 위해 알림 메시지에 태그를 달거나 그룹을 지정 할 수 있고, 혹은 알림 시간을 지정하거나 임의로 알림을 제거할 수도 있다. 또 타일에는 표시되지 않고 액션 센터에만 나오도록 하는 Ghost Toast를 활용할 수도 있다.  

          

    이 외에 플랫폼 적인 측면에서 앱과 앱 간에 드래그앤 드랍이 지원되게 되며, 데이터바인딩 성능 향상을 위해 컴파일 시점에 바인딩을 할 수 있다. 그리고 Transform3D를 통해 GPU를 사용하여 move, size, angle, shape 등을 변형할 수 있다. 아래는 scene의 구성 예이다.

       

    <그림 8> Transform3D 구성

       

    Web Platform

         

    웹과 관련해서 플랫폼 간 더 높은 상호 운용성을 제공하기 위해서 Windows 10에서는 EdgeHTML 렌더링 엔진만을 탑재한 Project Spartan 브라우저를 제공한다. Spartan 브라우저는 모든 Windows 10 디바이스에서 동일하게 동작한다.

       

    <그림 9> Project Spartan의 EdgeHTML 랜더링 엔진

       

    그리고 PC용 Windows 10에 같이 포함된 Internet Explorer의 경우는 기본은 EdgeHTML 렌더링 엔진으로 동작하지만, ActiveX나 BHO가 필요한 사이트의 경우 호환성 모드로 동작할 수 있다.

    <그림 10> Windows 10의 Internet Explorer의 기본 및 호환성  모드

       

    EdgeHTML 랜더링 엔진에는 HTML5 관련한 새롭고 업데이트된 기능들이 포함되어 있다. 아래 표의 내용 외에도 2000개가 넘는 상호 운용성 관련한 개선 사항이 포함되어 있다.

    <그림 11> HTML5 관련하여 적용된 향상된 기능들

       

    이 외에도 웹을 앱 형태로 동작하게 하는 부분들에 대한 향상이 많이 이루어질 예정이다.

Page 2 of 129 (642 items) 12345»