Déploiement d'applications avec Docker#
Lorsqu'il s'agit de déployer les applications, Docker est la technologie de choix. Docker est simplement l'une technologie open source qui permet de déployer des applications dans des conteneurs. En tant que Data Scientist, vous êtes amenés à deployer vos modèles et Docker est une bonne solution.
La mise en production 🚀#
Une fois les applications développées, elles sont testées puis mises en production. La mise en production consiste à mettre l’application à disposition des utilisateurs finaux afin de leurs apporter de la valeur.
Évolution des environnements de déploiement 🚀#
Dans l’optique d’optimiser les ressources et réduire les coûts, on est passé des serveurs physiques aux conteneurs en passant par les machines virtuelles et de plus en plus au Serverless.
Docker#
Docker est une plateforme logicielle open-source qui permet de déployer des applications dans des conteneurs. Docker a été créé en 2013 par la startup dotCloud.
Docker se démarque par sa simplicité :
- Docker est multi-plateforme
- Docker est flexible et robuste
- Docker est Open Source
- Docker est extensible Docker Compose et Kubernetes
Docker est aujourd’hui le système le plus utilisé et bénéficie d’une grande communauté d’utilisateurs et de contributeurs open source.
Notion de conteneur#
Les conteneurs sont des unités autonomes qui encapsulent une application et ses dépendances, assurant ainsi la portabilité, la rapidité et la cohérence dans le déploiement logiciel (toujours la virtualisation).
Les conteneurs présentent plusieurs avantages à savoir :
- Portabilité
- Isolation
- Légèreté
- Rapidité de Déploiement
- DevOps et CI/CD
Technos de conteneurisation : LCX / Podman / Docker
Sommaire#
- Créer une image Docker
- Déployer un conteneur
- Publier une image sur Docker Hub
Après avoir entrainé et testé votre modèle, il faut le mettre en production afin qu'il soit accessible aux applications. Une fois les modèles construits, il faut les exporter sous un format plus facile à mettre en production.
Exemple de Dockerfile#
FROM python:3-buster
COPY . /app
WORKDIR /app
RUN pip install --upgrade pip \
&& pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "app.py"]
À quoi ça ressemble ?#
Si vous souhaitez aller plus loin, je vous recommande ce cours Openclassrooms Cours Openclassrooms.