Héberger gratuitement une application .NET Core en moins de 5 minutes

Bertrand Thomas
VMware Pivotal Labs Paris
4 min readAug 1, 2019

Vous développez une application .NET Core et souhaitez la mettre en ligne sans effort et sans CB ? Cet article est fait pour vous !

Contexte

.NET Core

Le monde .NET / C# est en pleine effervescence depuis le virage de Microsoft vers l’Open Source et le multi-plateforme, qui s’est entre autres concrétisé par l’arrivée du framework .NET Core.

Microsoft loves Linux

Il n’a jamais été aussi simple de développer un site web de qualité ou une API performante, en se basant sur la technologie ASP.NET Core, capable de tourner sur n’importe quel OS (Linux, Mac, Windows).

La version actuelle 2.2 a en outre d’excellentes performances (que l’on peut constater sur le site ageofascent) et la version 3.0, actuellement en preview 7, est encore meilleure.

Hébergement

La question se pose alors de la solution d’hébergement ? Comment mettre en ligne son application et surtout comment la maintenir, la sécuriser, la monitorer, l’adapter au besoin sans être un expert ?

L’approche naturelle est de se tourner vers la solution Cloud de Microsoft, Azure. C’est une très bonne solution mais elle amène une adhérence forte et nécessite une montée en compétence.

Le but de cet article est de vous présenter une approche plus simple et sans adhérence avec la solution d’hébergement, tout en amenant le développeur sur le chemin du “Cloud Native”. En quelques commandes simples nous allons mettre en ligne une application web :

Bien évidemment, une solution professionnelle reposera sur des pipelines CI/CD mais cela n’a pas d’impact sur la solution d’hébergement et de déploiement du moment où celle-ci fournit une API simple pour la gérer (Azure CLI, plugin Azure DevOps ou GitLab, ou bien une CLI en ligne de commande simple).

Solution

Étapes rapides

De quoi a-t-on besoin ?

  • L’outil en ligne de commande dotnet (ou git et dans ce cas faites simplement git clone https://github.com/devpro/cf-dotnet-samples.git et lisez le fichier README.md)
  • Un compte gratuit sur Pivotal Web Services (PWS) (pas besoin de carte de crédit !)
  • L’outil en ligne de commande cf (CLI Cloud Foundry)

On est parti !

  1. Créez une nouvelle application ASP.NET Core : dotnet new webapp --name WebApp
  2. Mettez vous dans le répertoire : cd WebApp
  3. Connectez-vous à votre compte PWS depuis la ligne de commande : cf login -a api.run.pivotal.io
  4. Deployez l’application (sans avoir besoin de compiler) : cf push MyWebApp --random-route
  5. Ouvrez sur votre navigateur internet le lien donné dans la sortie de la commande et profitez de votre application !
  6. Profitez-en pour “tuner” votre application : cf scale MyWebApp -i 3 -k 256M -128M(3 instances monitorées, espace disque de 256Mo, mémoire à 128Mo)
  7. Retrouvez l’état de l’application : cf app MyWebApp
  8. Regardez ce qui se passe depuis les logs : cf logs MyWebApp (ou cf logs MyWebApp --recent)
  9. Une fois fini, si vous le voulez, vous pouvez facilement nettoyer votre compte en supprimant l’application : cf delete MyWebApp
  10. Et en vous déconnectant: cf logout
  11. N’oubliez pas de jeter un œil à l’interface web de gestion : https://console.run.pivotal.io/.

Conclusion

Un compte gratuit sur PWS (1Go de mémoire) offre une solution très simple d’hébergement professionnel pour une application .NET Core (mais également pour d’autres types d’application tels que Java, Ruby, Go, NodeJS, Angular, React, etc.). C’est également une formidable opportunité de découvrir l’intérêt de la solution open source Cloud Foundry et démarrer le cercle vertueux du Cloud Native.

Sachez que l’on n’a fait qu’effleurer les fonctionnalités offertes par la technologie Cloud Foundry mais avec cette approche on peut avancer petit à petit et sans risque, il n’y a aucun choix qui serait bloquant pour la suite.

Restez à l’écoute ! D’autres articles vont suivre sur l’utilisation de Cloud Foundry pour les applications .NET : Docker, Kubernetes, Blue Green deployment, A/B testing, Canary deployment et bien d’autres 😉

Références

Pivotal Labs

Pivotal Labs, leader du développement agile depuis plus de 20 ans, accompagne les entreprises pour résoudre leurs défis les plus importants. Au-delà d’écrire du code en binôme, nos développeurs, nos designers et nos product managers font partie intégrante de votre équipe. Grâce à notre approche collaborative, votre équipe se forme aux meilleures pratiques et technologies innovantes pour acquérir des connaissances tout aussi précieuses que les produits eux-mêmes.

Contactez-nous

Si vous avez envie de savoir plus sur les sujets de Agile Software Development, Lean ou User-Centered Design n’hésitez pas à nous contacter : Twitter, Linkedin ou laissez-nous un message.

--

--

Bertrand Thomas
VMware Pivotal Labs Paris

Solutions Architect @Pivotal, passionate about IT and DevOps culture