Je ne peux malheureusement pas tout gérer moi-même. Cela ne serait pas efficace, tant en terme de temps que de coût. Certaines dépendances externes sont aussi nécessaires pour la survie du projet (magasins d’applications, mails).
Durant l’écriture de cette article, j’en ai profité pour supprimer les services que je n’utilisais plus. Je n’utilise que des outils complètement gratuits ou ayant une version limitée.
Stockage
GitHub
Le code source angular du jeu est hébergé sur GitHub. J’utilise aussi le plugin Dependabot pour créer automatiquement les demande de mise à jour des dépendances.
Le code source de la partie serveur du jeu est hébergée sur mon serveur privé.
Scaleway S3
Scaleway est un fournisseur de cloud français, il possède des data-centers en France, au Pays-Bas et en Pologne. Tous les jours une sauvegarde de la base de données est transférée dans un Bucket S3 situé en Pologne. Mon serveur principal étant en France, et chez un fournisseur différent, mes backups ne seront pas impactés en cas d’incident chez OVH.
Communication
Mailjet
Sans fournisseur externe de mails, la plupart finiraient dans les spams des joueurs.
Slack
Slack est utilisé pour la communication interne du staff du jeu, mais l’accès est aussi ouvert aux joueurs.
Magasins d’applications
Amazon Appstore
L’Amazon Appstore est le premier magasin d’applications où le jeu a été publié. Il n’est pas aussi populaire que le Google Play Store mais le compte développeur y est gratuit.
Google Play
Le Google Play store est le plus utilisé des stores Android.
Microsoft Store
Depuis fin 2018, il est possible de télécharger Ellas War depuis le Microsoft Store.
Pling
Pling est un magasin d’application multi-plateforme. D’autres stores plus petits l’utilisent aussi comme source (Gnome/KDE stores par ex). L’interface graphique n’est pas toujours très claire, mais c’est une façon simple d’apporter plus de visibilité au jeu.
Snapcraft
Snapcraft est le store officiel pour les snaps. Les Snaps sont des applications conteneurisées et le projet est supporté par Canonical (Ubuntu).
Security
Better uptime
Connecté à Slack, une alerte est émise par Better uptime en cas d’indisponibilité d’un des serveurs du jeu. Grâce à lui, j’ai pu grandement améliorer la disponibilité du jeu et intervenir rapidement en cas de problème.
Cloudflare
Ellas War utilise les web sockets, malheureusement ils ne sont pas disponible sur sa version gratuite. Cloudflare est uniquement utilisé pour le portail du jeu, un site static avec peu de traffic.
Pourquoi utiliser Cloudflare sur un site web simple avec peu de traffic ? J’ai eu des problèmes avec les redirections et les certificats, utiliser Cloudflare a été le moyen le plus simple de résoudre le problème.
Lets’s Encrypt
Let’s Encrypt est le plus célèbre service permettant d’obtenir gratuitement un certificate SSL. Il est utilisé pour tous nos certificats, sauf celui du portail.
Probely
Probely est un outil permettant de scanner un site web afin d’en améliorer la sécurité.
Conclusion
Le jeu utilise beaucoup de services externes mais la plupart d’entre eux sont optionnels. Mis à part Mailjet, le continue peut continuer de fonctionner sans dégradation en cas de panne d’un de ces services.
J’aimerais ajouter plus outils externes dans le futur. Je pense regarder du coté des scanners de sécurité et de code. J’aimerais aussi ajouter un service pour le monitoring.