Slide 1

Slide 1 text

IPPON 2019 Une fonction Quarkus déployée dans un Kubernetes K3S avec Fission

Slide 2

Slide 2 text

IPPON 2019 IPPON 2019 Sébastien MORENO. #architect #devops #cloud #java #docker #agile #developpeur #opensource #collaboratif #passionne @Bordeaux https://github.com/sebastienmoreno @sebastienmoreno

Slide 3

Slide 3 text

Qu’est-ce qu’on veut faire ? Fonction Get Rockstars Fonction Post Rockstar DB Postgres

Slide 4

Slide 4 text

Quarkus - Supersonic Subatomic Java ● Quarkus adapte l’application Java pour GraalVM et HotSpot ● Container first philosophy, très orienté Kubernetes et micro-services ● ● Build time metadata processing, Reflection limitation ● Image native avec ‘pre-boot’ ➔ Temps de démarrage rapide ➔ Très faible consommation mémoire ➔ Montée en charge rapide ● Commencé en mars 2019 ● Release V1.0 prochainement Quarkus Ecosystem : Extensions pour configurer et intégrer frameworks (ORM, Web, Messaging…). Adaptation pour le build natif. https://code.quarkus.io/

Slide 5

Slide 5 text

Quarkus Metrics

Slide 6

Slide 6 text

k3s - Rancher ● Binaire unique de 40 Mo, utilise 512 Mo de RAM ● Support de ARM64 et ARMv7 Plus light: ● Remplacement de etcd3 par sqlite3 ● Ajout de Containerd, CoreDNS, Flannel ● Suppression des éléments legacy, alpha, non-default (rétrocompatibilité), des plugins cloud providers et stockage, Docker (optional) CI ARM k3s a passé avec succès les tests « Certified Kubernetes Distribution » du CNCF IoT Edge

Slide 7

Slide 7 text

k3s comment ça marche?

Slide 8

Slide 8 text

Fission ● Framework de fonctions pour Kubernetes. ● Mapper sur des requêtes HTTP, K8S Watches, MessageQ... ● Déploiement par CLI, sans conteneurs ni registry ● Très orienté AWS Lambda: code first ● Autoscalling sur CPU, démarrage rapide (pool de containers, cold start ~100msec) ● Workflow de fonction. Intègre Istio. Canary deployment automation. Function Environment Router Pool de containers pour runtime Déploie code de la fonction Routage HTTP pour accès fonction

Slide 9

Slide 9 text

En conclusion ! ● Support HA non disponible out-of-the-box (Issue en cours #42), maturité pour l’installation (public registry...), documentation ● Projet très actif, début d’ecosystem ● features riches : Workflow, builder, triggers mutiples... ● Execution image native Quarkus non disponible (faire votre propre proxy!) ● Bonne intégration, mais l’avenir est plutôt du côté de Knative ● Début en mars et version V1 pas encore sortie, mais très bonne maturité, ecosystem riche et docs disponible. ● Très prometteur pour la communauté Java

Slide 10

Slide 10 text

IPPON 2019 IPPON 2019 ★ contact@ippon.fr ★ +33 1 46 12 48 48 @IpponTech Merci !