Créer des applications cloud modernes à l'aide de Pulumi et de .NET Core

Par:
fredericmazue

mer, 20/11/2019 - 10:00

Pulumi est une infrastructure as code qui aide les développeurs et les équipes d'infrastructure à mieux collaborer pour créer, déployer et gérer des applications cloud dans leurs langages préférées. Dans ce billet, Microsoft annonce le support de .NET Core pour Pulumi.

Grâce à ce support, vous pouvez utiliser vos outils .NET préférés, tels que les éditeurs, les gestionnaires de packages, les systèmes de construction et les infrastructures de test, pour créer, déployer et gérer des infrastructures sur n’importe quel cloud, notamment Azure, AWS et Google Cloud. Ceci avec les langages C #, VB.NET ou F #.

Par exemple, ce code C # crée une base de données Azure CosmosDB avec une FunctionApp Azure AppService sans serveur qui s'adapte automatiquement à la base de données:

using System;
using System.Collections.Generic;
using Pulumi;
using Pulumi.Azure.AppService;
using Pulumi.Azure.Core;
using Pulumi.Azure.CosmosDB;

class Program
{
    static Task<int> Main(string[] args)
    {
        return Deployment.RunAsync(() => {
            var locations = new[] { "WestUS", "WestEurope", "SouthEastAsia" };
            var rg = new ResourceGroup("myapp-rg", new ResourceGroupArgs {
                Location = locations[0],
            });

            var app = new CosmosApp("myapp", new CosmosAppArgs {
                 ResourceGroup = resourceGroup,
                 Locations = locations,
                 DatabaseName = "pricedb",
                 ContainerName = "prices",
                 Factory = (location, db) => {
                     var func = new ArchiveFunctionApp("myapp-func",
                          new ArchiveFunctionAppArgs {
                              Location = location,
                              Archive = new FileArchive("app"),
                              AppSettings = new Dictionary<string, string> {
                                  ["COSMOSDB_ENDPOINT"] = db.Endpoint,
                              },
                          },
                      );
                      return func.App.ID;
                 },
            });
        });
    }

    // Definitions of CosmosApp and ArchiveFunctionApp elided for brevity.
    // Actual runtime application code is stored in the "app" directory.
    // See link to the full example at the end of this article.
}

Après avoir écrit ce code, vous exécutez la CLI de Pulumi avec la commande pulumi up. Celle-ci vous montrera d'abord un aperçu des ressources d'infrastructure qu'il prévoit de créer. Après confirmation, il déploiera l'ensemble de votre application et l'infrastructure requise en quelques minutes seulement.

Par la suite, si vous devez apporter des modifications, il vous suffit de modifier votre programme, de réexécuter la CLI, qui apportera les modifications incrémentielles nécessaires pour mettre à jour votre infrastructure en conséquence. Un historique complet de vos déploiements est enregistré afin que vous puissiez facilement voir quelles modifications ont été apportées.

Site : www.pulumi.com/docs/intro/languages/dotnet/