Résumé
Nua est un projet de plateforme cloud open source lancé par Abilian en 2021. Il propose un PaaS (platform as a service) qui peut s'installer facilement sur des serveurs bare metal ou virtualisés, et qui permet de faire tourner des applications web conteneurisées, en gérant leur cycle de vie, les ressources dont elles ont besoin (stockage, bases de données, etc.), les droits d'accès des utilisateurs, les backups, le monitoring, les logs...
Nua permet de gérer des applications issues d'un portefeuille applicatif ("marketplace"), i.e. packagées et optimisées par les développeurs de la plateforme (ou des tiers). Nua permet aussi de déployer des applications en cours de développement (démo / qualif / prod), y compris plusieurs instances d'une même application, et y compris en déploiement automatique (exemple de use case: créer des instances de démo à la demande de prospects, en optimisant la consommation de ressources).
Nua est basé sur les principaux standards du monde open source et du cloud: base de données (Postgres, MySQL, Mongodb, Redis), stockage (S3), OCI, dockerfiles et buildpacks, LDAP et SSO, etc. Nua s'appuie actuellement sur Docker, mais permettra à terme de déployer des applications dans d'autres environnements d'exécution (autres conteneurs, VMs classiques ou légères, SlapOS...).
Documentation et code source:
https://nua.rocks
https://github.com/abilian/nua
Plan de la présentation
Vision et caractéristiques principales du projet
Simplification du packaging et du déploiement multi-instances,
Auto-hébergement, souveraineté numérique
Architecture générale
Pourquoi python ?
Un runtime python dans le container
Un orchestrateur pilotant les containers
Réutilisation de composants entre le packaging, l'exécution de scripts et l'orchestration
Exemples et démo
Fichier de configuration (vue du packageur)
Déploiement de configurations (vue CLI de l'utilisateur)
Roadmap et comment contribuer
Take-aways
Pour les développeurs / devops : comment Nua peut aider à déployer rapidement des versions de dev en phase de dev / préprod / prod, et à gérer les contraintes de la production (backup, upgrades) ?
Pour les responsables informatiques: comment Nua permet de déployer et de gérer facilement un portefeuille d'application Web open source (intranet / extranet / Web) ?
Pour les développeurs d'applications tierces: comment porter ses applications sous Nua?
Pour les contributeurs open source: quelle est la roadmap de Nua et comment y contribuer ?