How the Helion Development Platform Offers .NET Support for Windows Developers
HP Helion OpenStack is an open, flexible, highly-available cloud computing platform based on the trunk version of OpenStack technology, while HP Helion Development Platform, built on Cloud Foundry and OpenStack software, provides portability, flexibility and multi-language support.
Now, Helion Development Platform version 1.2 with .NET support allows for Windows developers to work in a familiar environment with the tools that they are used to.
In this tutorial clip captured by The New Stack founder Alex Williams; and featuring Alvaro Peon Sanchez, senior product manager, HP Helion Development Platform; and Gert Drapers, distinguished engineer and director of engineering, HP Helion; we see the integration with OpenStack using the Cloud Foundry infrastructure, and how the Helion Development Platform, by marrying these two layers, provides a full end-to-end solution with services that developers can leverage for their solutions and applications.
Two types of service are offered: un-managed service and managed service. MySQL service sits on top of an OpenStack technology called Trove that provides enterprise-grade application management so that, if something goes wrong, auto-backups assist with recovery.
Currently, Windows doesn’t support containers on a kernel level, but collaboration with Microsoft on process and resource isolation has led to the creation of Windows Prison, which comes as close as possible to a container as can be had in Windows today.
Also of note is SQL server integration, a service broker written in Go, which creates a database and the appropriate security context for the application to talk to the database, allowing for applications to talk to a SQL server as well as to have a SQL server instance. All that’s required is to change the configuration connection.
Once the stack is specified, telling the controller it’s a Windows application, .NET SDK allows programmatic access to Cloud Foundry. Windows power users can leverage this to create a power shell command and automate routine tasks.
MS Build Tasks provides management functionality within Visual Studio and on the command line to start, stop and publish applications; and, Explorer allows the user connection to an endpoint, and explores objects to which the user has access, be they applications, services or routes. Application actions such as start, stop, re-start, delete can also be managed in this module.
A core building block is Microsoft’s IIS Hostable Web Core, which allows users to run an IIS environment underneath their own process, providing the highest degree of fidelity for applications.
The HP Helion team considered several frameworks in the .NET ecosystem to deal with HTTP endpoints and qualify applications to run inside the Cloud Foundry environment. They first evaluated the Mono stack (an open source implementation of the .NET framework) in August 2014, before Microsoft open-sourced the common language runtime (CLR) hosts and made it officially supported on Linux and Mac. At that point Mono was viable as a mobile platform but the Internet HTTP hosting stack was not as well developed. Microsoft’s work on CLR 4.6 has provided more stability. Meanwhile, Microsoft has been saying that frameworks such as WCF will not get into the Mono stack.
Enterprises which have lots of .NET developers want to preserve those skills, but they also have useful applications they want to bring into the Cloud Foundry lifestyle. So, the team settled on IIS Hostable Web Core to provide the highest-fidelity hosting environment.
The Prison container provides sandboxing, ensuring that the process is running in isolation, at the lowest-privileged user, with no access between instances of Prisons, all while minimizing CPU resources. Applications are pushed using the standard format buildpack found in any Cloud Foundry environment, but it can configure IIS Hostable Web Core.
In the tutorial, we see the public cloud showing the instances of Windows DEA and SQL Server. The application is prepared in Visual Studio, wherein we see the endpoints in Cloud Foundry Explorer.
NuGet packages (VS-hosted dependency management for developers) are downloaded via the project right click menu; in this dialog, a search for Cloud Foundry returns .NET SDK and the Build Path, and both are installed, enabling “Publish to Cloud Foundry” in the menu.
Upon account log-in and completion of a profile, the user’s options are to build locally (if the publisher prefers to not push their source code into the system) or in the server, with each application having a published profile, and ultimately an instance of SQL Server with database.
HP is a sponsor of The New Stack.