Bonjour, je suis un utilisateur d'AWS depuis 2013, mais récemment, notre entreprise a décidé de construire ses propres serveurs. Aujourd'hui, je souhaite partager ce processus, les raisons derrière ce choix, et des conseils qui pourraient vous être utiles.
Pourquoi avons-nous migré des serveurs AWS vers des serveurs internes?
AWS offre de nombreux avantages en termes de scalabilité, de fiabilité et de sécurité. En particulier, sa capacité à gérer une augmentation soudaine du nombre d'utilisateurs est un énorme avantage. Cependant, dans notre cas, en tant que fournisseur de services B2B, nous ne prévoyons pas une croissance rapide du nombre d'utilisateurs.
Dans le cas du B2B, nous pouvons contrôler le nombre de contrats dans le processus de contractualisation, ce qui signifie que la scalabilité n'est pas un problème majeur. En fait, depuis la création de Hashscraper, nous n'avons jamais rencontré une telle croissance. Ainsi, nous avons décidé de construire nos propres serveurs pour réduire les coûts.
Défis et solutions lors de la migration
Nous n'avons pas encore migré de nombreux éléments, mais nous avons déplacé la base de données, les serveurs de staging et les services en cours de développement vers nos serveurs internes. Jusqu'à présent, le processus se déroule sans difficulté majeure. En optimisant l'utilisation des ressources physiques des serveurs, nous pouvons réaliser des économies significatives.
Avantages à long terme de l'exploitation de serveurs internes
En exploitant nos propres serveurs, nous avons non seulement réduit les coûts, mais nous avons également pu maximiser l'utilisation des ressources physiques existantes. Nous pensons également pouvoir renforcer la sécurité et améliorer les performances.
Conseils pour les autres développeurs et entreprises IT
Avec l'évolution continue de la technologie des infrastructures serveur, la configuration et l'exploitation des serveurs sont devenues plus simples. En utilisant des outils comme GPT, vous pouvez obtenir de précieux conseils pour la configuration des serveurs. Cela vous permet de réduire le temps passé à lire des guides complexes et à minimiser les erreurs, vous permettant ainsi de consacrer moins de temps à la configuration de l'infrastructure qu'auparavant.
En achetant des serveurs physiques à moindre coût et en les configurant à l'aide de GPT, vous pouvez espérer réaliser d'importantes économies.
Utilisation des puces Apple Silicon et de Docker
Je recommande également l'utilisation des puces Apple Silicon, en particulier le Mac Mini M1 ou M2. Ces produits offrent des performances exceptionnelles par rapport à leur prix, et une grande stabilité. En utilisant Docker, le déploiement devient très simple, ce qui permet d'optimiser encore davantage l'exploitation des serveurs.
Renforcement de la sécurité grâce à l'authentification à deux facteurs (MFA)
Pour maintenir un niveau élevé de sécurité sur nos serveurs internes, nous pouvons mettre en place une authentification à deux facteurs (MFA). Cela renforce considérablement la sécurité. Voici un bref guide sur la mise en place de l'authentification à deux facteurs sur vos propres serveurs.
Étapes de mise en place de l'authentification à deux facteurs (MFA):
Choix de la solution MFA: Sélectionnez une solution comme Google Authenticator, Authy, Yubikey, etc.
Configuration du serveur: Ajoutez une étape MFA au flux d'authentification de l'utilisateur. Après avoir saisi leur identifiant et mot de passe, les utilisateurs doivent entrer un jeton MFA pour se connecter.
Intégration de l'API: Intégrez l'API fournie par la solution MFA à votre serveur d'application.
Interface utilisateur: Ajoutez un champ MFA sur la page de connexion et créez une page de configuration MFA pour permettre aux utilisateurs d'enregistrer ou de gérer leurs appareils MFA.
Logique backend: Ajoutez une étape de vérification du jeton MFA après la validation de l'identifiant et du mot de passe de l'utilisateur.
Tests et déploiement: Testez dans divers scénarios pour vous assurer que la sécurité fonctionne correctement, puis déployez les modifications sur le serveur.
Questions fréquemment posées
Q: Comment gérez-vous la sécurité des données?
R: En matière de sécurité, nous prenons diverses mesures avec l'aide de ChatGPT.
- Gestion des autorisations d'accès: En plus de la gestion des adresses IP et des identifiants et mots de passe, nous avons mis en place une authentification à deux facteurs.
- Sécurité physique: Contrôle d'accès et système de surveillance dans les centres de données.
- Audits réguliers: Vérifications de sécurité et analyses des vulnérabilités pour une prévention proactive.
- Stratégie de sauvegarde: Sauvegardes régulières des données et stockage externe.
- Réplication de base de données: Répartition des données sur plusieurs serveurs pour une sécurité accrue.
Q: Avez-vous rencontré des problèmes inattendus ou des coûts supplémentaires?
R: Nous avons rencontré des problèmes de compatibilité et avons dû effectuer quelques mises à niveau matérielles lors de la configuration initiale des serveurs. Grâce à l'aide de GPT, nous avons pu résoudre rapidement ces problèmes et minimiser les coûts grâce à une planification minutieuse. Les effets à long terme sur les économies sont très positifs.
Q: Quel impact cela a-t-il eu sur l'équipe de développement?
R: Au début, une certaine phase d'apprentissage était nécessaire, mais avec l'aide de GPT, nous avons pu apprendre rapidement. La collaboration au sein de l'équipe s'est renforcée, et nous avons pris plus d'initiatives pour résoudre les problèmes serveur. Une meilleure compréhension de l'infrastructure a également conduit à une plus grande efficacité de développement.
Q: Comment surveillez-vous les performances et les optimisez-vous?
R: Nous effectuons des vérifications en temps réel à l'aide de divers outils de surveillance, mettons en place un système d'alerte automatique, effectuons des examens de performance réguliers et des optimisations. Cela nous permet d'améliorer la disponibilité du service et d'optimiser l'expérience utilisateur.
Conclusion
La transition vers des serveurs internes offre de nombreux avantages tels que des économies de coûts, un renforcement de la sécurité et des améliorations de performances. Bien que l'utilisation de services cloud comme AWS offre une grande scalabilité et fiabilité, pour des services B2B avec une fluctuation modérée du nombre d'utilisateurs, l'exploitation de serveurs internes peut être un choix plus judicieux.
En achetant des serveurs physiques à moindre coût et en les configurant avec les dernières technologies et outils, la configuration et l'exploitation des serveurs sont devenues plus simples. En particulier, en utilisant des outils comme GPT, vous pouvez réduire le temps passé à lire des guides complexes et minimiser les erreurs, ce qui vous permet de consacrer moins de temps à la configuration de l'infrastructure qu'auparavant.
J'espère que cet article fournira des informations utiles aux autres développeurs et entreprises IT envisageant une transition vers des serveurs internes. Si vous avez des questions ou avez besoin d'informations supplémentaires, n'hésitez pas à nous contacter à tout moment à l'adresse hedgehog@hashscraper.com. Merci!




