Ospitare un'applicazione Node.js in Azure Service FabricHost a Node.js application on Azure Service Fabric

Questa guida introduttiva illustra come distribuire un'applicazione esistente, in questo esempio Node.js, in un cluster di Service Fabric in esecuzione in Azure.This quickstart helps you deploy an existing application (Node.js in this example) to a Service Fabric cluster running on Azure.

PrerequisitiPrerequisites

Prima di iniziare, assicurarsi di avere configurato l'ambiente di sviluppo.Before you get started, make sure that you have set up your development environment. Ciò include l'installazione di Service Fabric SDK e Visual Studio 2017 o 2015.Which includes installing the Service Fabric SDK and Visual Studio 2017 or 2015.

È anche necessaria un'applicazione Node.js esistente da distribuire.You also need to have an existing Node.js application for deployment. In questa guida introduttiva viene usato un semplice sito Web Node.js che può essere scaricato qui.This quickstart uses a simple Node.js website that can be downloaded here. Estrarre il file nella cartella <path-to-project>\ApplicationPackageRoot\<package-name>\Code\ dopo aver creato il progetto nel passaggio successivo.Extract this file to your <path-to-project>\ApplicationPackageRoot\<package-name>\Code\ folder after you create the project in the next step.

Se non si ha una sottoscrizione di Azure, creare un account gratuito.If you don't have an Azure subscription, create a free account.

Creare il servizioCreate the service

Avviare Visual Studio come amministratore.Launch Visual Studio as an administrator.

Creare un progetto con CTRL+SHIFT+N.Create a project with CTRL+SHIFT+N

Nella finestra di dialogo Nuovo progetto scegliere Cloud > Applicazione di Service Fabric.In the New Project dialog, choose Cloud > Service Fabric Application.

Assegnare all'applicazione il nome MyGuestApp e fare clic su OK.Name the application MyGuestApp and press OK.

Importante

Node.js può facilmente superare il limite di 260 caratteri per i percorsi presente in Windows.Node.js can easily break the 260 character limit for paths that windows has. Usare per il progetto un percorso breve, ad esempio c:\code\svc1.Use a short path for the project itself such as c:\code\svc1. È anche possibile seguire queste istruzioni per abilitare i percorsi di file lunghi in Windows 10.Optionally, you can follow these instructions to enable long file paths in Windows 10.

Finestra di dialogo Nuovo progetto in Visual Studio

Nella finestra di dialogo successiva è possibile creare qualsiasi tipo di servizio di Service Fabric.You can create any type of Service Fabric service from the next dialog. Per questa guida introduttiva scegliere Eseguibile guest.For this quickstart, choose Guest Executable.

Assegnare al servizio il nome MyGuestService e impostare le opzioni a destra sui valori seguenti:Name the service MyGuestService and set the options on the right to the following values:

ImpostazioneSetting ValoreValue
Cartella del pacchetto di codiceCode Package Folder <cartella con l'app Node.js><the folder with your Node.js app>
Comportamento del pacchetto di codiceCode Package Behavior Copia il contenuto della cartella nel progettoCopy folder contents to project
ProgrammaProgram node.exenode.exe
ArgomentiArguments server.jsserver.js
Cartella di lavoroWorking Folder CodePackageCodePackage

Premere OK.Press OK.

Finestra di dialogo Nuovo servizio in Visual Studio

Visual Studio crea il progetto di applicazione e il progetto di servizio Actor e li visualizza in Esplora soluzioni.Visual Studio creates the application project and the actor service project and displays them in Solution Explorer.

Il progetto di applicazione (MyGuestApp) non contiene direttamente codice,The application project (MyGuestApp) does not contain any code directly. ma fa riferimento a un set di progetti di servizio.Instead, it references a set of service projects. Include inoltre altri tre tipi di contenuto:In addition, it contains three other types of content:

  • Profili di pubblicazionePublish profiles
    Preferenze relative agli strumenti per diversi ambienti.Tooling preferences for different environments.

  • ScriptScripts
    Script di PowerShell per distribuire o aggiornare l'applicazione.PowerShell script for deploying/upgrading your application.

  • Definizione di applicazioneApplication definition
    Include il manifesto dell'applicazione in ApplicationPackageRoot.Includes the application manifest under ApplicationPackageRoot. I file dei parametri dell'applicazione associati sono disponibili in ApplicationParameters, definiscono l'applicazione e consentono di configurarla appositamente per un ambiente specifico.Associated application parameter files are under ApplicationParameters, which define the application and allow you to configure it specifically for a given environment.

Per una panoramica del contenuto del progetto di servizio, vedere la Guida introduttiva a Reliable Services.For an overview of the contents of the service project, see Getting started with Reliable Services.

Configurare la reteSet up networking

L'app Node.js di esempio che viene distribuita usa la porta 80 ed è necessario indicare a Service Fabric che tale porta deve essere esposta.The example Node.js app we're deploying uses port 80 and we need to tell Service Fabric that we need that port exposed.

Aprire il file ServiceManifest.xml nel progetto.Open the ServiceManifest.xml file in the project. Nella parte inferiore del manifesto è presente <Resources> \ <Endpoints> con una voce già definita.At the bottom of the manifest, there is a <Resources> \ <Endpoints> with an entry already defined. Modificare la voce aggiungendo Port, Protocol e Type.Modify that entry to add Port, Protocol, and Type.

  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->
      <Endpoint Name="MyGuestAppServiceTypeEndpoint" Port="80" Protocol="http" Type="Input" />
    </Endpoints>
  </Resources>

Distribuzione in AzureDeploy to Azure

Se si preme F5 e si esegue il progetto, questo viene distribuito nel cluster locale.If you press F5 and run the project, it is deployed to the local cluster. Si eseguirà invece la distribuzione in Azure.However, let's deploy to Azure instead.

Fare clic con il pulsante destro del mouse sul progetto e scegliere Pubblica. Verrà aperta una finestra di dialogo per la pubblicazione in Azure.Right-click on the project and choose Publish... which opens a dialog to publish to Azure.

Finestra di dialogo per la pubblicazione in Azure di un servizio di Service Fabric

Selezionare il profilo di destinazione PublishProfiles\Cloud.xml.Select the PublishProfiles\Cloud.xml target profile.

Se questa operazione non è stata eseguita in precedenza, scegliere un account Azure in cui effettuare la distribuzione.If you haven't previously, choose an Azure account to deploy to. Se non si ha ancora un account, è possibile iscriversi per ottenerne uno.If you don't have one yet, sign-up for one.

In Endpoint connessione selezionare il cluster di Service Fabric in cui eseguire la distribuzione.Under Connection Endpoint, select the Service Fabric cluster to deploy to. Se non se ne ha uno, selezionare <Crea nuovo cluster>. Verrà aperta una finestra del Web browser con il portale di Azure.If you do not have one, select <Create New Cluster...> which opens up web browser window to the Azure portal. Per altre informazioni, vedere Creare un cluster nel portale.For more information, see create a cluster in the portal.

Quando si crea il cluster di Service Fabric, assicurarsi di impostare Endpoint personalizzati su 80.When you create the Service Fabric cluster, make sure to set the Custom endpoints setting to 80.

Configurazione del tipo di nodo di Service Fabric con endpoint personalizzato

Il completamento della creazione di un nuovo cluster di Service Fabric richiede tempo.Creating a new Service Fabric cluster takes some time to complete. Al termine, tornare alla finestra di dialogo di pubblicazione e selezionare <Aggiorna>.Once it has been created, go back to the publish dialog and select <Refresh>. Il nuovo cluster sarà incluso nella casella di riepilogo a discesa. Selezionare il cluster.The new cluster is listed in the drop-down box; select it.

Fare clic su Pubblica e attendere il completamento della distribuzione.Press Publish and wait for the deployment to finish.

L'operazione potrebbe richiedere alcuni minuti.This may take a few minutes. Al termine, potrebbero trascorrere ancora alcuni minuti prima che l'applicazione sia completamente disponibile.After it completes, it may take a few more minutes for the application to be fully available.

Testare il sito WebTest the website

Dopo che è stato pubblicato, testare il servizio in un Web browser.After your service has been published, test it in a web browser.

Prima di tutto, aprire il portale di Azure e trovare il servizio di Service Fabric.First, open the Azure portal and find your Service Fabric service.

Controllare l'indirizzo del servizio nel pannello di panoramica.Check the overview blade of the service address. Usare il nome di dominio della proprietà Endpoint di connessione client.Use the domain name from the Client connection endpoint property. Ad esempio, http://mysvcfab1.westus2.cloudapp.azure.com.For example, http://mysvcfab1.westus2.cloudapp.azure.com.

Pannello di panoramica di Service Fabric nel portale di Azure

Passare a tale indirizzo, in cui verrà visualizzata la risposta HELLO WORLD.Navigate to this address where you will see the HELLO WORLD response.

Eliminazione del clusterDelete the cluster

Non dimenticare di eliminare tutte le risorse create per questa guida introduttiva, perché verranno addebitate.Do not forget to delete all of the resources you've created for this quickstart, as you are charged for those resources.

Passaggi successiviNext steps

Altre informazioni sugli eseguibili guest.Read more about guest executables.