"Notre base de données ne pourra pas évoluer".
Base de données :
- 40 Go de données au total
- 12 requêtes par seconde
- 0 index sur les colonnes de requête
- N+1 requêtes partout
- 200 ms de temps de requête moyen
Solution :
- Fragmenter sur 12 bases de données
- Ajouter des répliques de lecture
- Mettre en œuvre une couche de mise en cache
- Passer à un NoSQL "web scale"
Solution réelle :
- Ajouter 3 index
- Corriger les requêtes N+1
- 5 ms de temps de requête
- 40 $/mois pour Postgres
Vous n'avez pas de problème d'évolutivité.
Vous avez un problème de compétence.
Offre d'emploi : "Ingénieur DevOps"
Emploi réel :
- Déployer manuellement des fichiers WAR sur Tomcat
- Se connecter en SSH aux serveurs pour vérifier les journaux
- Redémarrer les services lorsqu'ils plantent
- Mettre à jour les règles de pare-feu via des tickets
- Pas d'infrastructure en tant que code
- Pas de CI/CD
- Pas de cloud
Vous n'embauchez pas un ingénieur DevOps.
Vous embauchez un administrateur système qui sait que Docker existe.
Soyez juste honnête sur le rôle.
Les administrateurs système sont précieux. Arrêtez de faire semblant de faire du DevOps quand ce n'est pas le cas.
Votre Dockerfile :
- À partir de ubuntu:latest
- Installe 47 paquets
- S'exécute en tant que root
- Taille de l'image de 2,3 Go
- La reconstruction prend 15 minutes
- Le scan de sécurité montre 89 vulnérabilités
Votre application :
- Un script Python
- 3 dépendances
- Pourrait fonctionner sur Alpine dans une image de 50 Mo
Vous n'utilisez pas de conteneurs.
Vous construisez des VM avec des Dockerfiles.
C'est ce qui se passe quand les gens apprennent Docker à partir d'articles aléatoires sur Medium.