Mettre en prod une app Go en deux minutes sur Clever Cloud

Sur Clever Cloud vous développez vos applications, ils hébergent et scallent vos produits à votre place. C'est aussi simple que ceci. Que demander de plus ? Nous on adore. Vous ne vous concentrez que sur ce qui apporte de la valeur à votre business. Dans cet article, nous vous montrons comment mettre en production en moins de 2 minutes une application hyper performante écrite en Go.

L'avantage de travailler avec Clever Cloud réside aussi dans la proximité que vous avez avec les équipes, leur réactivité et leur bienveillance. (On va s'arrêter là, sinon vous allez penser que l'article est sponsorisé -- quoi que si y a deux ou trois goodies qui trainent on est preneur :)

L'autre intérêt repose sur le fait que avez en face un prestataire français qui héberge vos données en france. Sans commentaire donc.

Depuis peu, ils supportent les Go modules et ça c'est vraiment cool.

Bref, montre moi comment on fait

La première étape est de créer un compte. Rien de compliqué. Ceci se fait tout seul. Une fois votre adresse email validée vous voyez vos premiers crédits offerts gratuitement. Très utile pour découvrir le fonctionnement.

Pour déclarer l'application Go, la procédure est très simple:

> Create
> an application
> "Create a brand new app"
> Go
> Next
> Vous saisissez un nom d'application
> "I don't need any add-ons"
> Next

Clever Cloud vous communique une information importante: l'url d'un repository distant. Votre app est versionnée avec git et c'est très bien. Il vous suffit de référencer ce repository distant et de pousser votre code. Clever Cloud vous mâche le travail.

$ git remote add clever git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/<app-id>.git
$ git push clever master

Dès ce moment, Clever Cloud vous réserve une instance, télécharge vos dépendances, compile votre code, réalise les tests et ouvre votre awesome application au monde entier.

Lors de cette procédure, vous pourrez au choix lier ou non votre compte github. Vous pourrez aussi ajouter une DB postgres et/ou redis ou autre. Ce n'est pas utile pour l'exercice.

Montre moi le code

Go lang à une approche très particulière pour gérer ses packages. Au début celle-ci a été critiquée mais avec l'arrivée des Go modules tout ceci est de l'histoire ancienne. Pour coder une application Golang qui supporte les Go modules la procédure est très simple.

Sur l'interface de Clever Cloud il vous suffit d'ajouter deux variables d'environnement.

  • CC_GO_BUILD_TOOL=gomod afin d'indiquer que votre app. utilise les Go modules.
  • CC_GO_PKG=cmd/main.go afin de préciser où est votre package principal. Ici il s'agit du fichier main.go qui est dans le répertoire cmd.

Pour initialiser une app Go module, la procédure est souvent la suivante:

$ mkdir helloap
$ cd helloapp
$ echo "# helloapp" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/LittleBlueFox/helloapp.git
$ git push -u origin master
$ git remote add clever git+ssh://git@push-par-clevercloud-customers.services.clever-cloud.com/<app-id>.git

$ go mod init github.com/LittleBlueFox/helloapp
$ mkdir -p {cmd,say,handlers}
$ je vous laisse le soin de copier le code qui se trouve ici: https://github.com/LittleBlueFox/helloapp
$ go test ./...
$ git push clever master

La magie de Clever Cloud opérant, vous découvrez que votre application est disponible au bout d'une attente interminable de plusieurs secondes.

Pour ceux qui souhaitent en savoir plus voici la documentation sur golang

Voilà, voilà. Que rajouter de plus ?

LittleBlueFox.io est la cyber-solution qui a un impact considérable sur la sécurité de toutes les activités: e-commerce, santé, immobilier, grands comptes, etc.

Sécurisez gratuitement