Lorsque vous stockez des objets dans le AWS S3, vous ne payez pas seulement pour l’objet stocké, mais vous accédez généralement à ces objets d’une certaine manière.

Si votre compte AWS est relativement récent (moins de 12 mois), vous pourrez probablement bénéficier du volet gratuit. Cela signifie 5 Go de stockage gratuit + 20 000 demandes GET et 2 000 demandes PUT. N’oubliez pas que cette offre expire au bout de 12 mois à compter de la création du compte.

Nous avons donc 3 éléments dans notre facture pour réduire votre facture AWS S3.

Stockage : Selon le type de stockage que vous choisissez pour votre Bucket, c’est le prix que vous payez par Go de données stockées. Vous avez 3 types, Standard, Standard-IA (accès peu fréquent) et Glacier et le prix varie en fonction de la région où votre bucket est créé.

Demandes : Il s’agit essentiellement du nombre d’appels effectués à l’API S3 pour récupérer les objets. Le prix dépend du type de requête (les requêtes DELETE sont gratuites), de la région et du type de stockage.

Vous pourriez également voir sur votre facture des choses comme :

  • Amazon Simple Storage Service EU-Requests-Tier1 : Il s’agit des demandes PUT, COPY, POST, ou LIST.
  • Amazon Simple Storage Service EU-Requests-Tier2 (Service de stockage simple Amazon EU-Requests-Tier2) : Ceci est pour les demandes GET et toutes les autres demandes.
  • Amazon Simple Storage Service EU-Requests-Tier3 (Service de stockage simple Amazon EU-Requests-Tier3) : Il s’agit des demandes concernant les glaciers.
  • Amazon Simple Storage Service EU-Requests-Tier4 : Il s’agit du nombre de transitions vers l’accès standard peu fréquent que vous avez demandé.

Transfert de données : Ceci est mesuré en entrée (IN) et en sortie (OUT). La bonne chose est que les données IN sont gratuites. Le transfert OUT dépend de l’endroit et de la manière dont vous envoyez les données. Si vous transférez des données à une autre instance EC2 dans la même région, c’est gratuit. N’oubliez pas d’utiliser les terminaux VPC S3 pour économiser encore plus d’argent.

Vous avez la liste des prix sur le site Amazon S3 ici, attention, elle change très souvent.

Maintenant, comment puis-je mesurer en temps réel combien j’utilise AWS S3 ?

Avec la nouvelle console de gestion S3 (vous devez l’activer dans votre compte AWS), vous avez la liste des buckets.

Reduire facture S3 AWS, selectionnez votre bucket

Lorsque vous sélectionnez l’un d’entre eux, choisissez l’onglet Gestion (Management) en haut de la page.

Reduire facture S3 AWS, Allez dans Management Tab

Reduire facture S3 AWS, Cliquez sur Metrics

Ensuite, choisissez Métriques (Metrics)

Ici, vous pourrez choisir entre Stockage (Storage), Demandes (Requests) ou Transfert de données (Data Transfer). Il convient de préciser que la mesure de stockage est la seule qui soit Gratuite.

Je vous recommande vivement de garder un œil sur vos factures AWS et d’analyser celle-ci via l’outil Cost Explorer, vous trouverez de nombreuses façons d’économiser de l’argent et de recevoir les félicitations de votre patron 😉 !

Aller plus loin : 

Article Premaccess = FinOps : comment réduire les couts sur AWS ?

Premaccess  = découvrir notre accompagnement avec notre équipe consulting

Les éditeurs d’applications SaaS le savent bien : les infrastructures fixes, appelées single-tenant, sont faciles à déployer mais ont leurs limites notamment en terme de maintenance. C’est pourquoi nous vous conseillons vivement de passer au multi-tenant. Nombre d’entre vous hésitent à franchir le pas.
Votre crainte : que les données de vos clients ne soient pas sécurisées.
Pourtant, sur AWS, cela est possible grâce à l’alliance de trois microservices : Cognito, IAM et DynamoDB. 

Après avoir expliqué ce qu’est une architecture multi-tenant, nous vous présentons comment utiliser ces trois services sur AWS pour la mettre en œuvre.

Qu’est-ce qu’une infrastructure multi-tenant ?

Avant d’aller plus loin, expliquons le terme « Tenant » : en anglais, il signifie « Locataire », « Client ». Chaque client rassemblant un « groupe d’utilisateurs ».

Modèle single-tenant

Dans une architecture single-tenant, une seule application est utilisée par plusieurs clients, mais chacun a sa propre version de l’application installée dans une instance dédiée. 

Ce modèle a plusieurs avantages :

  • Séparation franche entre chaque client, et donc entre chaque version de l’application.
  • Les données du client A ne sont pas mélangées avec celles du client B.
  • Chaque client possède sa propre base de données et son propre serveur d’application.

single-tenant : chaque client à sa propre infrastructure.

Mais, très vite, il peut être compliqué à administrer. En effet :

  • Plus les clients vont être nombreux, plus il est difficile de gérer les différentes versions de l’application sur chaque infrastructure.
  • Le coût fixe pour chaque infrastructure peut être pénalisant pour les clients à faible trafic.
  • À partir de 100 clients, il est impératif d’automatiser la gestion des infrastructures, notamment avec des solutions comme BAM*.
  • À partir de 1 000 clients, ce n’est pratiquement plus gérable.

Modèle multi-tenant

À la différence, dans une architecture multi-tenant, une seule instance d’application va servir à plusieurs clients. Les ressources (et notamment les bases de données) y sont mutualisées. 

multi-tenant : une infrastructure pour plusieurs clients.

Avec une seule infrastructure globale, au lieu d’une par client :

  • Il est plus facile d’en assurer la maintenance : lorsqu’une modification est apportée à un fichier, elle profite à tous les clients. Les mises à jour sont plus simples à assurer.
  • Vous réduisez vos coûts d’utilisation sur le cloud.
  • Les temps de réponse sont bien plus rapides.
  • La gestion des clients est simplifiée, qu’ils soient au nombre de 10 ou 10 000. 

En contrepartie, comme les données des clients sont mélangées, il faut que le logiciel soit développé pour séparer de manière logique les données des clients. Nous verrons plus loin que les technologies intégrées à AWS permettent de résoudre cette difficulté facilement. 

Modèle hybride

Il existe aussi une approche hybride qui permet d’optimiser son infrastructure sans avoir à faire beaucoup de modifications dans son application.

Approche hybride : mutualisation de l’application avec plusieurs bases de données dans la même instance.

Dans une approche hybride, seule l’application est mutualisée. Dans ce cas, chaque client dispose d’une base de données dédiée dans la même instance, ainsi que d’un login et d’un mot de passe.  Cette solution a l’avantage d’être facile à mettre en œuvre tout en commençant à faire des économies d’échelles sur les coûts d’infrastructures.

Comment faire du multi-tenant avec AWS ?

Lors de la création d’une architecture multi-tenant, l’enjeu crucial est, bien sûr, de sécuriser les datas afin qu’elles ne soient pas accessibles par tous.

Les développeurs d’applications SaaS doivent être en mesure d’identifier un utilisateur, de relier une donnée à son locataire, mais également un utilisateur à son locataire, et de savoir quels droits ont été concédés à tel ou tel user. 

Pour cela, sur le cloud d’AWS, nous vous conseillons d’associer les services DynamoDB, Cognito et IAM.

Organisez vos bases de données avec DynamoDB

Dans DynamoDB, chaque table, présente dans votre base de données, doit avoir une colonne permettant de stocker une référence au Tenant. En règle générale, il s’agit d’un identifiant client (organizationId). 

Dans cet exemple, la colonne “OrganizationId” permet de stocker la référence au Tenant.

Créez vos utilisateurs

En parallèle de cette gestion des tables, Amazon Cognito vous permet d’ajouter des utilisateurs à vos applications SaaS. Dans une infrastructure multi-tenant, ce service va lister les différents clients (et donc leurs utilisateurs et leurs groupes) ainsi que leurs identifiants. Par ailleurs, il va associer des attributs personnalisés à chaque utilisateur en fonction du locataire auquel il est lié afin de sécuriser son authentification, et gérer ses autorisations.

De plus, AWS gère pour vous toute la sécurité et la connexion. Tous les derniers standards, notamment les authentifications à multiples facteurs, sont disponibles sans développement de votre part.

Chaque utilisateur est membre d’un groupe. Vous pouvez ainsi gérer les accès aux données de manière fine en fonction des groupes.

Définissez des règles de sécurité

Enfin, avec IAM (Identity and Access Management), vous allez définir les règles de sécurité (polices) associées à chaque groupe. Grâce à ces règles, des filtres (LeadingKey) seront créés dans la base de données DynamoDB. Ainsi, l’utilisateur accédera exclusivement à la donnée liée au filtre. Il sera dans l’incapacité de voir le reste, comme s’il était dans une enclave dédiée.

Dans cet exemple, les règles limitent aux personnes membres du groupe l’accès aux données ayant comme clé d’accès le code du client.

Conclusion

Entre le single-tenant et le multi-tenant, nous vous conseillons de choisir le second modèle d’infrastructure car il présente des atouts considérables : maintenance facilitée, frais allégés, gestion des clients simplifiée…

Par ailleurs, grâce à l’association des trois services d’AWS (DynamoDB, Cognito et IAM), la sécurité des données y est garantie. Et la gestion des droits d’accès aux données des clients n’est pas à faire par le développeur dans son code. Elle est gérée de manière séparée avec AWS. Cela présente plusieurs avantages :

  • La gestion du multi-tenant est indépendante du reste du code.
  • Plus généralement, la gestion du contrôle d’accès aux données est ainsi indépendante du code de l’application SaaS.
  • Il est possible d’utiliser d’autres services pour réaliser des statistiques sur les données par clients, avec QuickSight notamment.

* BAM (Build Automation Machine) est une solution innovante créée par premaccess. Elle permet d’automatiser la gestion et le cycle de vie de vos infrastructures et leur déploiement chez AWS. 

Aller plus loin :

Article AWS : https://aws.amazon.com/fr/partners/saas-factory/tenant-isolation/

Nos services : https://www.premaccess.com/#services

Premaccess  = Contactez notre équipe d’experts pour vos Services Managés Cloud

Développement  = Découvrir notre accompagnement pour vos développements SaaS ou Logiciel

Le 18 novembre dernier, AWS a annoncé la sortie de son AWS CloudFormation Registry et CLI, une extension d’AWS CloudFormation prenant en charge la création de ressources tierces via la console AWS CloudFormation. C’est également la première fois que le service AWS est associé à des partenaires de lancement tels que Spotinst et Fortinet.


Maintenant, grâce à la prise en charge de ces ressources tierces, AWS améliore toute la pratique de la création d’infrastructure dans le cloud, car le provisionnement s’étend désormais au-delà des ressources AWS pour inclure également des outils SaaS en provenance d’autres fournisseurs, renforçant la façon dont nous construisons dans le cloud.

Par conséquent, le but de cet article est de montrer l’importance d’IaC ‘Infrastructure as Code’ dans le domaine du cloud computing et de souligner l’importance des développements d’AWS pour son service AWS CloudFormation.


Les principes de l’IaC

IaC, abréviation de Infrastructure as Code, est la pratique selon laquelle les ressources sont décrites  par des scripts par opposition à l’utilisation de consoles de gestion qui permettent de créer manuellement des environnements de ressources.
Par conséquent, dans le cas d’AWS CloudFormation, vous n’avez pas besoin d’utiliser la console AWS ou de SDK pour créer des ressources AWS.
De plus, avec AWS CloudFormation Registry, vous avez plus besoin d’utiliser la console d’outils tiers pour utiliser leurs ressources.

Ces scripts lisibles permettent le déploiement automatique des ressources ainsi que les services requis qui vont avec. En effet, les outils IaC vont créer toutes les ressources nécessaire comme par exemple : les réseaux, les machines virtuelles, les équilibreurs de charge et les différents accès pour vos applications.


De plus, chaque fois qu’un script IaC est appliqué, il en résulte toujours le même environnement que celui décrit dans le script.

Par conséquent, les avantages deviennent évidents. L’IaC est une pratique courante pour les DevOps car l’objectif du DevOps est de réaliser l’automatisation du processus de production. En effet, avec l’IaC, nous sommes en mesure d’automatiser la construction de l’infrastructure, ce qui est encore plus crucial dans les environnements cloud.


Même si les environnements cloud soustraient une grande partie de l’architecture sous-jacente aux développeurs, ils nécessitent des configurations fastidieuses des ressources dépendante des contraintes du cloud provider choisi.
Par conséquent, les services IaC tels qu’AWS Cloudformation fournissent une certaine forme de répit face au besoin de configurations répétitives.

D’autres avantages incluent l’indépendance entre les états et les modèles.
Étant donné que l’IaC nous permet de modéliser notre infrastructure dans un format basé sur un script, nous pouvons définir l’état souhaité de notre infrastructure cloud.
Par conséquent, si l’infrastructure s’écarte trop de l’état souhaité, nous pouvons automatiser sa récupération à l’aide du modèle initialement utilisé.

De même, nous pouvons utiliser le même modèle pour répliquer l’état souhaité dans plusieurs environnements (Production/Pré-Production/Recette par exemple). Ceci est extrêmement avantageux à des fins de test, car cela permet  d’avoir des scénarios réels. Ainsi, au lieu d’avoir à configurer ardûment chaque composant pour refléter l’infrastructure à tester, nous pouvons simplement automatiser le provisionnement d’une infrastructure identique, suivi de tests automatisés facilités par les différents outils de CI / CD mis à disposition par le Cloud Provider.

Par conséquent, les outils IaC peuvent être considérés comme des livres  de recettes pour notre infrastructure cloud.
En fait, l’utilisation de cette analogie de livre de recettes pour les services IaC est si courante que Jeff Barr – Chief Evangelist d’AWS a habilement intitulé son blog d’introduction d’AWS CloudFormation https://aws.amazon.com/blogs/aws/cloudformation-create-your-aws-stack-from-a-recipe/, en 2011.

Cependant, les gens ne réalisent pas que les outils IaC ne sont pas comme vos livres de recettes ordinaires, mais plutôt comme des cuisines entièrement automatisées qui analysent ces recettes et cuisinent des infrastructures cloud complètes pour vous.

Nous pouvons convenir que l’IaC, en général, est impératif pour une expérience DevOps complète. La question est maintenant de savoir quels services le plus grand fournisseur de cloud, AWS, fournit en termes d’IaC ?
Avant, la réponse était CloudFormation et son générateur CDK (AWS Cloud Development Kit).


CloudFormation et ses avantages avec CloudFormation Registry

AWS CloudFormation fournit un langage commun pour vous permettre de décrire et de provisionner toutes les ressources d’infrastructure dans votre environnement cloud.
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html

CloudFormation vous permet de définir les ressources AWS souhaitées ainsi que leurs configurations et connexions dans des documents de plan directeurs appelés modèles CloudFormation. Ces modèles sont ensuite exécutés dans la console AWS CloudFormation pour provisionner l’infrastructure définie.
Ce faisant, le service garantit que les composants de l’infrastructure cloud sont déployés de la bonne manière en fonction des dépendances décrites dans le modèle CloudFormation.

Par exemple, si vous souhaitez qu’une instance EC2 s’exécute dans un VPC, CloudFormation garantit que le VPC est d’abord provisionné, puis l’instance EC2.
Cela signifie également que nous n’avons plus besoin d’utiliser la gestion AWS pour configurer et ajouter manuellement l’instance EC2 dans le VPC.

Cependant, un domaine que AWS CloudFormation n’avait pas était le provisionnement des ressources tierces. Oui, les ressources AWS constituent le cœur de l’infrastructure de l’application, mais ces composants communique très probablement avec des outils SaaS tiers quelque part dans le flux de travail de vos applications.
Pour revenir à l’exemple d’une instance EC2 dans un VPC, nous pouvons avoir besoin de cette instance EC2 pour ensuite interagir avec l’API Stripe.

Par conséquent, même si nous avons réussi à automatiser avec vos DevOps du côté AWS, nous ne disposions toujours pas d’outils lorsqu’il s’agissait de connecter nos infrastructures tiers à l’infrastructure AWS principale.
Cela nous ramènerait souvent à la case départ car les avantages de l’IaC discutés ci-dessus étaient limités aux seules ressources AWS.

C’est là qu’intervient AWS Cloud Registry !

Désormais, avec la nouvelle version, la capacités d’AWS CloudFormation a ce connecter sur les ressources externes est résolu. Le registre AWS CloudFormation permet le provisionnement de ces outils tiers externes avec les ressources AWS.

Avec la sortie de ce nouveau service, il y a un total de sept outils SaaS offrant leurs ressources sur le registre.
Par exemple, avec la prise en charge d’Atlassian Opsgenie par le registre AWS CloudFormation, vous pouvez désormais provisionner des ressources Opsgenie telles que des utilisateurs, des équipes et des intégrations avec vos ressources AWS.
Vous pouvez donc automatiser la configuration des services de gestion des incidents Opsgenie dans votre infrastructure AWS.

Cela signifie que nous pouvons désormais bénéficier davantage des pratiques DevOps, car AWS a étendu ses services IaC sur des piles de technologies externes et ne se limite pas uniquement à AWS.
De plus, AWS CloudFormation Registry est open source, de sorte que la communauté peut constamment créer plus de ressources personnalisées qui peuvent être provisionnées automatiquement via l’AWS CloudFormation CLI. Cela améliore l’adoption du cloud, en particulier en utilisant le IaC pour déployer vos architectures AWS.


Un pas de plus avec AWS CloudFormation CLI

AWS CloudFormation fournit des ressources tierces à inclure dans les livres de recettes de vos infrastructures cloud souhaitées.


Si nous devons suivre cette analogie de recette, le registre CloudFormation peut être considéré comme votre garde-manger de ressources, où votre garde-manger stocke les ressources fournies par les partenaires SaaS tiers.

La question est alors de savoir si vous souhaitez étendre ce garde-manger?

C’est là que le composant CLI entre dans la nouvelle version d’AWS CloudFormation. L’AWS CloudFormation CLI nous fournit un ensemble d’ustensiles qui nous permet de créer nos propres ressources personnalisées que nous pourrons ensuite inclure dans les modèles AWS CloudFormation, ce qui nous donne la liberté d’étendre nos garde-manger à l’infini.

AWS fournit la CFN ( CloudFormation Command Line Interface ) qui nous permet d’initialiser nos projets de ressources personnalisés, et génère automatiquement la structure de code de base pour nous et ensuite nous permet de tester nos ressources construites tout en l’enregistrant dans nos registres AWS CloudFormation privé .

AWS nous fournit un ensemble complet de ressources pour commencer à créer ces nouvelles ressources. De plus, la poussée de l’open source avec AWS CloudFormation open source signifie que nous pouvons nous attendre à ce que beaucoup de bibliothèque de ressources soit disponible et facile à inclus dans nos modèles AWS CloudFormation.

Améliorant ainsi toute l’expérience d’utilisation du service IaC, augmentant la vitesse avec laquelle nous construisons dans le cloud.


Récapitulatif de ce que AWS CloudFormation signifie pour le DevOps

Avec le registre AWS CloudFormation et l’interface CLI, nous voyons les avantages d’avoir des ressources tierces non AWS dans nos processus d’infrastructure cloud.

Nous pouvons être assurés que l’utilisation d’AWS CloudFormation pour des applications et la gestion des infrastructures cloud couvre désormais l’intégralité de votre besoins et pas seulement des ressources AWS spécifiques.

La flexibilité de l’AWS CloudFormation CLI et la fiabilité de l’expansion du registre AWS CloudFormation ne peuvent que signifier qu’avec le temps, comme de plus en plus de ressources seront disponibles, nous pouvons nous attendre à ce que le développement dans le cloud deviennent beaucoup plus facile. Nous ne devons plus réinventer la roue, il nous suffit maintenant de nous soucier de la destination.

Bonne lecture ! Contactez-nous si vous avez des besoins en Développement ou en Service Managés Cloud.

Qui n’a pas connu cette frustration de devoir renvoyer un vêtement ou une paire de chaussures, aussitôt reçus par La Poste, suite à une erreur de taille ? Pour éviter ces imprévus lors des commandes en ligne, la start-up Fitizzy a mis au point un algorithme particulièrement intelligent. Il recommande à l’internaute la taille qui lui convient le mieux en fonction de ses mensurations et des patronages de différentes marques. 

Dédié initialement au prêt-à-porter grand public, partenaire de grandes marques comme Promod, Naf Naf, Celio, Cyrillus ou bien Etam pour la lingerie, Fitizzy s’ouvre depuis deux ans au secteur professionnel.

L’apparition de cette offre B2B a été possible suite à la bascule des applications de Fitizzy dans le cloud AWS et à l’utilisation des microservices proposés par ce cloud provider. Lors de cette étape stratégique, la start-up a été soutenue par l’équipe de premaccess techniquement, mais également en termes de business. Christophe Del Fabbro, CTO de Fitizzy, a participé pleinement à cette migration.

Dans cette interview, il revient sur la genèse de Fitizzy, et sur l’offre proposée. Il nous explique également comment l’application a été déployée sur AWS afin d’accélérer le développement de cette entreprise innovante.

Avec Fitizzy, les leaders du prêt-à-porter réduisent leurs taux de retour

« Fitizzy est née en 2013 grâce à Sébastien Ramel et Gaultier Monier. Lorsqu’ils étaient étudiants, tous deux avaient toujours peur d’acheter des vêtements en ligne, car ils n’étaient jamais sûrs de commander la bonne taille. Ils ont cherché des outils pour régler cette problématique. Ils n’ont rien trouvé. C’est ainsi que leur est venue l’idée de monter cette application. 

Dès le début de ce projet, nous nous sommes consacrés au secteur du prêt-à-porter. Notre objectif premier était d’aider nos partenaires à recommander la bonne taille à leurs utilisateurs. Sur leur site e-commerce, et plus précisément sur leurs fiches produits, nous installons notre plugin via un bouton d’action. Lorsqu’il clique sur ce bouton, l’utilisateur doit renseigner plusieurs informations morphologiques (son sexe, son âge, sa taille et son poids). Ces données sont croisées avec les informations techniques de la marque afin de lui fournir une recommandation sur la taille la plus juste. 

Initialement, Fitizzy fournissait aux utilisateurs des recommandations de taille sur un produit donné. Désormais, nous allons plus loin en proposant des recommandations de produit en fonction de votre morphologie. Aujourd’hui, nous mettons ces services à disposition de plus d’une cinquantaine de marques dans le secteur du vêtement et de la chaussure.

Cette application permet clairement de mettre l’internaute en confiance lors de son achat en ligne – il a moins peur de se tromper lors du choix de la taille. De plus, elle réduit considérablement les retours clients suite à une commande en ligne. Ces retours, gratuits pour le consommateur, sont très coûteux pour le distributeur. 

À côté de cela, depuis deux ans, nous avons ouvert un nouveau marché dédié aux vêtements professionnels. De plus en plus d’entreprises ont besoin d’habiller leurs employés. Jusqu’à présent, ces entreprises passaient par des sociétés qui mandatent des agents chargés de relever sur place les mensurations de chaque employé.

Pour réduire ces coûts de déplacement, nous avons eu l’idée de créer une plateforme dédiée à la prise de mensuration. Sur cette plateforme, les employés remplissent un formulaire et nous informent sur leur morphologie. En fonction de ces informations collectées, nous produisons des recommandations de taille. Ainsi, il y a moins d’erreurs dans le nombre de modèles à produire, et les frais de gestion et livraison sont réduits.

Dans ce secteur, nous travaillons notamment avec Bragard, leader dans les vêtements professionnels pour la cuisine, les métiers de bouche et l’hôtellerie, ainsi qu’avec CWS-Boco, spécialiste dans les vêtements de chantier. »


Des architectures plus souples et plus flexibles grâce à AWS

« Notre application a basculé sur le cloud d’AWS il y a plus de deux ans. Il y avait un grand intérêt à faire ce pas car, à l’époque, nous travaillions encore sur des serveurs hébergés. Du coup, nous n’avions pas toute la souplesse qu’offre AWS et leurs services managés. La conception des nouvelles architectures était plus laborieuse, demandait plus de temps. Et le résultat était souvent plus coûteux que ce que peut nous apporter AWS aujourd’hui. »


Une migration pas à pas 

« Lorsque vous migrez une application sur AWS, trois possibilités s’offrent à vous. 

Soit vous prenez l’existant et vous essayez de le faire entrer tel quel dans AWS. Cela est possible. Il s’agit de la méthode « lift and shift ». Mais, elle coûte cher, car vous n’utilisez pas les fonctionnalités natives du cloud. 

Soit vous repensez toute l’architecture et le code de votre application afin de pouvoir optimiser au maximum les fonctionnalités natives du cloud. On parle alors de « refactoring ».

Dans notre cas, nous avons choisi un entre-deux, nous avons opté pour le « replatform ». Cette méthode permet de tirer parti des fonctionnalités de base du cloud, d’optimiser les coûts, sans engager un niveau de ressources élevé. Ainsi, lors de cette migration, épaulés par l’équipe de premaccess, nous avons pris le temps de préparer les grandes briques de notre application avant d’investir AWS, en évitant le simple « copier-coller ».

Nous avons  :

  • le coeur central, autonome, consacré à notre API.
  • puis nos services, le plugin, nos applications, les plateformes, tout ce qui est « web ». Ces éléments sont indépendants du coeur central.
  • Enfin, nos bases de données. »

Utiliser les données pour améliorer les services e-commerce

« La gestion des données est cruciale dans Fitizzy, notamment pour améliorer nos recommandations. Aussi, lors de notre bascule sur AWS, nous avons investi Amazon Kinesis et la chaîne de services suivants : S3 + Athena + QuickSight grâce au soutien des équipes de premaccess

Kinesis est un service managé permettant de collecter, trier et analyser des datas stratégiques des sites marchands de nos partenaires. Pour chacun de nos clients, nous analysons les pages vues, les clics sur notre bouton d’action, l’ouverture de notre plugin, le contenu de notre recommandation, l’ajout au panier, l’achat ou l’abandon de panier. En croisant l’ensemble de ces informations, nous cherchons à affiner nos outils.

L’ensemble de ces données sont mises à disposition de nos clients grâce au service Amazon QuickSight. Via un Dashboard dédié, chaque partenaire retrouve l’ensemble de ces datas sous forme de graphiques. Ces KPIs peuvent être utilisés par son service marketing pour améliorer les performances de son site e-commerce. Elles peuvent également être intéressantes par ses modélistes pour optimiser les nouvelles collections en analysant les données morphologiques du moment. »


Les + de premaccess : l’analyse des enjeux, la maîtrise des coûts et l’expertise AWS

« La force de premaccess tient dans son expertise dans le domaine du développement logiciel, des services managés d’AWS et de la migration. Lorsque nous nous sommes penchés sur ce projet de migration, son équipe a avant tout évalué nos enjeux.

Au-delà de « Est-ce que nous migrons sur AWS ? », notre réflexion s’est plutôt portée sur « Est-ce que cela vaut le coup que nous le fassions maintenant sur AWS et de cette manière ?

Est-ce rentable pour nous de recruter des ressources pour faire ce travail maintenant ou est-ce que cela vaut le coût d’attendre quelques semaines quand nous aurons plus de ressources, plus de budgets ? »

Avant même cette migration, premaccess nous a accompagné sur cette dimension « business » afin que nous optimisions nos finances.

En second temps, ils nous ont énormément conseillé dans le travail préparatoire à la migration, et dans la mise en place du plan d’action. Clairement, même si je suis développeur, je n’avais pas du tout d’expérience sur le cloud d’AWS. Leur participation sur le plan d’action a été très précieuse.

Enfin, une fois le plan de migration validé, une partie de la bascule sur AWS a été réalisée en interne avec le soutien de l’équipe de premaccess. Ils ont aussi pris en charge la partie « Landing Zone et Sécurité » de notre espace sur AWS (création d’utilisateurs, gestion des droits, préparation du réseau et des couches réseau, etc.). Ils l’ont déployée via leur solution SaaS BAM que nous utilisons désormais tous les jours pour nos environnements temporaires.

En partant d’un template bien défini, cet outil crée très rapidement des environnements parfaitement configurés. De quoi nous faire gagner beaucoup de temps. 

Par ailleurs, nous sommes toujours en quête d’efficience. Nous cherchons à normaliser nos technologies sur nos différents projets, à faire en sorte que nos cycles de développement soient similaires d’un projet à un autre. Cela est aujourd’hui facilité avec BAM. Cet outil nous assure une automatisation des processus, et ne laisse aucune place à l’erreur humaine.

Ainsi, nous nous concentrons davantage sur notre développement, sur notre coeur de métier. En tant que développeur, grâce à cette solution, je passe plus de temps à créer des fonctionnalités, à enrichir notre partie business qu’à mettre en place les infrastructures techniques pour nos applications. »


Prochain challenge : proposer Fitizzy en mode SaaS

« Désormais, notre prochain challenge sera de rendre Fitizzy complètement SaaS. Ainsi, n’importe quelle marque pourra configurer notre solution à travers notre interface sans même avoir besoin que nos équipes interviennent. L’idée est aujourd’hui mature. Les premières briques commencent à arriver. 

Clairement, ce nouveau projet aurait été bien difficile à mener sur notre ancienne infrastructure. Grâce à cet investissement sur le cloud d’AWS, il est désormais à notre portée, et ouvre de nouvelles perspectives. 

Dans le développement de Fitizzy, premaccess est aujourd’hui plus qu’un partenaire technique. Son équipe a une telle connaissance du développement logiciel avec AWS qu’elle nous aide à améliorer notre business et étoffer notre offre. Je pense notamment à ses conseils sur les services managés liés à la gestion des données et le serverless. De quoi avoir un coup d’avance et toucher de nouveaux marchés. »



Aller plus loin

Voici quelques services managés d’AWS utilisés par Fitizzy


Basculer tout ou partie de son infrastructure sur le Cloud d’AWS a un coût. Mais, il est possible d’optimiser ces dépenses. La solution idéale : avoir une démarche FinOps. Ce processus fait son apparition aujourd’hui dans les grands groupes. Il vise à rapprocher finance et ingénierie. En conjuguant leurs compétences, ses équipes analysent vos infrastructures avec un oeil nouveau avec pour objectifs : améliorer votre usage du Cloud afin de réduire considérablement votre facture. 

Sur AWS, il existe 5 grands piliers pour optimiser les coûts. Si vous souhaitez installer vos applications chez ce Cloud Provider, nous vous invitons à suivre ces 5 recommandations. Vous intégrerez ainsi la FinOps dans votre stratégie digitale.

Configurez efficacement la taille de vos instances

Sur AWS, il est possible d’ajuster la taille des services utilisés en fonction de vos besoins à l’instant T, et de les redimensionner au fur et à mesure selon les pics de charges enregistrés. Cet ajustement dépend de plusieurs facteurs : de votre environnement (développement, test ou production), de la fluctuation de votre activité en ligne, etc…

Bien adapter la taille de vos instances a un impact sur la capacité de calcul de votre infrastructure, sur sa mémoire, son stockage, le débit du réseau…

Pour cela, trois services managés sont à votre disposition sur AWS : 

Optez pour l’élasticité

L’intérêt du FinOps sur le cloud est que vous pouvez augmenter ou réduire les ressources nécessaires en fonction de vos besoins. En cas d’augmentation de trafic, vous devrez utiliser plus de ressources. Une fois ce pic redescendu, inutile de garder cette configuration.

Objectif : ne payez que ce que vous consommez. 

Il existe deux types d’élasticité : une première basée sur le temps, une seconde calculée sur le volume de ressources nécessaires au bon fonctionnement. Sur AWS, plusieurs services managés vous aident à paramétrer ces élasticités :

  • Amazon EC2 Scheduler permet de configurer le planning de démarrage et d’arrêt des instances Amazon EC2.
  • AWS Lambda exécute votre code uniquement lorsque cela est nécessaire et s’adapte automatiquement, qu’il s’agisse de quelques demandes par jour ou de milliers par seconde.
  • AWS DataPipeline arrête et démarre les instances Amazon EC2 en exécutant des commandes CLI (AWS) sur un horaire fixe.
  • Amazon CloudWatch surveille votre utilisation des instances Amazon EC2 et les arrête si elles ne sont pas utilisées.
  • AWS Auto Scaling augmente et réduit automatiquement le nombre de vos instances Amazon EC2 afin de maintenir la performance du système en cas de pic de trafic et de réduire ses capacités en cas de période creuse.

Utilisez le bon modèle de tarification

AWS proposait jusqu’à présent trois modèles de tarification : instances à la demande, instances réservées, et instances spot. Il en propose un quatrième depuis ce mois-ci : le Savings Plans. La combinaison de ces quatre modèles vous permettra de réduire les coûts.

Avec les instances à la demande, vous payez la capacité de calcul à l’heure ou à la seconde (60 secondes minimum) sans engagement à long terme.

Avec les instances réservées, vous bénéficiez d’une remise conséquente (jusqu’à 75 %) par rapport à la tarification à la demande. Vous disposez également d’une réservation de capacité quand elles sont exécutées dans une zone de disponibilité spécifique.

Avec les instances Spot Amazon EC2, vous profitez des capacités EC2 non utilisées dans le cloud AWS. Ces instances sont disponibles avec une réduction allant jusqu’à 90 % par rapport aux tarifs à la demande. Elles sont utilisables pour des applications statiques, tolérantes aux pannes ou flexibles comme, par exemple, les charges de travail du test et développement. 

Lancé en Novembre 2019, le Savings Plans offre les mêmes réductions que les instances réservées, mais, pour pouvoir y accéder, l’utilisateur doit s’engager à utiliser un montant spécifique de puissance de calcul (mesuré en dollars par heure) sur une période maximale de trois ans.

Ce modèle est intéressant pour les entreprises qui ont un aperçu de leurs besoins sur le long terme. Cela leur permettra de réserver les ressources nécessaires sur une période longue bien définie, tout en réalisant des économies.

Ce Savings Plans FinOps est disponible sous deux versions :

Le plan « Compute Savings » offre une grande flexibilité et permet de réduire vos coûts jusqu’à 66% (tout comme les instances réservées convertibles). Ce plan s’applique automatiquement à toute instance EC2, quelle que soit la région. Par exemple, vous pouvez passer d’instances C4 à C5, déplacer une charge de travail de Dublin à Londres, en bénéficiant des prix de ce plan d’épargne.

À la différence, le Savings Plans EC2 s’applique à une famille d’instances spécifique dans une seule région et mais offre un rabais le plus important (jusqu’à 72%). 

Pour aller plus loin sur le Savings Plans :

https://aws.amazon.com/fr/savingsplans/

Optimisez votre espace de stockage

AWS propose plusieurs services de stockage. La clé, pour assurer votre budget FinOps sur cette partie, est de bien choisir votre espace en fonction de vos usages.

Avec Amazon S3, vous disposez d’une offre large de stockage conçue pour différents types d’utilisation :

– S3 Standard est dédié au stockage de données « à usage général ».

– À l’inverse, Reduced Redundancy Storage (RRS) vous permet de stocker les données non critiques et reproductibles à des niveaux de redondance inférieurs à ceux du stockage standard Amazon S3.

– S3 Intelligent-Tiering permet de déplacer des données entre deux niveaux d’accès (fréquent et peu fréquent). Idéal pour les données dont les schémas d’accès sont inconnus ou modifiés.

– S3 Standard-Infrequent Access (S3 Standard-IA) est prévue pour les données auxquelles on accède rarement (copie de sauvegarde secondaire de données d’un site, etc…)

– Amazon S3 Glacier (S3 Glacier) et Amazon S3 Glacier Deep Archive (S3 Glacier Deep Archive) sont des classes de stockage destinées à l’archivage et la sauvegarde des données à long terme. Toutes deux proposent des options d’accès aux archives à coûts avantageux. Ces accès ont des délais allant de quelques minutes à 12 ou 48 heures.

Avec Amazon Elastic Block Store (Amazon EBS), vous optez pour un stockage permanent accessible par des instances EC2 simples. Cela est utile pour les bases de données relationnelles et NoSQL, les applications d’entreprise, et les analyses de Big Data.

Amazon Elastic File System (Amazon EFS) est utile pour le stockage simple de fichiers et pour une charges de travail basée sur Linux. 

Amazon FSx for Lustre est nécessaire pour les charges de travail demandant une importante capacité de calcul, telles que le Machine Learning et le traitement de données multimédia.

Amazon FSx for Windows File Server est dédié aux applications Windows qui nécessitent un stockage de fichiers vers AWS.

AWS Storage Gateway soutient des opérations de cloud bursting, de hiérarchisation et de migration.

Enfin, AWS Backup centralise et automatise la sauvegarde de données sur l’ensemble des services AWS.

Mesurez et surveillez vos environnements

Pensez, en premier lieu, à baliser (Charte de TAG) vos instances, images et diverses ressources. 

Utilisez, en second temps, AWS Cost Explorer. Avec ce service managé, vous visualisez et comprenez mieux votre utilisation d’AWS avec vos balises en place projet par projet. Ainsi, vous maximisez votre gestion du Cloud au fur et à mesure. Grâce à AWS Cost Explorer, vous disposez de rapports sur vos coûts mensuels par service, par compte, par projet…

Enfin, si vous voulez être alerté en cas de dépassement de budget, optez pour AWS Budgets. Avec ce service, vous définissez des montants à investir. Une fois cette somme atteinte, vous êtes aussitôt prévenu.

Adopter une démarche FinOps n’est pas simple. Taille des instances, auto-scaling, tarification, stockage… Plusieurs éléments sont à prendre en compte pour réussir à jongler entre ingénierie et coûts.
Aussi, si vous souhaitez réduire vos dépenses d’infrastructure sur AWS, n’hésitez pas à solliciter les équipes de premaccess. Spécialisées dans les services managés de ce Cloud Provider, elles auront à coeur de vous conseiller et de vous accompagner dans cette quête d’optimisation technique et financière FinOps .

Les premières annonces faites à AWS re:Invent 2019

Depuis le 2 décembre, les experts d’AWS, à travers le monde, se sont donné rendez-vous à la conférence annuelle du cloud provider, AWS re:Invent 2019, à Las Vegas. L’équipe de premaccess n’a pas manqué cet évènement incontournable. Elle vous rapporte les premières annonces d’AWS, tant en nouveaux services qu’en fonctionnalités supplémentaires.


Amazon Bracket

Vous allez découvrir l’informatique quantique (Quantum Computing). À la différence des ordinateurs classiques qui réalisent des opérations avec des bits égaux à 0 ou 1, les ordinateurs quantiques peuvent produire des opérations avec des bits à l’état de 0 et 1. Nous parlons alors de qubits. Ces ordinateurs peuvent ainsi démultiplier le nombre de calculs. Ils sont rares et doivent fonctionner dans des environnements physiques contrôlés. Avec Amazon Bracket, vous pouvez acquérir une expérience pratique des qubits et des circuits quantiques, créer et tester vos circuits dans un environnement simulé.

https://aws.amazon.com/de/blogs/aws/amazon-braket-get-started-with-quantum-computing/


Amazon Outpost

Annoncé l’an dernier en preview, ce service est désormais disponible. Il vous permet d’exécuter votre infrastructure AWS sur site, en ayant accès aux mêmes API et outils disponibles aujourd’hui sur le cloud.

https://aws.amazon.com/fr/outposts/


Amazon EKS est maintenant disponible sur Amazon Fargate

Ainsi, vous pouvez utiliser Amazon Elastic Kubernetes (EKS) pour exécuter les pods Kubernetes sur AWS Fargate. EKS et Fargate facilitent l’exécution d’applications basées sur Kubernetes sur AWS. Avec AWS Fargate, plus besoin d’être des experts des opérations Kubernetes pour gérer un cluster hautement disponible et optimisé en termes de coûts. Plus besoin non plus de gérer les instances EC2. 

https://aws.amazon.com/fr/blogs/aws/amazon-eks-on-aws-fargate-now-generally-available/


Amazon S3 Access Points

est une nouvelle fonctionnalité S3. Elle simplifie la gestion de l’accès aux données partagées. Avec S3 Access Points, vous pouvez facilement créer des centaines de points d’accès avec un nom dédié et des autorisations personnalisées sur votre application. 

https://aws.amazon.com/fr/about-aws/whats-new/2019/12/amazon-s3-access-points-manage-data-access-at-scale-shared-data-sets/


Provisioned Concurrency pour les fonctions Lambda

alors que Lambda fête ses 5 ans, l’équipe d’AWS nous propose de contrôler encore mieux les performances de nos applications en serverless. Et ce, avec Provisioned Concurrency. Cette fonctionnalité maintient les fonctions initialisées de vos applications pour qu’elles répondent en quelques millisecondes. Cela peut être notamment utile pour les microservices.

https://aws.amazon.com/fr/blogs/aws/new-provisioned-concurrency-for-lambda-functions/


Amazon CodeGuru

Vous pouvez automatiser la révision de votre code. Même pour les ingénieurs les plus expérimentés, il peut être difficile de détecter des problèmes dans le code lors de revues par des pairs ou lors de tests unitaires. Amazon CodeGuru vous permet d’identifier les lignes de code les plus chères dans vos applications et de recevoir des recommandations afin de les corriger ou de les améliorer.


https://aws.amazon.com/fr/about-aws/whats-new/2019/12/aws-announces-amazon-codeguru-for-automated-code-reviews-and-application-performance-recommendations/


Côté Machine Learning, plusieurs nouvelles fonctionnalités ont été ajoutées à Amazon SageMaker.

Nous retrouvons notamment :

Studio : premier environnement de développement entièrement dédié au Machine Learning

https://aws.amazon.com/fr/blogs/aws/amazon-sagemaker-studio-the-first-fully-integrated-development-environment-for-machine-learning/

Model Monitor : surveillance automatique de vos modèles de Machine Learning en production

https://aws.amazon.com/fr/blogs/aws/amazon-sagemaker-model-monitor-fully-managed-automatic-monitoring-for-your-machine-learning-models/

Autopilot : pour créer des modèles de Machine Learning de haute qualité

https://aws.amazon.com/fr/blogs/aws/amazon-sagemaker-autopilot-fully-managed-automatic-machine-learning/


EC2 Image Builder

jusqu’à présent, il n’était pas simple d’automatiser la génération d’images virtuelles. EC2 Image Builder pallie ce manque. Ce nouveau service facilite et accélère la création et la maintenance d’images de système d’exploitation sécurisé pour Windows Server et Amazon Linux 2. Et ce, à l’aide de pipelines de génération automatisés. Les images, créées par EC2 Image Builder, peuvent être utilisées avec Amazon Elastic Compute Cloud (EC2).

https://aws.amazon.com/de/blogs/aws/automate-os-image-build-pipelines-with-ec2-image-builder/


Managed Cassandra Service

avec Apache Cassandra, vous stockez et gérez de grandes quantités de données structurées. Mais, la gestion de ces données n’est pas toujours simple et peut prendre beaucoup de temps. Pour remédier à cela, AWS lance le service Amazon Managed Apache Cassandra Service (MCS). Il s’agit d’un service de base de données évolutif, hautement disponible et compatible avec Apache Cassandra. Amazon MCS étant serverless, vous ne payez que pour les ressources que vous utilisez. Il redimensionne automatiquement vos tables en fonction du trafic de vos applications. Avec MCS, vous n’avez pas de limite dans la taille des tables. Vos données sont répliquées automatiquement trois fois sur plusieurs zones de disponibilité AWS pour des raisons de durabilité. Enfin, ce nouveau service est intégré à AWS Identity and Access Management (IAM) pour vous aider à gérer l’accès à vos tables et données.

https://aws.amazon.com/fr/blogs/aws/new-amazon-managed-apache-cassandra-service-mcs/


Amazon Detective

Vous aide à analyser et à visualiser la sécurité de vos données à grande échelle. Ce service n’est pas encore disponible, mais vous pouvez en avoir un aperçu ici :

https://pages.awscloud.com/amazon-detective-preview.html


UltraWarm

Nouvel outil de stockage de haute disponibilité pour Amazon Elasticsearch Service. Entièrement managé et peu coûteux, il est aujourd’hui disponible en preview. Il offre jusqu’à 900 To de stockage.

https://aws.amazon.com/fr/blogs/aws/announcing-ultrawarm-preview-for-amazon-elasticsearch-service/


Firecracker-containerd

Le repository Firecracker-containerd, disponible sur Github, permet d’utiliser un container runtime, Containerd, pour manager les microVM de Firecracker. Firecracker est une technologie de virtualisation open source spécialement conçue pour gérer des services sécurisés, multi-locataires et basés sur des conteneurs. Grâce à ce service, présenté l’an dernier, vous pouvez déployer des charges de travail sur des machines virtuelles légères (microVM). Ces dernières offrent une sécurité et une isolation de charge de travail améliorées par rapport aux machines virtuelles traditionnelles, tout en optimisant la rapidité et l’efficacité des conteneurs. Firecracker a été développé par AWS pour améliorer l’expérience client notamment sur AWS Lambda et AWS Fargate.


https://github.com/firecracker-microvm/firecracker-containerd
https://firecracker-microvm.github.io/


Pour suivre les prochaines annonces faites au re:Invent 2019, n’hésitez à nous suivre sur notre blog et sur les réseaux sociaux.

Depuis sa création en 2005, la société marocaine Prestigia travaille main dans la main avec premaccess. Après lui avoir demandé de gérer son hébergement informatique, elle entame désormais, à ses côtés, une nouvelle transformation digitale en migrant son infrastructure sur AWS.

Prestigia propose des hébergements de charme et de luxe à travers le monde. Son site, Prestigia.com, est une plateforme B2C construite à partir de composants open source (PHP, Go, MySQL, ElasticSearch, Redis, MongoDB). Sur ce projet de migration, les équipes de premaccess ont procédé en deux étapes :

  • Elles ont refactoré et migré ce site avec BAM (Build Automation Machine),
  • Elles ont accompagné Prestigia dans sa montée en puissance sur les services AWS.

1E ÉTAPE : REFACTORER ET MIGRER CE SITE AVEC BAM (BUILD AUTOMATION MACHINE)

Refactoring et automatisation

Le « refactoring » demande de repenser l’architecture et la manière de diffuser le code des applications métier du client au sein de celle-ci afin de pouvoir optimiser les fonctionnalités natives du cloud. Cette approche est plus longue à mettre en place que le « lift and shift » ou le « replatform ». Mais, sur le moyen et long terme, elle permet de réduire les coûts d’utilisation des services clouddrastiquement et surtout de pouvoir proposer au client des nouveaux services innovants rapidement.

Jusqu’à présent, le site de Prestigia était hébergé sur un cluster VMware (cloud privé). Avant d’entamer sa migration, les experts AWS de premaccess ont donc refactoré l’architecture du site avec l’outil d’automatisation BAM (Build Automation Machine).

Solution 100% agile, BAM permet d’automatiser les différentes étapes d’un déploiement sur AWS. En partant des modèles de templates simples pour chaque Tier de l’infrastructures (réseau, sécurité, puissance de calcul, base de données, Cache & CI/CD, etc), les devOps ont ainsi pu déployer rapidement et automatiquement les différents environnements de l’application. 

Well architected

Afin de rendre l’application « well architected », conforme aux normes du cloud provider, chaque composant de l’application a ainsi basculé vers un service d’AWS.

Les applications ont migré vers des fermes (AutoScaling Group) de serveurs virtuels Amazon EC2. Cette technologie AWS offre une capacité de calcul évolutive avec une élasticité du nombre de machines dans le cluster de chaque application métier du client. Cela rend la plateforme stable en cas de montée ou descente de trafic.

La base de données MySQL a été déplacée vers AWS RDS avec une redondance multi datacenter dans la même région (multi-AZ). Ce service managé est fourni par AWS pour les bases de données (mySQL / Postgres / SQL Server / Oracle).

MongoDB a migré vers DocumentDB. Amazon DocumentDB est un service de base de données de documents rapide, scalable, hautement disponible. Entièrement géré, il prend en charge les charges de travail MongoDB.

Les bases de données mySQL et MongoDB ont été déplacées avec l’outil DMS afin de réduire les temps d’arrêt. Dans le cadre du projet Prestigia, le temps d’arrêt a été quasi nul. Les différentes bases de données du client reposent sur des services AWS qui ont été conçus pour fournir une disponibilité de 99,99 %. Ils sont répliqués avec plusieurs copies des données dans différentes zones de disponibilité AWS. Amazon surveille ainsi en continu l’intégrité des instances de bases de données et, en moins de 30 secondes en moyenne, bascule automatiquement vers un réplica en lecture en cas de panne.

La sauvegarde a été mise en œuvre avec la sauvegarde continue RDS native et les fonctionnalités de cycle de vie EBS. Une seconde migration devrait avoir lieu dans le courant de l’été pour migrer les bases de données supportées par RDS vers RDS Aurora Serverless.

Une surveillance de la plateforme a été effectuée avec Amazon CloudWatch. Ce service d’AWS recueille les métriques et les journaux depuis toutes les ressources. Cela permet d’avoir une visibilité sur l’ensemble du système déployé, et notamment les métriques clés, comme l’utilisation du CPU, de la mémoire et de tous les métriques nécessaire pour assurer une qualité de service optimale.

2E ÉTAPE : MONTER EN PUISSANCE SUR LES SERVICES AWS

Une fois la migration achevée, Prestigia a souhaité bénéficier davantage des services d’AWS.
Objectifs : aller encore plus loin, faciliter l’expérience utilisateur sur son site et réduire au maximum ses coûts.

Réduire les coûts et les temps de chargement

Dans cette optique, certaines transactions du site sont désormais gérées avecAWS Lambda (Function as a Service par AWS). Avec ce service, Prestigia paie uniquement le temps de calcul consommé. Aucun frais n’est engagé quand le code n’est pas exécuté sur cette partie du site.

Par ailleurs, étant donné que le site Prestigia.com propose de l’hébergement de luxe à travers le monde, il répond aujourd’hui sur différentes zones géographiques. Par conséquent, son trafic fluctue sans cesse en fonction de l’activité des régions sur lesquelles il est positionné. Premaccess travaille à ce jour pour optimiser la vitesse de chargement des pages de ce site à travers le monde. L’objectif est de faire en sorte que le site réponde le plus rapidement possible partout et au meilleur tarif. “L’intérêt des services d’AWS est qu’ils nous permettent de gérer les différentes courbes de trafic de notre site, explique Youness Chraïbi (CEO Prestigia). Nous n’avons pas les mêmes trafics en fonction des zones géographiques, sur l’année, voire sur la semaine. Notre but ici est d’être au top en terme de performance et de chargement des pages. Mais également de ne payer que ce que nous consommons.”

INTELLIGENCE ARTIFICIELLE, MACHINE LEARNING & RECOMMANDATIONS PERSONNALISÉES

Après deux ans d’acculturation à Amazon Web Service, Prestigia compte bien innover grâce aux briques de services d’AWS. Sa prochaine étape consistera à utiliser le Machine Learning.

Quand il s’agit de Machine Learning et d’AI, premaccess cherche toujours à ramener ces clients à un cas d’usage métier. La question primordiale est : « Quel est votre besoin ? ». Pour Prestigia, l’idée sera de produire des recommandations, et ainsi d’orienter ses utilisateurs lors de leurs recherches. 

Avec l’intelligence artificielle, Youness Chraïbi veut “humaniser” la relation client. “Nous souhaitons ajouter un volet d’intelligence artificielle afin de conseiller encore mieux nos clients. Notre objectif avec l’AI est que l’on ait une relation plus humaine qu’avec un chatbot.”

En fonction de la manière dont un internaute surfera sur le site, le Machine Learning, interprétera ses requêtes afin de lui offrir une expérience utilisateur la plus personnalisée possible et une série de recommandations proches de ses centres d’intérêts.

Le déploiement du site Prestigia.com sur AWS est l’exemple même d’un accompagnement réussi. Lors de cette migration, Youness Chraïbi a continué à se concentrer sur son coeur de métier, l’innovation dans l’hôtellerie. Et pour mettre tout cela en oeuvre sur AWS, il a trouvé appui auprès des experts de premaccess

Ces derniers l’ont invité à avoir une vision à long terme sur AWS. Pour cela, ils ont refactoré et migré ce site avec BAM (Build Automation Machine). Cette approche lui permet aujourd’hui de réduire les coûts d’utilisation des services Cloud, et lui donne un accès plus rapide aux nouveaux services innovants de ce Cloud Provider (Intelligence Artificielle, le Machine Learning et l’Internet des objets). De quoi s’ouvrir à de nouveaux business model, et développer encore davantage cette entreprise grâce au digital.

INTERVIEW : 

Alors, si vous aussi, vous souhaitez migrer vos infrastructures sur AWS, l’équipe de premaccess est à votre disposition. Elle répondra à toutes vos questions et vous accompagnera pas à pas dans vos migrations ou dans la mise en place de vos nouveaux projets d’infrastructure cloud ou digitaux

1 – Le « lift and shift » consiste à migrer une application d’un environnement à un autre sans procéder à une quelconque refonte et modification de code. Cette méthode est aujourd’hui la plus utilisée. Elle est simple, rapide à effectuer. Cela étant, les migrations « lift and shift » ne bénéficient pas des fonctionnalités natives du cloud, telles que l’élasticité. Cette méthode peut s’avérer coûteuse sur le moyen et long terme.
2 –  Le « replatform » vise à déplacer vos applications vers le cloud avec une petite mise à niveau, en utilisant une offre de base de données gérée par le cloud ou en ajoutant l’auto-scaling (élasticité de certaines applications) activé par l’automatisation. Cette approche offre un compromis solide entre le « lift and shift » et le « refactoring ». Elle permet de tirer parti des fonctionnalités de base du cloud, d’optimiser les coûts, sans engager un niveau de ressources élevé.  

Ressources : 

AWS = services et solutions

Consulting  = découvrir notre accompagnement 

Prestigia = Découvrir leur site internet

Depuis 2006, Amazon Web Services (AWS) s’est donné comme objectif d’aider développeurs et data scientists à construire leurs propres services de Machine Learning et d’Artificial Intelligence. Et ce, sans qu’ils soient forcément experts dans ce domaine. Sur ces deux terrains, AWS avance très rapidement. Au sein de son pôle « Développement, Serverless, AI et Machine Learning », premaccess accompagne ses clients prêts à prendre en main ces outils d’AWS. Falco Schmutz, CEO, nous explique comment.

Amazon Web Service est aujourd’hui une réelle locomotive en terme de Machine Learning et d’Artificial Intelligence. Son évolution dans ces secteurs est incontestable. Google était pionnier dans ces domaines, mais progressivement il s’est fait rattraper par AWS. Tous deux sont en train d’éduquer le marché à l’usage de ces technologies d’envergure.

Après s’être imposé sur le marché du Cloud Computing, Amazon Web Service entend faire de même avec le machine learning et l’AI. Lors de ses derniers événements majeurs, en 2018, l’entreprise a renforcé sa communication dans ce sens.

QUELLE DIFFÉRENCE ENTRE MACHINE LEARNING ET L’ARTIFICIAL INTELLIGENCE ?

Cloud AWS

Le Machine Learning se base sur une série d’algorithmes capables de produire des modèles mathématiques qui peuvent être employés lors du développement d’une application ou d’un service. Cette technologie peut notamment être utilisée aujourd’hui pour :

  • détecter des fraudes : les modèles prédictifs mis en place grâce au Machine Learning peuvent aider à identifier des transactions potentiellement frauduleuses.
  • produire des recommandations : en fonction de la manière dont un internaute surfe sur votre site, le Machine Learning va interpréter ses recherches afin de lui offrir une expérience utilisateur la plus personnalisée possible et une série de recommandations proches de ses centres d’intérêt.
  • créer des campagnes marketing ciblées : le Machine Learning peut également être exploité pour créer des campagnes de mailing ciblées. En fonction des activités d’un internaute sur votre site, vous pourrez choisir de lui envoyer des campagnes de mailing pertinentes en fonction de ses dernières recherches.
  • modéliser des comportements : le Machine Learning permet de modéliser le comportement d’un processus industriel complexe pour identifier des déviations qui devront faire l’objet d’actions de maintenance.

ARTIFICIAL INTELLIGENCE, EFFICACE ET ACCESSIBLE AVEC AWS

Intelligence artificiel

L’AI, elle, va déterminer des tendances, produire des prédictions en partant de cette série d’algorithmes.Dans ce sens, AWS dispose de plusieurs services applicatifs. Accessibles sur API, tous fournissent une “intelligence” prête à l’emploi. Nous pouvons citer notamment :

  • Amazon Rekognition. Avec ce service, vous pouvez ajouter de l’analyse d’images ou de vidéos dans vos applications. Il permet d’identifier des objets, des personnes, du texte, des scènes voire des activités. Il est en capacité de fournir une reconnaissance faciale précise sur vos fichiers image et vidéo, et de détecter tout contenu inapproprié.
  • Avec Amazon Polly, application text to speech (25 langues, 53 voix, en temps réel), vous pouvez convertir du texte en enregistrement audio réaliste à l’aide du deep learning. Ce service vous permet de créer des applications « qui parlent » grâce à un service de synthèse vocale.
  • Translate est un service de traduction en temps réel. Accessible via API, il reconnaît automatiquement le langage source.
  • Transcribe est un service de speech to text. Il permet de générer un fichier texte depuis un fichier audio. Cette application reconnaît le texte, la ponctuation, détecte les différents interlocuteurs. Elle supporte des fichiers de bonne ou de mauvaise qualité audio, y compris la qualité téléphonique. Son principal cas d’usage concerne aujourd’hui les call center.
  • Le service Comprehend traite le langage naturel pour extraire, depuis plusieurs documents (email, commentaires, posts sur les réseaux sociaux), des entités, personnes, lieux, noms de produits, organisations, phrases clés, etc. Via Comprehend, l’apprentissage automatique est particulièrement efficace pour identifier des points d’intérêt spécifiques dans de vastes ensembles de texte (identification de noms de sociétés dans des rapports d’analyse, par exemple). Il permet en outre de saisir les sentiments qui se cachent derrière le langage utilisé (identification des avis négatifs…). Le Washington Post l’utilise, par exemple, pour créer des groupes de sujets sur ses articles bien précis.

COMMENT PREMACCESS ACCOMPAGNE SES CLIENTS SUR LE TERRAIN DU MACHINE LEARNING ET DE L’AI ?

Aujourd’hui, AWS cherche à démocratiser le Machine Learning et l’Artificial Intelligence auprès des entreprises. Il y arrive aisément.

La force d’AWS est d’être capable de mettre à disposition des briques de micro-services simples, solides et faciles à appréhender. « Grâce à ces briques, nous pouvons facilement accompagner nos clients dans le développement de leurs besoins et leur permettre d’appréhender ces technologies, explique Falco Schmutz, CEO de premaccess. Nous pouvons, par exemple, monter des petits labs pour leur montrer comment cela fonctionne, à faibles coûts. »

Néanmoins, pour pouvoir faire quelques choses d’intéressant avec ces services d’AWS, il faut avoir un concept, une idée.

Quand premaccess accompagne un client, la première étape est de bien définir son projet, afin qu’il soit en adéquation avec son business.

La deuxième étape, tout aussi importante, est de définir quelles données vont être utilisées pour monter le produit demandé par les clients (image, vidéo, audio, datas, etc.). Parmi toutes les données disponibles, lesquelles pourront être labellisées correctement, lesquelles pourront être interprétées aisément par les outils de Machine Learning et d’Artificial Intelligence d’AWS ?

Logo premaccess

Face à ces deux technologies, premaccess cherche toujours à ramener ces clients à un cas d’usage métier. La question primordiale est : « Quel est votre besoin ? Qu’est-ce qui est source de problématiques chez vous, qu’est-ce qui est chronophage, que nous pourrions essayer de solutionner par des outils de Machine Learning et/ou d’Artificial Intelligence ? »

Premaccess a ouvert, depuis six mois, un nouveau pôle « Développement, Serverless, AI et Machine Learning » constitué aujourd’hui de quatre personnes expertes d’AWSqui répondent régulièrement aux besoins clients. « Nous avons actuellement des demandes pour de la modération de commentaires, de l’analyse d’images, ainsi que pour la mise en place de modèles prédictifs et d’arbres de décisions », rapporte Falco Schmutz.

LA MARKETPLACE AWS DÉDIÉE À L’ARTIFICIAL INTELLIGENCE 

Artificial Intelligence

En novembre dernier, AWS a continué sur sa lancé en présentant sa marketplace dédiée à l’AI. L’événement s’est déroulé à Las Vegas.

Sur cette plateforme, près de 150 algorithmes et modèles de Machine Learning y sont proposés par AWS lui-même et une quarantaine d’éditeurs partenaires. Parmi ces derniers, nous retrouvons notamment des prestataires de services (LexisNexis) ou bien des fournisseurs de technologie (Intel).

Accessibles depuis Amazon SageMaker, ces algorithmes et modèles y sont répartis en différentes catégories : Computer vision, Naturel language processing, Speech recognition, Image, Texte, Structured, Audio, Vidéo. Tous ont l’avantage de pouvoir être utilisés en mode « Pay as you go », c’est-à-dire facturés à l’utilisation. Et tous permettent, une fois de plus, de construire des applications en partant de briques de logiciels de machine learning.

Cette marketplace confirme l’ambition d’AWS de consolider sa place dans le cloud AI. Il est aujourd’hui en pleine évolution, et donne clairement les tendances. Il est conseillé de le suivre de près. 

LANCEZ VOS APPLICATIONS SUR AWS AVEC PREMACCESS

Si vous souhaitez utiliser les technologies d’AWS pour concevoir et gérer vos applications, l’équipe de premaccess est à votre disposition. 

Elle répondra à toutes vos questions, étudiera vos besoins, et vous accompagnera pas à pas dans la mise en place de vos services web. 

Par ailleurs, une fois déployées, vos applications seront suivies par nos experts afin d’assurer leur évolution et leur niveau de sécurité sur le long terme.
Visitez notre offre de Services Managés Cloud

En savoir plus sur  :
https://aws.amazon.com/marketplace/
https://aws.amazon.com/marketplace/solutions/machinelearning/
https://aws.amazon.com/fr/sagemaker/
https://aws.amazon.com/fr/machine-learning/

UTILISER LE CLOUD PUBLIC NOUS AMÈNE LÉGITIMEMENT À S’INTERROGER SUR LA CONFORMITÉ AVEC LES EXIGENCES DE SÉCURITÉ DES ENTREPRISES ET DES RÉGLEMENTATIONS.

Les sujets sont globalement les mêmes que pour une infrastructure on-premise, mais nécessite une analyse spécifique liée aux particularités techniques et organisationnelles du Cloud, et aussi à la puissance des outils proposés par AWS.

En s’appuyant sur un modèle de responsabilité partagée, AWS prend en charge la sécurisation des couches basses et de l’infrastructure, et fournit à ses clients les outils permettant de sécuriser leurs applications et données. Ainsi, il appartient à chaque entreprise utilisant le cloud AWS d’optimiser la sécurité de sa plateforme et de ses applications.

Pour ce faire, différentes ressources proposées par AWS doivent être mises en oeuvre selon les besoins et contraintes de chacun. 

DÉCOUVREZ 7 CLÉS PRINCIPALES À ACTIVER POUR BOOSTER LA SÉCURITÉ DE VOTRE CLOUD AWS.

1 # METTRE EN OEUVRE DES POLITIQUES  DE SÉCURITÉ SUR TOUT LE PÉRIMÈTRE

Le premier principe pour assurer une plus grande sécurité est le périmètre d’action : il est primordial de sécuriser l’environnement de toutes les couches et de s’assurer que cela est le cas en profondeur avec différents contrôles de sécurité (par exemple, réseau de périphérie, VPC, sous-réseau, équilibreur de charge, chaque instance, système d’exploitation et applications). L’erreur la plus commune serait de se concentrer exclusivement sur la couche la plus externe. 

Tous les services AWS implémentent des mécanismes de sécurité qui leurs sont propres, en s’appuyant sur une structure et des outils communs (Policies IAM notamment).

La création de ces architectures sécurisées, notamment l’implémentation de la sécurité, peut et doit être gérée en tant que code dans des modèles versionnés et contrôlés. Ceci permet de garantir la traçabilité des changements et faciliter les éventuels retours arrières (rollbacks). 

2 # AUTOMATISER LES AUDITS

Il est important d’auditer régulièrement la conformité des configurations de vos ressources AWS. Cela permet de surveiller et de contrôler les paramètres qui sont sous votre responsabilité (cf introduction). Il faut donc vérifier que vous disposez des bonnes configurations des services et applications par rapport à vos souhaits et à vos directives internes de conformité. 

Compte tenu du nombre important d’états et de paramètres à contrôler, il est fortement recommandé d’automatiser la vérification de la conformité avec les “bonnes pratiques” de sécurité : ces audits de sécurité automatisés améliorent votre capacité à évoluer en toute sécurité, plus rapidement et à moindre coût. Vous êtes alors en mesure d’identifier l’origine de la faille de sécurité et de la corriger rapidement. 

Préparez-vous aux incidents et brèches de sécurité: par exemple en ayant un processus de gestion des incidents avec différents scénarios selon leur criticité correspondant aux exigences de votre organisation. Exécutez des simulations de réponse aux incidents et utilisez des outils pour augmenter votre vitesse de détection, d’investigation et de récupération.

En complément, l’outil AWS Config permet d’enregistrer et d’évaluer les configurations de vos ressources et leurs évolutions. Il est également possible de mettre en place une surveillance continue et une évaluation automatique. Ce service apporte un historique des modifications, une analyse de la sécurité ainsi qu’un diagnostic des défaillances opérationnelles.

3 # RESTREINDRE LES ACCÈS

L’erreur est humaine et, par conséquent, il est recommandé de limiter au maximum les accès aux données. Créez des mécanismes et des outils pour réduire ou éliminer le besoin d’un accès direct ou d’un traitement manuel des données. Cela réduit considérablement les risques de perte ou de modification et d’erreur humaine lors du traitement de données sensibles.

Selon les utilisations, il est pertinent que votre entreprise mette en service différents comptes AWS, ou différents Virtual Private Cloud pour cloisonner les données. Ce cloisonnement permet de définir de nouvelles configurations, telles que des options de connectivité différentes selon les sections concernées. De plus, cette segmentation permet de mettre en place des niveaux de sécurité variés selon la confidentialité et la sensibilité des données impliquées.

Chaque Virtual Private Cloud (VPC) peut être configuré selon vos souhaits : incluant des subnets public ou privé, avec ou sans accès à internet, avec une détermination des couches de sécurité, … 

Ces VPC peuvent être facilement reliés de façon robuste et sécurisée avec les réseaux ou datacenter on premise.

L’utilisation de multiples comptes AWS est également un moyen d’améliorer la sécurité, en donnant des droits particuliers aux administrateurs dans chacun des comptes, et en faisant par exemple en sorte que les traces (cf paragraphe #6) ne puissent être accédés et surtout purgées que par un nombre très restreint de personnes.

4 # GÉRER LES IDENTITÉS D’ACCÈS AU CLOUD ET AUX APPLICATIONS

AWS permet de mettre en place des règles strictes et robustes concernant la gestion des identités :

Appliquez le principe de droits minimum et suffisants,

Imposez la séparation de la réalisation des tâches avec l’autorisation appropriée pour chaque interaction avec vos ressources AWS, 

Centralisez la gestion des autorisations,

Réduisez et, si possible, éliminez la dépendance vis-à-vis des informations d’identification à long terme.

Lors du déploiement d’une architecture sur AWS, votre entreprise doit chercher à optimiser la sécurité des données en contrôlant ses accès. En effet, des droits différents sont à établir selon plusieurs catégories d’utilisateurs. Tous n’ayant pas les mêmes besoins, ils ne doivent pas avoir les mêmes accès à l’infrastructure. 

Les fonctionnalités d’AWS Identity and Access Management (IAM) permettent de restreindre les accès pour différents groupes. Certaines personnes ont uniquement besoin d’autorisations de lecture. D’autres doivent pouvoir déployer des machines virtuelles ou d’accéder à des fonctionnalités avancées. Les applications ont également besoin d’avoir des droits pour accéder aux données.  IAM permet également de déléguer l’authentification à un annuaire d’entreprise de façon à consolider la gestion des autorisations, et limiter mécaniquement les risques d’inconsistance et d’erreur.

Par ailleurs, AWS Cognito permet de gérer de façon industrielle les utilisateurs des applications mobiles. Et AWS propose aussi une implémentation managée des annuaires standards de l’industrie.

Avec une migration vers le cloud AWS, il est possible d’octroyer des identités selon chaque utilisateur ou application afin de maintenir un niveau de sécurité maximal.

5 # CHIFFRER LES DONNÉES ET MAÎTRISER LES CLÉS DE CHIFFREMENT

Il est indispensable de protéger les données en transit et au repos : après avoir classé vos données en fonction de leur confidentialité, il est nécessaire de mettre en oeuvre les mécanismes tels que le chiffrement, la tokenisation et le contrôle d’accès, le cas échéant.

Pour optimiser la sécurité des données du cloud AWS, il est impératif de mettre en place une gestion des clés en conformité avec les besoins ou la réglementation. Les bonnes pratiques intègrent notamment la détermination de la rotation des clés, la restriction des utilisateurs y ayant accès et une veille de leur utilisation.

Le service AWS Key Management Service (KMS) permet de créer et de gérer les clés. Il est totalement géré, vous permettant de vous attacher au chiffrement de vos données stockées. Vous pouvez facilement en faire une rotation automatique, les importer depuis votre propre infrastructure, déterminer les conditions d’utilisation ou encore suivre leur activité. Les clés ne peuvent en aucun cas être récupérées en texte simple pour en garantir la totale sécurité. Elles peuvent être désactivées provisoirement ou supprimées selon les besoins.

Par la suite, ces clés permettent de chiffrer les données de 52 services AWS, parmi lesquels nous retrouvons évidemment les données des serveurs et des bases de données managées.

6 # TRACER L’ACTIVITÉ SUR LE CLOUD

Activez la traçabilité : surveillez, alertez et auditez les actions et les modifications apportées à votre environnement en temps réel. Intégrez les métriques aux systèmes pour répondre et prendre des mesures automatiquement.

Pour protéger votre cloud AWS, il est important d’établir un suivi de l’activité des utilisateurs et de l’usage des applications. La gestion des risques ainsi que les garanties de conformité sont des missions centrales pour l’ensemble de votre réseau. Il est nécessaire de pouvoir détecter les menaces sur la sécurité de votre infrastructure en identifiant les vulnérabilités.

AWS CloudTrail est le service de suivi en continu des actions réalisées sur votre infrastructure. Il présente un historique des événements de votre compte AWS, ce qui va simplifier les audits de conformité. L’ensemble de l’activité est enregistré permettant d’identifier les problèmes dans l’historique des modifications. Avec Amazon CloudWatch Events, la détection des fragilités est facilitée avec l’aide de workflows.

7 # DÉTECTER LES MENACES & SÉCURITÉ DES APPLICATIONS

La détection des menaces est une démarche de prévention permettant de réagir rapidement à des actions hostiles externes, et de mettre en place des contre-mesures rendant des actions inopérantes.

Cette détection doit couvrir le périmètre technique et aussi les applications qui sont également concernées par l’exposition de failles.

AWS propose 5 services permettant de mettre en place des mécanismes de prévention, dont le point commun est de nécessiter un temps de mise en oeuvre extrêmement réduit. Ceci a été rendu possible notamment par la mise en place de l’algorithme de machine learning couplé avec un flux de veille pour identifier les signatures d’attaques infrastructure (AWS GuardDuty) ou applicatives (AWS Inspector), ou pour l’identification des objets contenant des données soumises à une réglementation particulière (AWS Macie). En complément, AWS WAF permet de restreindre les accès aux applications en appliquant un filtrage qui leur sont spécifique et AWS Shield protège des attaques DDOS.

FAITES VOUS ACCOMPAGNER PAR DES EXPERTS AWS !

La sécurité est un sujet complexe et ne doit pas être pris à la légère, il est souvent nécessaire de se faire accompagner par des structures dont cela est le métier et le domaine d’expertise. 

Avec ces 7 conseils décisifs, vous êtes en mesure d’améliorer efficacement la sécurité des données de votre cloud AWS. N’omettez pas, cependant, d’inscrire ces activités dans une pratique et une mise à jour régulière de long terme pour capitaliser pleinement sur tous leurs bénéfices. 

Ressources : 

Article AWS = Qu’est-ce que le cloud computing ?

Premaccess  = Contactez notre équipe d’experts pour vos Services Managés Cloud

Développement  = Découvrir notre accompagnement pour vos développements SaaS ou Logiciel