Dans cet article, nous allons parler du langage de programmation Go et de son utilisation dans le développement d'applications dans le Cloud.
D’abord, voici un brief sur ce langage la:
Go lang est un langage de programmation qui est très populaire dans le cloud computing. C”est un langage open source développé par Google en 2007 et publié pour la première fois en novembre 2009. Il est principalement influencé par le langage C donc c'est un langage compilé qui se traduit directement en code machine (ce qui signifie un temps d'exécution rapide). La différence est que Golang offre plus de simplicité et d'efficacité avec une solide intégration de données. C’est un langage très performant et sa syntaxe simple l'a aidé à gagner une grande popularité surtout pour le développement de microservices.Il est de plus en plus utilisé pour créer des applications basées sur le cloud.
Je vais vous donner une démo de déploiement d'une application Go dans le cloud en utilisant Docker et Kubernetes sur Google Kubernetes Engine (GKE) , donc après avoir installer Golang de ce site web dans votre ordinateur: https://go.dev/dl/
1- Création de l'image Docker: Créez un fichier Dockerfile dans le même répertoire que votre application Go
# Dockerfile
FROM golang:latest
WORKDIR /app
COPY . .
RUN go build -o main .
CMD ["./main"]
et activer l'image docker : docker build -t mon-application-go .
et après on va poussez l'image Docker dans Google Container:
docker tag mon-app-go gcr.io/[PROJECT-ID]/mon-application-go
docker push gcr.io/[PROJECT-ID]/mon-application-go
2-Déployer l'application sur Kubernetes :
Création du fichier de manifeste de déploiement Kubernetes, deployment.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: mon-application-go
spec:
replicas: 1
selector:
matchLabels:
app: mon-application-go
template:
metadata:
labels:
app: mon-application-go
spec:
containers:
- name: mon-application-go
image: gcr.io/[PROJECT-ID]/mon-app-go
ports:
- containerPort: 8080
Déployez l'application sur Kubernetes avec la commande :
kubectl apply -f deployment.yaml
Puis, on rend l'application accessible depuis l'extérieur avec la commande :
kubectl expose deployment mon-application-go --type=LoadBalancer --port=80 --target-port=8080
Après cela, vous aurez accès à l'application Go fonctionnant dans le cloud en accédant à l'adresse IP externe du service Kubernetes.
Et cela conclut notre démonstration de la première application Go.
Références:
- "Golang Setup: First Go App," Serverless Guru. https://medium.com/serverlessguru/golang-setup-first-go-app-9aa95daaf368 (consulté le 21 mars 2024).
- "Go in the Cloud: Best Practices for Cloud-Based Golang Applications," Abhinav V. Singh. https://medium.com/@abhinavv.singh/go-in-the-cloud-best-practices-for-cloud-based-golang-applications-41e74cc30896 (consulté le 21 mars 2024).
- "Go (programming language)," Wikipedia. https://en.wikipedia.org/wiki/Go_(programming_language) (consulté le 21 mars 2024).
Commentaires1
Question
Salut, j'aimerais savoir s'il y a d'autres prérequis pour suivre cette démo, en termes de connaissances et d'outils installés ? Merci !