← Accueil · Stacks & langages · Toute la doc

bige-ops Gratuit

Laravel + Horizon + MySQL + Redis sur Outscale

Laravel pour le produit, Horizon pour piloter les queues Redis, MySQL pour les données : la stack PHP moderne de nombreuses startups. bige-ops la pose sur Outscale en multi-VM, MySQL et Redis en subnet privé, et la chiffre.

En bref. Topologie multi-vm : VM app (Laravel + workers Horizon) derrière un LBU, MySQL 8.4 et Redis sur VMs privées, backups OOS, NAT. Estimation bige-ops : 423,06 € HT par mois.
flowchart LR
  U["Internet"] -->|"HTTPS 443"| LBU["LBU internet-facing"]
  subgraph NET ["Net 10.0.0.0/16"]
    APP["VM app-app · tinav6.c4r8p2
Laravel (PHP-FPM)
Horizon"] MY[("VM app-mysql
MySQL 8.4 LTS")] RD[("VM app-redis
Redis 8")] end LBU --> APP APP -->|"3306"| MY APP -->|"6379"| RD MY -.->|"mysqldump"| OOS[("OOS · backups")]
Horizon supervise les queues Redis depuis la VM app.

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
LBU app-webentrée publique21,90 €
OOS laravel-app-backups — 50 GiBsauvegardes MySQL1,25 €
VM app-app — tinav6.c4r8p2Laravel + Horizon135,80 €
VM app-redis — tinav6.c2r2p3queues Horizon, cache, sessions54,76 €
VM app-mysql — tinav6.c4r8p2MySQL 8.4, disque io1169,20 €
NAT gatewaysortie du subnet privé36,50 €
EIP VM app-app (attachée — 1ʳᵉ offerte / Net)IP de la VM app (1ʳᵉ offerte)0,00 €
EIP NAT (attachée supplémentaire)IP publique du NAT3,65 €
Total estimé423,06 €

Le projet utilisé, à reproduire chez toi :

bige-ops init -n stack-laravel-horizon-mysql-redis
bige-ops add layout custom --name app --runtime php --web same --worker \
  --db mysql --db redis --topology multi-vm --lbu
# puis project.yaml ajusté comme ci-dessous
bige-ops validate
bige-ops estimate --json
name: stack-laravel-horizon-mysql-redis
region: eu-west-2
enable_nat: true
components:
- type: stack
  name: app
  topology: multi-vm
  services: [api, web, worker, mysql, redis]
  images: {mysql: 'mysql:8.4', redis: 'redis:8-alpine'}
  sizing: {app_vm: tinav6.c4r8p2, mysql_vm: tinav6.c4r8p2, redis_vm: tinav6.c2r2p3}
  service_config:
    mysql:
      backup: {enabled: true, oos_bucket: laravel-app-backups}
- type: load_balancer
  name: app-web
  scheme: internet-facing
  backend_vms: [app-app]
- {type: oos_bucket, name: laravel-app-backups, bucket: laravel-app-backups, size: 50, purpose: backups}

Bases de données : versions, backups, failles connues

BaseImage épingléeBackup vers OOSFailles connues
MySQLmysql:8.4mysqldump → gzip → bucket OOSfiche OpenCVE
Redisredis:8-alpinesnapshot RDB / AOF → bucket OOSfiche OpenCVE

MySQL. MySQL 8.4 est la version LTS ; la série 8.0 est arrivée en fin de vie : la simulation épingle mysql:8.4 plutôt que le mysql:8 par défaut. Référence : manuel MySQL 8.4. Côté durcissement : pas de root distant, un utilisateur applicatif limité aux adresses du Net, et des droits réduits aux schémas de l’app.

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).

Le tableau de bord Horizon se protège par sa gate d’autorisation (doc Horizon) ; ne l’ouvre pas sans authentification.

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

Rappel Outscale : deux VMs d’un même subnet se parlent sans passer par les security groups ; séparer l’app (public) et la data (privé) les remet dans le chemin. Détail : réseau · ouvrir ou non, security groups Outscale.

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. bige-ops lit le code de tes dépôts sur ton poste, compare tes paquets Composer à la base publique des failles connues des bibliothèques open source (OSV) et, avec ta clé OpenCVE, les composants de ta stack au registre mondial des vulnérabilités (CVE). Puis il 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
MySQLMySQLreconnu automatiquement depuis l’image mysql:8.4 · exposition : privée
RedisRedisreconnu automatiquement depuis l’image redis:8-alpine · exposition : privée
PHP, LaravelPHP · Laravelfiche de référence (pas encore reconnu automatiquement) ; paquets Composer vérifiés dans OSV

Sur ton poste, sans clé ni IA (le mode direct) : bige-ops repère les routes Laravel (Route::) et vérifie qu’elles demandent une connexion (middleware('auth')), signale l’exécution de commandes construites avec des données externes et les mots de passe ou clés écrits en clair dans le code, et vérifie tes paquets Composer dans OSV. Le HTML affiché sans échappement dans Blade ({!! !!}) est transmis à l’audit approfondi. Détail : PHP sur Outscale.

bige-ops advanced va plus loin avec ta propre clé d’IA : un agent d’audit relit les pistes déjà repérées (pages ou API accessibles sans être connecté, passages de code à risque, pièges connus du framework), confirme les vraies failles, écarte les fausses alertes et classe chacune par type de faille, selon le catalogue de référence (CWE), avec son urgence (de P0, la plus urgente, à P3), son exposition et un ticket GitHub (issue) prêt à ouvrir. Les appels partent de ton poste, avec des extraits ciblés de ton code ; l’agent n’applique rien et ne lit pas tes secrets. Voir l’audit approfondi.

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 : PHP.

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.