Over a million developers have joined DZone.

From IDE to the Cloud within a Minute

· Cloud Zone

Download the Essential Cloud Buyer’s Guide to learn important factors to consider before selecting a provider as well as buying criteria to help you make the best decision for your infrastructure needs, brought to you in partnership with Internap.

.NETContinuing the series of articles describing the recently integrated .NET/Windows hosting to the Jelastic Platform and its prominent features, today we’d like to cover one of the key possibilities it enables – hosting of .NET projects inside the Cloud.

Beside the set of well-known Jelastic outstanding features like auto scalability, live migration and high availability, the .NET hosting at our PaaS provides tight integration with the Microsoft Visual Studio as the most popular IDE for .NET apps’ development. Such a collaboration became possible thanks to the Web Deploy tool, which is simultaneously integrated with the IIS application server and Visual Studio, allowing you to host your projects inside the Cloud, really easily and quickly.

Speaking more specifically, with Jelastic, you can benefit from the immediate deployment of your .NET projects directly inside your environment, in a matter of a few minutes. Nevertheless, you can still follow the more traditional deployment approach, i.e. package your project into a single archive and upload it to the dashboard, where you’ll be able to deploy it manually to any of your environments, at any time you need and without any additional software requirements.

Regardless of the deployment scenario preferred, first of all you need to prepare an environment with the IIS8 application server inside (this instance can be found at the .NET topology wizard tab). So, if you still don’t have one, it’s time to create it.

.NET IIS

Note: The availability of the .NET programming language tab at your environment wizard depends on a particular hosting provider’s settings. Currently the Windows hosting services are already provided by our hosting partner Luxembourg Web Services.

Once your environment is ready, run the Microsoft Visual Studio IDE and open the project you’d like to host.

visual studio

To access the abovementioned embedded Web Deploy tool, which makes the process of deployment fairly easy, just right-click on the already opened ready-to-go project within the Solution Explorer IDE section and select the Publish option in the appeared context menu.

You’ll see the Publish Web dialog shown. Now, depending on your preferences, you can either automatically deploy your project directly inside the previously created cloud environment or export your project’s archive for being further deployed via the Jelastic dashboard manually – we’ll consider both these workflows in more details below.

Direct Deployment

The fastest and easiest way to get your .NET project hosted at Jelastic Cloud is to deploy it directly to your IIS server from the Visual Studio. For that, you need to perform the following steps:

1. In the appeared window, select the profile with Web Deploy publish method (if you have such an option) or create a new one (e.g. Direct Deploy) and choose it in the same-named drop-down list at the Connection tab.

Then, you’ll need to fill in the fields below with the required data:

direct deploy

where:

  • Server – HTTPS link from the Publish info list of your IIS server node at the dashboard (https://wingate.jelastic.com:50018 in our case):

publish info

Important: DO NOT mix up the link, shown in the image above, with the RDP URL you’ve received via email. They look similar but have different port numbers at the end. The first link is used for publishing projects, and the second one – for remote desktop access.
  • Site name – state the Default Web Site/{your_app_name} line here. Note that the {your_app_name} string should be substituted with a context for your app to be accessed through (e.g. myapp).
  • User name and Password – the RDP credentials for IIS server you’ve received via email. Also, you can tick the Save password checkbox to enable the corresponding option.
  • Destination URL – optional field, where you can specify a link, that should be automatically opened in a browser after publishing completion to view the results of deployment. So, if it’s required, use the following link format:http://{environment_hostname}/{your_app_name}Here, the {environment_hostname} string should be substituted with the corresponding hostname (can be seen under the environment’s name at the dashboard) and the {your_app_name} one – with the same context you’ve specified above. In our case, the whole URL will look like http://dotnet-app.jelastic.com/myapp.

2. Once all of the required fields are filled in, click the Validate connection button below the form to check whether you can connect to your server with the specified data. If everything above is correct, a green tick will appear next to the mentioned button. validate

Otherwise, you’ll get the corresponding error message with a link to the possible solutions.

Note: You may receive the following warning during the validation process or project publishing, which notifies you that the used security certificate is not trusted:

validate connection dotnet

To proceed further, select the Accept button. Optionally, tick the Save this certificate for future session of Visual Studio checkbox to ensure that you won’t get this message in the future while establishing the connection to the same server again.

3. After the successful connection validation, you can switch to the remaining tabs using the Next button, where some other settings (e.g. database parameters) can be specified. In case you don’t need any specific changes, just hit Publish.

Once the required processes are finished, you will either see your application opened in a browser (if the required Destination URL has been defined) or you can access it through selecting the Open in browser icon next to your environment and specifying the required context at the end of the opened URL:get dotnet app hosted

Note that you won’t see any information about application deployment at your dashboard, while its files can be accessed through the Config manager of your application server, within the C/inetpub/wwwroot directory, inside the folder named after the used context (myapp for our case):
direct dotnet hosting

Now, let’s compare it with the common for all engines way of the manual package deployment.

Manual Package Deployment

If you’d like to manage your deployments through the Jelastic dashboard and experience the benefits of cloud storage, you can get the portable archive with your packaged application and upload it to the Jelastic Deployment Manager, where it will be available for the deployment at any time and without any additional software requirements. So, perform the following operations:

1. Inside the opened Publish Web window, select the profile with Web Deploy publish method (if you have such an option) or create a new one (e.g. Direct Deploy) and choose it in the same-named drop-down list at the Connection tab.

web package

Herein you also need to specify two more options:

  • Package location – name of the .zip package with your application and path to the local folder it will be created in.
  • Site name – this field can be left blank or filled in with the Default Web Site line. Since Jelastic has it’s own embedded contexts’ management mechanism, you’ll need to specify the required context (i.e. name of your app) later.

Then, you can switch to other available tabs with additional configurations (if needed) by means of the Next button or just click on Publish to initiate exporting.

2. After that, Web Deploy will wrap up your Visual Studio project into a single .zip archive with all the relevant files and configurations, which can be easily deployed to the target environment with the IIS as an application server.

package

3. Now, when you have an application package, you can upload and deploy it in just the same way as any other archive. We’ll remind you of the workflow:

  • Click Upload in the Deployment manager tab at your dashboard.

upload dotnet app

  • Choose your local file (with the 150 MB size restriction) through the Browse menu or specify the URL to it (http://, https:// or ftp://) in the same-named tab and click on Upload.

upload archive

  • Once the file is successfully added to the Deployment Manager, you can choose an environment it should be deployed to, by means of the corresponding drop-down list.

deploy dotnet

In the appeared confirmation frame, you need to specify the required context name (i.e. name of your application, for example, my-context) and hit Deploy.

Note: If you try to leave the context field blank in order to use the default ROOT one, you’ll be shown the following notification:

dotnet app location

We advise not to use the default root context unless you know precisely what you are doing, as this will cause the following inconveniences:

  • the default welcome page of your server will be overwritten with the current app
  • any other applications installed (even with different context names) will be erased
  • upon such a project’s deletion, all of the other data, including any other deployed projects (even ones added after this app’s installation), will be removed as well, leaving your environment without any default welcome page

4. After the installation process is finished, you’ll get an environment, that is similar to the one below:

open dotnet project

In order to ensure everything went well, click the Open in browser button next to it and add the /{context} suffix (where {context} – the one you’ve specified before the deployment)at the end of the opened page’s URL.

my context

As a result, you’ll see the corresponding application opened.

Feel free to test and compare both above described deployment methods with our 2-week completely free trial offer. As always, we are eager to hear your remarks, recommendations or just some thoughts on what options you prefer, what you most liked about our platform,  or what should be improved. Stay tuned!

The Cloud Zone is brought to you in partnership with Internap. Read Bare-Metal Cloud 101 to learn about bare-metal cloud and how it has emerged as a way to complement virtualized services.

Topics:

Published at DZone with permission of Tetiana Markova, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}