Aller au contenu principal

Infrastructure

info

Nos infrastructures respectent l'ensemble des bonnes pratiques. Par exemple, nos infrastructures AWS sont construites conformément à l'AWS Well-Architected Framework, qui fournit un ensemble de bonnes pratiques pour construire une infrastructure sécurisée, performante, résiliente et efficace dans le Cloud. Nous suivons également les pratiques de sécurité standard de l'industrie pour garantir la sécurité et la confidentialité des données de nos clients.

Une infrastructure élastique

Notre infrastructure est spécialement conçue pour être élastique, ce qui signifie qu'elle peut facilement s'adapter à l'augmentation de la charge de travail et du trafic. Cette caractéristique vous permet d'être certain que votre application restera toujours performante et réactive. Au fur et à mesure que votre application se développe et que les demandes sur votre infrastructure augmentent, notre système peut automatiquement allouer des ressources supplémentaires pour s'assurer que votre application reste opérationnelle. Cette approche vous permet de vous concentrer sur la création et l'amélioration de votre produit sans vous soucier de la gestion de l'infrastructure.

Backend

L'une des technologies clés que nous utilisons pour y parvenir est Docker, qui nous permet de gérer et de déployer facilement des applications dans un environnement conteneurisé. En outre, nous utilisons Elastic Container Service (ECS) d'Amazon Web Services (AWS) et Kubernetes (GCP et OVH) pour fournir une infrastructure hautement évolutive et fiable à votre application. En tirant parti de ces outils puissants, nous pouvons garantir que votre application fonctionne toujours de manière fluide et efficace, quel que soit le volume de trafic qu'elle reçoit ou la vitesse à laquelle elle se développe.

Nous intégrons également Redis ou Memcached pour fournir une couche de mise en cache distribuée et très performante qui peut aider à améliorer la vitesse et l'efficacité de votre application.

Front-end

Pour le Front-end, nous utilisons AWS CloudFront et S3. Cette combinaison présente plusieurs avantages. Elle permet une grande évolutivité, ce qui signifie qu'elle peut gérer des niveaux élevés de trafic et s'adapter automatiquement. Deuxièmement, elle offre une faible latence, obtenue grâce à la mise en cache du contenu à plusieurs endroits dans le monde, ce qui réduit le temps nécessaire aux utilisateurs pour accéder à votre site. Troisièmement, il est rentable, car CloudFront et S3 sont des solutions abordables pour l'hébergement et le service de contenu statique. Enfin, elle est sécurisée, avec des fonctions de sécurité conformes aux normes de l'industrie pour garantir la sécurité et la confidentialité de vos données. En résumé, l'utilisation de CloudFront et de S3 pour le frontend garantit la rapidité, la fiabilité et la sécurité de votre site web.

Base de données

Nous utilisons le service de base de données relationnelle (RDS) d'Amazon Web Services (AWS) pour fournir une infrastructure de base de données hautement évolutive et fiable pour votre application. RDS est un service de base de données géré qui facilite la mise en place, l'exploitation et l'évolution d'une base de données relationnelle dans le Cloud. Il prend en charge un grand nombre de moteurs de base de données populaires, notamment MySQL, PostgreSQL, Oracle et Microsoft SQL Server.

RDS est très évolutif, hautement disponible et facile à utiliser et à gérer. Il peut allouer des ressources supplémentaires à votre base de données en fonction de vos besoins, minimiser les temps d'arrêt grâce à des procédures de basculement automatique et fournir des outils pour faciliter l'installation, la surveillance et la gestion. Dans l'ensemble, AWS RDS est un service de base de données puissant et fiable qui peut garantir l'évolutivité, la disponibilité et les performances de votre application.

Schéma

Schéma de l'architecture d'un service sur AWS, respectant les meilleures pratiques d'AWS.

Schema

Redondance et récupération

La redondance et la récupération sont deux composantes essentielles de toute infrastructure bien conçue. La redondance fait référence à la pratique de la duplication des composants critiques de votre système afin de garantir qu'en cas de défaillance d'un composant, un autre puisse prendre le relais de manière transparente. Cette approche contribue à éviter les temps d'arrêt et à assurer la disponibilité de votre application pour les utilisateurs.

Dans AWS, la redondance peut être réalisée en utilisant plusieurs zones de disponibilité (AZ) et régions. Une zone de disponibilité est un centre de données distinct au sein d'une région, et chaque AZ est isolée des autres pour empêcher la propagation des défaillances entre les AZ. En déployant votre application sur plusieurs AZ, vous pouvez vous assurer que si une AZ rencontre des problèmes, votre application peut continuer à fonctionner à partir d'une autre AZ.

La récupération fait référence à la mise en place d'un plan visant à restaurer votre système en cas de défaillance. Ce plan devrait inclure des procédures pour identifier la cause de la défaillance, restaurer les données et reprendre les opérations normales. Avec webcapsule, la récupération peut être réalisée grâce à l'utilisation de sauvegardes automatisées, de clichés instantanés et de procédures de basculement automatique.

Les sauvegardes automatisées sont planifiées à des intervalles réguliers et peuvent être utilisées pour restaurer les données en cas de défaillance. Les clichés instantanés sont similaires aux sauvegardes, mais ils capturent une image de l'ensemble de votre système à un moment précis. Cela peut être utile pour restaurer rapidement votre système à un état connu.

Les procédures de basculement automatique sont conçues pour rediriger automatiquement le trafic vers un système de secours en cas de défaillance. Cela peut être réalisé grâce à l'utilisation de répartiteurs de charge et de groupes de mise à l'échelle automatique. En utilisant ces outils, nous pouvons garantir que votre application reste disponible même en cas de défaillance.

Dans l'ensemble, la redondance et la récupération sont des composantes essentielles de toute infrastructure bien conçue. En mettant en œuvre ces pratiques, nous pouvons nous assurer que votre application reste disponible et réactive pour les utilisateurs, même en cas de défaillance.

Autres éléments notables

  • Gestion des noms de domaine
  • Capacité d'envoi de courrier
  • Gestion des secrets

Un compte qui vous appartient

Notre système utilise un mode BYOC (Bring Your Own Cloud), ce qui signifie que vous avez un contrôle total sur vos ressources cloud et pouvez personnaliser votre environnement selon vos préférences. Cela garantit que vous pouvez choisir quelles applications et services vous souhaitez exécuter, sans être limité par les contraintes d'un fournisseur tiers. De plus, ce mode est souvent plus rentable à long terme.

Toutes les ressources que nous déployons sont associées à un compte AWS qui vous appartient. Par conséquent, vous conservez la pleine souveraineté sur les données et le code de l'application.

De plus, vous avez la possibilité de quitter webcapsule à tout moment sans perdre ni votre travail ni vos infrastructures. Il vous appartiendra néanmoins de les maintenir.

Orchestration des conteneurs