← Accueil · Stacks & langages · Toute la doc

bige-ops Gratuit

Spring Boot sur OKS + Kafka + PostgreSQL + Redis + Keycloak

Le schéma type des grandes entreprises et des scale-ups Java : des microservices Spring Boot derrière une gateway, Kafka pour les événements, PostgreSQL pour les données, Redis pour le cache, Keycloak pour l’identité. Sur OKS, le Kubernetes managé d’Outscale, disponible aussi en Région SecNumCloud, bige-ops génère le cluster, les manifests et le chiffrage.

En bref. Topologie oks : control plane haute disponibilité cp.3.masters.small, nodepool de 3 nœuds tinav6.c8r16p2 (24 vCPU, 48 GiB). Gateway, front, consumers Kafka, microservices orders et catalog, Kafka, Keycloak, PostgreSQL et Redis en Deployments. Estimation bige-ops : 918,80 € HT par mois, plus les trois LBU des Services exposés.
flowchart TB
  U["Internet"] -->|"HTTPS"| LG["LBU · gateway"]
  U -->|"HTTPS"| LW["LBU · web"]
  U -->|"HTTPS · OIDC"| LK["LBU · Keycloak"]
  subgraph OKS ["OKS · cp.3.masters.small · 3 × tinav6.c8r16p2"]
    GW["api · Spring Cloud Gateway
HPA 2 → 6"] WEB["web · SPA"] KC["Keycloak 26.8"] OR["orders · Spring Boot"] CA["catalog · Spring Boot"] WK["worker · consumers Kafka"] KF[("Kafka 4.3 · KRaft")] PG[("PostgreSQL 17")] RD[("Redis 8")] end LG --> GW LW --> WEB LK --> KC GW --> OR GW --> CA GW -.->|"jetons OIDC"| KC OR --> PG CA --> PG OR --> KF KF --> WK GW --> RD PG -.->|"pg_dump"| OOS[("OOS · backups")]
Trois entrées publiques, tout le reste en Services internes.

Pourquoi cette stack tourne bien sur Outscale

Architecture sur Outscale

Coût mensuel estimé

Calculé avec bige-ops estimate --json sur le catalogue public Outscale synchronisé le 17 septembre 2026, Région eu-west-2, en € HT par mois (730 heures). Estimation indicative, sur la grille publique ; le trafic sortant est à 0 € HT au catalogue public de cette Région.

Ligne bige-opsCe que c’est€ HT / mois
OOS platform-backups — 100 GiBsauvegardes PostgreSQL (100 GiB)2,50 €
OKS control plane — cp.3.masters.smallcontrol plane HA (3 masters)94,90 €
Nodepool default — tinav6.c8r16p2 × 33 nœuds : 24 vCPU, 48 GiB, disques inclus821,40 €
Total estimé918,80 €

LBU des Services exposés. La gateway, le front et Keycloak sont trois Services LoadBalancer : trois LBU à 21,90 € HT par mois l’unité au même catalogue, soit 65,70 € de plus : 984,50 € HT par mois au total. Faire passer Keycloak derrière la gateway en retire un.

Le projet utilisé, à reproduire chez toi :

bige-ops init -n stack-spring-boot-oks-kafka-keycloak
bige-ops add layout custom --name platform --runtime java --web spa --worker \
  --db postgres --db redis --topology oks --lbu
# puis project.yaml ajusté comme ci-dessous
bige-ops validate
bige-ops estimate --json
name: stack-spring-boot-oks-kafka-keycloak
region: eu-west-2
components:
- type: stack
  name: platform
  topology: oks
  services: [api, web, worker, postgres, redis, orders, catalog, kafka, keycloak]
  images: {postgres: 'postgres:17', redis: 'redis:8-alpine'}
  control_plane: cp.3.masters.small
  nodepools:
  - {name: default, type: tinav6.c8r16p2, count: 3}
  service_config:
    postgres:
      backup: {enabled: true, oos_bucket: platform-backups}
    api:
      hpa: {enabled: true, min: 2, max: 6, target_cpu: 70}
    orders: {kind: custom, image: 'registry.example.com/platform/orders:1.0.0', port: 8080,
      memory_mb: 1024, replicas: 2}
    catalog: {kind: custom, image: 'registry.example.com/platform/catalog:1.0.0', port: 8080,
      memory_mb: 1024, replicas: 2}
    kafka: {kind: custom, image: 'apache/kafka:4.3.1', port: 9092, memory_mb: 2048}
    keycloak:
      kind: custom
      image: quay.io/keycloak/keycloak:26.8.1
      port: 8080
      memory_mb: 1024
      command: [start]
      expose: true
- {type: oos_bucket, name: platform-backups, bucket: platform-backups, size: 100, purpose: backups}

Données et middlewares : versions, backups, failles connues

BaseImage épingléeBackup vers OOSFailles connues
PostgreSQLpostgres:17pg_dump → gzip → bucket OOSfiche OpenCVE
Redisredis:8-alpinesnapshot RDB / AOF → bucket OOSfiche OpenCVE
Apache Kafkaapache/kafka:4.3.1réplication et rétention Kafka ; topics critiques recopiables vers OOSfiche OpenCVE
Keycloakquay.io/keycloak/keycloak:26.8.1export des realms ; base Keycloak à placer dans PostgreSQLfiche OpenCVE

PostgreSQL. PostgreSQL 18 (supporté jusqu’en novembre 2030), 17 (novembre 2029), 16 (défaut bige-ops, novembre 2028) et 15 (novembre 2027) sont maintenus ; 14 sort du support le 12 novembre 2026. La simulation épingle postgres:17. Source : politique de versions PostgreSQL. Côté durcissement : un rôle applicatif dédié (jamais le superutilisateur), des règles pg_hba.conf limitées au CIDR du Net en scram-sha-256, et des mises à jour mineures régulières (la majeure reste celle que tu épingles).

Redis. La simulation garde redis:8-alpine, le tag par défaut de bige-ops : il suit la dernière Redis 8. Épingle la mineure (par exemple 8.10) si tu veux un build strictement reproductible. Côté durcissement : un mot de passe ou des ACL, le protected mode actif, aucune exposition publique, et les commandes d’administration réservées à un utilisateur dédié (sécurité Redis).

Kafka. Kafka 4 fonctionne sans ZooKeeper (mode KRaft). Écoute sur le réseau du cluster seulement, authentification SASL/SCRAM ou mTLS entre clients et brokers, ACL par topic. Doc : Kafka · image apache/kafka · côté Spring : Spring for Apache Kafka (ses failles connues).

Keycloak. Mode production (start) avec KC_HOSTNAME sur ton domaine, base PostgreSQL dédiée plutôt que la base embarquée, console d’administration réservée à tes CIDR. Le TLS se termine sur le LBU : configure Keycloak pour les en-têtes du proxy. Doc : Keycloak · Keycloak en conteneur.

Le backup est activé dans la simulation (backup.enabled + bucket OOS) : bige-ops crée le bucket, protégé contre la destruction, et prépare backup.sh (bucket, endpoint, planning) où tu branches le dump. Sans backup, Visual, preflight et plan te le signalent. Détail : OOS & backups.

Exposition : ce qui est ouvert, et à qui

Détail : OKS & pods, réseau · ouvrir ou non, load balancers dans OKS.

Vulnérabilités : ce que bige-ops vérifie

Des failles, il y en aura toujours : l’important est de voir d’abord celles qui sont exposées. Avec ta clé OpenCVE, bige-ops compare les composants de ta stack, y compris les images de tes Dockerfile et docker-compose, au registre mondial des vulnérabilités (CVE), puis classe tout par urgence : ce qui est exposé à Internet d’abord. Pourquoi le refaire toi-même ? C’est chez toi, sur ton poste, et c’est gratuit. La méthode complète : ce que bige-ops vérifie.

Avec ta clé API OpenCVE (Settings), l’onglet Vulnérabilités lit ta simulation : chaque composant reconnu, image Docker ou paquet installé, est rapproché de sa fiche éditeur / produit, à raison d’une requête par produit. Les failles connues qui remontent sont classées par risque :

Le rapprochement se fait au niveau du produit, pas de la version : à toi de recouper avec la version que tu as épinglée. Une image en latest ressort en plus comme « version non épinglée ». Le résultat est mis en cache dans la simulation et se rafraîchit à la demande.

ComposantFiche OpenCVEDans bige-ops
PostgreSQLPostgreSQLreconnu automatiquement depuis l’image postgres:17 · exposition : privée (pod interne)
RedisRedisreconnu automatiquement depuis l’image redis:8-alpine · exposition : privée (pod interne)
Kubernetes (OKS)Kubernetesreconnu automatiquement (topologie oks) · exposé par les LBU
Apache KafkaApache Kafkafiche de référence (pas encore reconnu automatiquement)
KeycloakKeycloakfiche de référence (pas encore reconnu automatiquement)
Spring Boot, Spring Cloud Gateway, Spring SecuritySpring Boot · Spring Cloud Gateway · Spring Securityfiche de référence (pas encore reconnu automatiquement)
JDKOpenJDKfiche de référence (pas encore reconnu automatiquement)

L’analyse du code Java arrive ; ta stack est déjà couverte : composants et images comparés aux failles connues avec OpenCVE, exposition sur OKS et coût sur Outscale. Détail : Java sur Outscale.

Ce que bige-ops vérifie avant le deploy

OpenCVE, la source des failles connues

Pour savoir quelles failles connues touchent les briques de ta stack, bige-ops s’appuie sur OpenCVE. OpenCVE rassemble les failles publiées dans le registre mondial des vulnérabilités (CVE) et ses sources officielles (NVD, MITRE, liste KEV des failles déjà exploitées tenue par la CISA, l’agence américaine de cybersécurité…), donne à chacune sa note de gravité sur 10 (CVSS) et sa probabilité d’être exploitée (EPSS), et les range par éditeur et par produit, consultables dans son explorateur. Le projet est open source : son code, ses issues et les contributions de sa communauté vivent sur GitHub, et il s’installe aussi chez toi. Merci à ses mainteneurs et à tous ceux qui font vivre ce référentiel : c’est grâce à eux que chaque composant de ta simulation a sa fiche de failles à jour.

Docs officielles

Langages : Java · Kotlin · Scala.

Pour aller plus loin : layouts & topologies, VMs, OKS, volumes BSU, OOS, LBU, réseau, régions, bases de données, catalogue de prix. Toutes les stacks : stacks & langages.