Develop, package and deploy your apps for Nano Server

Slides:



Advertisements
Similar presentations
* Admin GUIs on servers are poison Optimized for next-gen distributed applications Higher density and Reduced attack surface and servicing.
Advertisements

Develop – minimize your dependencies Package – know your dependencies Configure – use intent based configuration Deploy – use modular, componentized.
C# and VB code-focused development with Visual Studio
Run Azure Services in your datacenter
Microsoft Ignite /30/2018 9:28 PM BRK3174
Deliver business insights with Microsoft Dynamics AX and Power BI
Microsoft Virtual Academy
Microsoft Virtual Academy
Examine information management in Cortana Intelligence
From IT Pros to IT Heroes - with Azure DevTest Labs
5/21/2018 9:40 PM BRK3021 Learn about modern infrastructure roles in RDS: Next generation Windows desktop & app virtualization Clark Nicholson - Principal.
Develop, debug and deploy containerized applications with Docker
Review Windows Server 2016 The Cloud OS optimized for DevOps
Microsoft Virtual Academy
Microsoft /2/2018 3:42 PM BRK3129 Query Big Data using the Expanded T-SQL footprint with PolyBase in SQL Server 2016 Casey Karst Program Manager.
Windows Server* 2016 & Intel® Technologies
Configure and Manage Your Hybrid Cloud Environment at Scale
Conduct a successful pilot deployment of Microsoft Intune
DevOps for any language
Microsoft Virtual Academy
Review the Nutanix Cloud Platform System Standard solution
Developing Hybrid Apps on Microsoft Azure Stack
Windows Server 2016 Platform for Modern Apps Microsoft Build 2016
Microsoft Virtual Academy
Microsoft /23/2018 1:11 AM BRK3180 Migrate CRM OnPremise organizations to CRM Online cloud using Dynamics Lifecycle Services (LCS) Aditya Varma Ganapathy.
Web development productivity with Visual Studio
Azure SDKs and Tools for You
Deep Dive into the Azure Container Service
Manage Nano Server with Windows Server 2016 Hyper-V
Red Hat OpenShift on Microsoft Azure
Microsoft Ignite /17/ :54 PM BRK2092
Microsoft Ignite /22/2018 3:27 PM BRK2121
Secure Remote Access to on-premises Web Apps using Azure AD
BRK2264 Move 13,000+ global Dynamics CRM users from on-premises to Online at Caterpillar Inc. Todd Byrne & John Finney 1 Business Unit Name Here.
Microsoft Virtual Academy
Microsoft Ignite /31/ :08 AM
Microsoft Virtual Academy
Get Started with Common Data Model (CDM) and PowerApps
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
Microsoft /8/2018 4:45 PM BRK3062 BRK3062- Build smarter and scalable applications using Microsoft Azure Database Services Moshe Gutman CEO, GeoSafe.
Bring new levels of visibility to your datacenter with Cisco Tetration
Microsoft Virtual Academy
Microsoft Ignite /16/2018 2:39 PM BRK3307
Use server-based personal desktops in Windows Server 2016
9/20/2018 2:30 PM BRK2279 Everything you need to know about the new Windows Server release cadence Chris Van Wesep, Director Product Marketing Jeff Woolsey,
Accelerate Your Transition from Traditional IT to the Cloud
Microsoft Build /8/2018 8:41 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft /12/2018 8:06 AM BRK2103 Deliver more features faster with a modern development and test solution Claude Remillard Group Program Manager.
Continuous Delivery for Microsoft Azure
Windows Server Release Cadence
Dive deep into ASP.NET Core 1.0
Explore web development with Microsoft ASP.NET Core 1.0
Microsoft Virtual Academy
Microsoft Ignite /14/ :21 AM BRK2101
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Migrate to CRM Online - Tips and Tricks
Determine your role in a managed service
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Automating Windows 10 and software deployments from the Cloud
Developing for the cloud with Visual Studio
Learn how to use and customize the Dynamics AX interactive help system
Microsoft Virtual Academy
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
Microsoft Virtual Academy
5/25/2019 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Presentation transcript:

Develop, package and deploy your apps for Nano Server BRK3119 Develop, package and deploy your apps for Nano Server Andrew Mason Principal PM Manager

Windows Server 2016 Built-in layers of security 11/14/2018 8:32 AM Built-in layers of security Software-defined datacenter Cloud-ready application platform Windows Server 2016 Windows Server + System Center session guide: aka.ms/WS2016Ignite © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Tenets of Development Develop – minimize your dependencies Package – know your dependencies Configure – use intent based configuration Deploy – use modular, componentized deployments Run – use physical hosts, VMs, or containers Test – use unit tests Secure – don’t let security be an after thought or add-on

Operational Models In previous releases Windows Server hasn’t had a point of view Variety of artifacts used No clear set of choices or recommendations Windows Server 2016 has a clear point of view Traditional ops model Emerging model with Containers

Windows Server 2016 resolves the interface between devs and ops

Windows Server App Platform Develop apps using SDK targeting Nano Server Package apps using Windows Server App (WSA) installer Configure apps using DSC Deploy apps and dependencies using Package Management Run apps in physical, VMs, or containers Test apps using Pester Secure apps using Just enough Administration (JEA) Architectural Foundation

Containers in Windows Server Develop apps using Frameworks on Nano Server Package apps as Container Images pushed to repositories Configure apps using Container Images Deploy container images from repositories Run containers though orchestrators Test apps using your test frameworks Secure apps using multiple containers and JEA

The cloud has changed expectations http://www.gettyimages.com/detail/photo/cloud-computing-and-communications-technology-royalty-free-image/145671614

Expectations of Cloud Applications Microsoft Build 2016 11/14/2018 8:32 AM Expectations of Cloud Applications Availability Hyper-Scale Agility © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Agile application platform Server & Tools Business 11/14/2018 Agile application platform Physical Virtual machines Containers Azure Service Fabric Azure Functions Windows Server 2016 Microsoft Azure/Azure Stack © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Both IT pros and devs benefit Existing apps New apps Secure fabric for existing VMs Containerize apps IT pro focused Both IT pros and dev focused Create cloud- native apps Developer focused Existing apps New apps

Developing Apps Targeting Nano Server

Nano Server installation option Just enough OS 11/14/2018 Nano Server installation option Just enough OS Provides higher density, reduced attack surface and servicing requirements Ideal for cloud inspired infrastructure Smaller image size, smaller attack surface, faster boot time Ideal for next generation app development Built for containers and cloud-native apps Full developer experience with Windows SDK and Visual Studio Third-party applications RDS experience Full GUI Specialized workloads Existing VM workloads Server Core Lower maintenance server environment Containers and modern applications Nano Server Just Enough OS © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Nano Server: Next step in our cloud journey Just enough OS (JeOS) model Server Roles and Optional Features live outside of Nano Server Standalone packages that install like applications Key Roles & Features Hyper-V, Storage (SoFS), Clustering, IIS, and DNS Server .NET Core and ASP.NET Core Full Windows Server driver support Antimalware optional package System Center VMM and OM agents available

Nano Server - Cloud Application platform Born-in-the-cloud application support Subset of Win32 .NET Core and ASP.NET Core PowerShell Desired State Configuration (DSC) PackageManagement (aka OneGet) Open Source Application Frameworks Available as OS everywhere Host OS for physical hardware Guest OS in a VM Windows Server Containers Hyper-V Containers

Nano Server - Developer Experience Nano Server has a full developer experience, unlike Server Core Windows SDK & Visual Studio 2015 target Nano Server Rich design-time experience Project template, full IntelliSense, error squiggles, etc. Full remote debugging experience

Demo Developer Experience

Server Application Development Remote Desktop Server Local Admin Tools Deep refactoring Client stack for RDS Developers target Nano Server Deploy to physical hosts, virtual machines, or containers Client (Server with Desktop Experience) (aka Full Server) Server Core Nano Server Physical Virtual Container

App Compat - Reverse Forwarders A missing DLL will result in your code failing to run Reverse Forwarders provide a way to run existing code without recompiling for Nano Server With Reverse Forwarders, your existing DLLs will load successfully on Nano Server Existing API calls in your DLLs will result in either: API call succeeding if the API is in the Nano Server boundary Return a "Not Implemented" exception if the API is not within the Nano Server boundary Does not eliminate the need to refactor code to what is available in Nano Server

Available Reverse Forwarders advapi32.dll ole32.dll shlwapi.dll comctl32.dll psapi.dll tdh.dll comdlg32.dll secur32.dll user32.dll gdi32.dll setupapi.dll version.dll kernel32.dll shell32.dll winmm.dll

What Runs Today with Reverse Forwarders? Chef PHP NGINX Python 3.5 Node.js GO Redis MySQL OpenSSL Java (OpenJDK) Ruby (2.1.5) SQLite

Creating/Porting Application to Nano Server Use Reverse Forwarders to test your app For Native code Use Visual Studio Nano Server project template to create a new Nano Server application Or, use NanoServerApiScan.exe - http://blogs.technet.com/b/nanoserver/archive/2015/11/16/native-binary-scanning-tool-nanoserverapiscan-exe-for-nano-server.aspx For Managed code Refactor your code to .NET Core API Portability Analyzer - http://www.microsoft.com/en-us/download/details.aspx?id=42678

Demo APIScan

Packaging apps using Windows Server App (WSA) installer

Why Not MSI? MSI is not supported on NanoServer Can't just port MSI to NanoServer MSI has significant GUI dependencies Custom Actions allow for any code to be run Reliability Concerns Custom Actions can be fragile No guarantee that uninstall actually removes all installed assets Leaves the system in an unknown state

Introducing a New Installer for Windows Server TechReady 23 11/14/2018 8:32 AM Introducing a New Installer for Windows Server WSA: Windows Server App Installer Based on AppX package format Declare install actions in a manifest Promotes Server-specific install actions to first class citizens Allows intra-package dependencies Extends the AppX Schema Allows for Server-specific extensions Not constrained to same sandbox as AppX on Client Not specific to Nano Server Available in Server Core and Server with Desktop Experience Installation of Centennial apps to Nano Server also supported through WSA © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Windows Server App (WSA) Installer Authors declare Server Extensions in WSA manifest Similar experience to authoring an AppX manifest Add supports for more extensions to support server scenarios Supports online install Online only for Windows Server 2016 release Roadmap post-Windows Server 2016 includes plans to support offline install Does not allow custom code during installation Separate installation from configuration Apply configuration using DSC or at app launch More consistent installs More reliable uninstalls

Declarative Server Application File System and Registry Server Deployment Extension Handlers NT Services WMI Providers IIS Modules Performance Counters ETW Providers

WSA Packaging and Installation Author a manifest file (AppxManifest.xml) Use MakeAppx.exe tool to create WSA package (.appx) Create a certificate for code signing using makecert.exe or pvk2pfx.exe Digitally sign the package using signtool.exe from Windows SDK WSA Installation Using AppX cmdlets Copy WSA package to Nano Server Add-AppxPackage Using PackageManagement cmdlets Add WSA package source using Register-PackageSource Install-Package

Demo WSA

WSA Resources WSA Introduction: http://blogs.technet.com/b/nanoserver/archive/2015/11/18/installing-windows-server-apps-on-nano-server.aspx WSA deep dive: http://blogs.technet.com/b/nanoserver/archive/2015/11/19/hands-on-packaging-and-installing-your-first-windows-server-apps-on-nano-server.aspx Questions and feedback- nanoserver@microsoft.com FireGiant and WiX Tool: https://www.firegiant.com/wix/appx/ Provides commercial support for the WIX toolset and support the WIX community Created a commercial tool for WiX that will allow you to generate a WSA in addition to an MSI

Drivers on Nano Server Not supported by WSA in Windows Server 2016, drivers remain INF-based PnP Drivers PnP drivers can be offline installed using INF via DISM Online install driver will be available in Windows Server 2016 File system and minifilter Drivers Expanding INF syntax to support file system and minifiter drivers on Nano Server Offline install will be available in Windows Server 2016 Online install will be available post Windows Server 2016

Windows Server 2016 resolves the interface between devs and ops

Windows Server App Platform Develop apps using SDK targeting Nano Server Package apps using Windows Server App (WSA) installer Configure apps using DSC Deploy apps and dependencies using Package Management Run apps in physical, VMs, or containers Test apps using Pester Secure apps using JEA Call to Action Target Nano Server Create WSAs Deploy using Package Management Give us feedback on: Missing Reverse Forwarders Installer functionality needed in WSA Package Management nanoserver@microsoft.com https://windowsserver.uservoice.com /forums/295047-general-feedback

Related sessions Windows Server 2016 Breakout sessions 11/14/2018 8:32 AM Related sessions Breakout sessions BRK3120 – Deploy, Configure, and remotely manage Nano Server BRK2147 – Manage and troubleshoot your Windows Server environment remotely BRK3198 – Review Windows Server 2016 – the Cloud OS optimized for DevOps BRK3338 – Manage Nano Server and Windows Server 2016 Hyper-V BRK3073 – Get notes from the field: implementing Nano Server in production around the world Hands on Lab - Experience Nano Server Windows Server 2016 Windows Server + System Center session guide: aka.ms/WS2016Ignite © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Free IT Pro resources To advance your career in cloud technology Microsoft Ignite 2016 11/14/2018 8:32 AM Free IT Pro resources To advance your career in cloud technology Plan your career path Microsoft IT Pro Career Center www.microsoft.com/itprocareercenter Cloud role mapping Expert advice on skills needed Self-paced curriculum by cloud role $300 Azure credits and extended trials Pluralsight 3 month subscription (10 courses) Phone support incident Weekly short videos and insights from Microsoft’s leaders and engineers Connect with community of peers and Microsoft experts Get started with Azure Microsoft IT Pro Cloud Essentials www.microsoft.com/itprocloudessentials Demos and how-to videos Microsoft Mechanics www.microsoft.com/mechanics Connect with peers and experts Microsoft Tech Community https://techcommunity.microsoft.com © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Please evaluate this session 11/14/2018 8:32 AM Please evaluate this session Your feedback is important to us! From your PC or Tablet visit MyIgnite at http://myignite.microsoft.com From your phone download and use the Ignite Mobile App by scanning the QR code above or visiting https://aka.ms/ignite.mobileapp © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11/14/2018 8:32 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.