Depuis son application en mai 2018, le Règlement Général sur la Protection des Données (RGPD, dit GDPR en anglais « General Data Protection Regulation ») impose davantage de rigueur et de transparence dans le traitement des données personnelles sur les plateformes numériques (sites, applications, etc.). 

Quelle que soit votre activité (grande entreprise, organisation publique…), vous êtes amené à traiter des données personnelles via vos systèmes d’information. Mais employez-vous correctement les “best practices” en matière de sécurité et de conservation des datas ? 

Si vous avez déployé votre infrastructure sur un cloud public (AWS, Google Cloud, Azure, etc.), le principe de la responsabilité partagée s’applique dans la mise en oeuvre de cette conformité. En clair : le cloud provider est responsable de la sécurité du cloud. En tant qu’utilisateur, vous êtes responsable de votre sécurité et de votre conformité sur cet espace.

RGPD données personnelles AWS Responsabilité partagée cloud

Bien conscients de la difficulté que cela représente, les cloud providers ont créé plusieurs outils pour vous permettre d’être en règle. C’est le cas d’AWS. 

Qui doit appliquer le RGPD ? Qu’entend-on par données personnelles ? Comment les chiffrer ? Comment mettre en place une surveillance et un contrôle d’accès ? Découvrez, dans cet article, l’ensemble des informations pour y voir + clair sur ce vaste sujet, ainsi que les services disponibles chez AWS pour être « RGPD friendly ». 

Qui est concerné par le RGPD ? Qu’est-ce qu’une donnée personnelle ?

Avant toute chose, redéfinissons ce règlement et ce qu’est une donnée personnelle. 

Le Règlement Général sur la Protection des Données

Il encadre le traitement des données personnelles sur le territoire de l’Union européenne. Il renforce le contrôle par les citoyens de l’utilisation qui peut être faite des données les concernant. Il harmonise ce sujet à l’échelle de l’Europe. 

Toute organisation, publique et privée, qui traite des données personnelles pour son compte ou non, est concernée par ce texte dès lors  :

  • qu’elle est établie sur le territoire de l’Union européenne,
  • et/ou que son activité cible directement des résidents européens.
RGPD données personnelles Consentement données personnelles formulaire

La donnée personnelle

C’est une information à partir de laquelle un individu peut être identifié ou identifiable.

Une personne peut être identifiée :

  • directement (exemple : nom, prénom)
  • ou indirectement (identifiant, n° client, numéro de téléphone…).

L’identification peut être réalisée :

  • à partir d’une seule donnée (numéro de sécurité sociale…)  
  • à partir du croisement d’un ensemble de données.

La protection de ces données repose sur 5 grands principes applicables sur tout support, qu’il soit numérique ou non :

  • Le principe de finalité : la collecte a un but bien précis.
  • Le principe de proportionnalité et de pertinence : nous ne récoltons que les données dont nous avons besoin.
  • Le principe d’une durée de conservation limitée : il n’est pas possible de conserver des informations sur des personnes physiques pour une durée indéfinie. Une durée de conservation précise doit être fixée, en fonction du type d’information enregistrée et de la finalité du fichier.
  • Le principe de sécurité et de confidentialité : vous devez garantir la sécurité et la confidentialité des informations que vous détenez. Vous devez en particulier veiller à ce que seules les personnes autorisées aient accès à ces informations.
  • Les droits des personnes et le principe de consentement : les personnes concernées doivent être informées de la manière dont leurs données sont traitées et elles doivent pouvoir donner leur consentement.

RGPD & données personnelles : les droits des utilisateurs et vos obligations  

Nous pouvons vous en citer 4 :

Droit à la portabilité des données :

Les individus ont le droit de copier toutes les données personnelles que vous avez à leur sujet. Ces données doivent être fournies de manière à faciliter leur réutilisation.

Droit à l’oubli :

Cela donne aux individus le droit de réclamer l’effacement de certaines données personnelles, de façon à les rendre inaccessibles à des tiers.

Protection des données dès la conception :

Dès la phase initiale de conception d’un service, vous devez respecter les règles, recommandations et consignes en rapport avec la protection des données.

Notification en cas de fuite de données :

En cas de fuite de données, vous devez notifier l’autorité de supervision concernée dans les 72 heures. S’il y a un risque élevé d’atteinte aux droits et libertés des individus, vous devez également les informer.

AWS centre reglement general protection données rgpd

Le cloud AWS respecte-t-il le RGPD ?

OUI

Lors de l’entrée en vigueur de ce règlement européen, en 2018, AWS a réalisé un audit de conformité au RGPD certifiant que l’ensemble de ses services et fonctionnalités respectent bien les normes les plus élevées en matière de confidentialité et de protection des données personnelles. 

Par ailleurs, ce cloud provider dispose de certifications : ISO 27017 dédiée à la sécurité du cloud computing, et ISO 27018 dédiée à la protection des données personnelles dans le Cloud.

Quels sont les services proposés par AWS pour aider à vous  mettre en conformité avec le RGPD ?

En fonction de vos besoins, voici plusieurs services et fonctionnalités mises à votre disposition par AWS pour respecter les exigences du texte européen.

Chiffrez vos données 

RGPD Chiffrement des données personnelles outils AWS
  • Chiffrement de vos données au repos avec AES256 (EBS/S3/Glacier/RDS)
  • Gestion centralisée des clés via Key Management Service (par région AWS)
  • Tunnels IPsec vers AWS avec les passerelles VPN
  • Modules HSM dédiés dans le cloud avec AWS CloudHSM

Contrôle d’accès : restreignez l’accès aux ressources AWS aux administrateurs, utilisateurs et applications autorisés

Contrôle d'accès : restreignez l'accès aux ressources AWS aux administrateurs, utilisateurs et applications autorisés
  • Authentification multi-facteurs (Multi-Factor-Authentication, MFA)
  • Accès granulaire fin aux objets dans des compartiments Amazon S3 / Amazon SQS/ Amazon SNS et d’autres services
  • Authentification par requête d’API
  • Restrictions géographiques
  • Jetons d’accès temporaires via AWS Security Token Service

Surveillance et fichiers journaux : obtenez une présentation des activités concernant vos ressources AWS

Surveillance et fichiers journaux : obtenez une présentation des activités concernant vos ressources AWS
  • Gestion et configuration des ressources avec AWS Config
  • Audits de conformité et analyses de sécurité avec AWS CloudTrail
  • Identification des difficultés de configuration avec AWS Trusted Advisor
  • Fichiers journaux granulaires fins des accès aux objets Amazon S3

  • Informations détaillées sur les flux du réseau via Amazon VPC-FlowLogs
  • Vérifications et actions de configuration reposant sur des règles avec AWS Config Rules
  • Filtrage et surveillance des accès HTTP aux applications avec les fonctions WAF d’AWS CloudFront

AWS propose, par ailleurs, 4 services particulièrement intéressants pour vous accompagner dans cet objectif « RGPD friendly » :

  • Amazon GuardDuty est un service géré de détection des menaces, qui surveille en continu les comportements malveillants ou non autorisés.
  • Amazon Macie utilise le machine learning pour surveiller et protéger les données stockées dans Amazon S3.
  • Amazon Inspector est un service d’évaluation de la sécurité automatisée. Il permet de renforcer la sécurité et la conformité de vos applications déployées sur AWS.
  • AWS Config Rules est un service de monitoring. Il vérifie la conformité des ressources cloud aux règles de sécurité.

Enfin, si vous souhaitez aller encore plus loin sur ce sujet, AWS a publié un livre blanc intitulé « Navigating GDPR Compliance on AWS ». Cet ouvrage explique comment adapter les exigences du RGPD à chaque service AWS, avec un focus sur ceux concernant le monitoring, l’accès aux données, et la gestion des clefs.

En tant que décideurs, chef de projet ou DSI, si vous souhaitez savoir si vous être en règle avec le RGPD ou bien vous mettre en conformité, n’hésitez pas à contacter l’équipe de premaccess. Experte AWS, elle vous conseillera et vous proposera un accompagnement sur-mesure adapté à vos besoins.

Pour aller + loin :

FAQ à propos de la conformité AWS au RGPD

Tous les services d’AWS sont-ils conformes au RGPD ?

OUI. Amazon Web Services certifie que l’ensemble de ses services et fonctionnalités disponibles respectent les normes les plus élevées en matière de confidentialité et de protection des données personnelles imposées par le RGPD. AWS souhaitait se mettre en conformité avec le Règlement deux mois avant son entrée en vigueur, le 25 mai 2018, afin d’offrir, tant à ses clients qu’à ses partenaires, un environnement dans lequel ils peuvent développer leurs propres produits, services et solutions conformes au RGPD.

Quels sont les conseils d’AWS pour réussir sa conformité au RGPD

1. Impliquer les dirigeants
2. Centraliser les efforts de mise en conformité au RGPD
3. Travailler en direct avec l’équipe juridique et  direction technique
4. Penser avant tout à protéger les personnes
Pour en savoir +

Depuis plusieurs années, vous avez pu utiliser la fonctionnalité de gestion du cycle de vie de AWS S3 pour contrôler la classe de stockage et la durée de vie de vos objets. 

Depuis mars dernier, une fonctionnalité a été ajoutée à ce service : le téléchargement incomplet d’objet en plusieurs parties. Ce chargement partitionné vous permet de télécharger un objet unique constitué d’un ensemble de parties. Une fois que toutes les parties de cet objet sont chargées, Amazon S3 présente les données comme un seul objet. 

Grâce à cette fonction, vous pouvez gérer des téléchargements en parallèle, mettre en pause et reprendre le chargement d’un objet, mais aussi commencer les chargements avant de connaître la taille totale de l’objet.

Qu’est-ce que le téléchargement incomplet d’objet en plusieurs parties ?

La fonction de téléchargement partitionné d’AWS S3 accélère le transfert d’objets volumineux en vous permettant de les diviser en plusieurs parties logiques qui peuvent être téléchargées en parallèle. 

Si vous lancez un téléchargement en plusieurs parties, mais que vous ne le terminez pas, le téléchargement en cours va occuper de l’espace de stockage et entraînera des frais de stockage. 

Cependant, ces téléchargements ne sont pas visibles lorsque vous répertoriez le contenu d’un bucket. Ils doivent impérativement être supprimés. S’ils ne sont pas supprimés, l’espace de stockage consommé par ces chargements continuera à être facturé.

Comment savoir si un bucket contient des téléchargements partitionnés ?

Voici un petit script qui peut vous aider à trouver quel bucket a des téléchargements en plusieurs parties :

Comment réduire vos frais Amazon S3 lors de téléchargements en plusieurs parties - Bucket - Téléchargements partitionnés

Ce script donnera une réponse comme celle-ci :

Comment réduire vos frais Amazon S3 lors de téléchargements en plusieurs parties - Bucket - Téléchargements partitionnés

« True » signifie que ce compartiment a des téléchargements en plusieurs parties. « False » signifie qu’il n’en contient pas.

Comment puis-je obtenir une liste de téléchargements partitionnés ?

Voici un autre script qui vous aidera à obtenir une liste de téléchargements partitionnés :

Comment réduire vos frais Amazon S3 lors de téléchargements en plusieurs parties - Bucket - listes Téléchargements partitionnés

Comment éviter le coût inutile des téléchargements incomplets en plusieurs parties ?

Pour cela, il est possible de configurer un cycle de vie dédié à ces téléchargements. Une fois le temps imparti achevé, ils seront automatiquement supprimés de l’espace de stockage. 

Vous pouvez les configurer à l’aide de l’AWS Management Console, de l’interface de ligne de commande AWS (CLI) ou des outils AWS pour Windows PowerShell.

1. Commencez par ouvrir la console et accédez au bucket souhaité :

Amazon S3 - éviter le coût inutile des téléchargements incomplets en plusieurs parties ? - AWS Management Console

2. Cliquez ensuite sur “Properties”, ouvrez la section “Lifecycle” et cliquez sur “Add rule” :

Amazon S3 - éviter le coût inutile des téléchargements incomplets en plusieurs parties ? - AWS Management Console

3. Choisissez votre cible (le bucket entier ou le sous-ensemble préfixé de votre choix) puis cliquez sur “Configure Rule” :

Amazon S3 - éviter le coût inutile des téléchargements incomplets en plusieurs parties ? - AWS Management Console

4. Activez ensuite la nouvelle règle et sélectionnez la période d’expiration souhaitée :

Amazon S3 - éviter le coût inutile des téléchargements incomplets en plusieurs parties ? - AWS Management Console

Vous souhaitez davantage d’informations sur ce nouveau service AWS, n’hésitez pas à contacter l’équipe de premaccess. Spécialisée dans le cloud d’AWS, elle vous conseillera sur ce sujet. 

Pour aller plus loin sur la FinOps

FAQ à propos d’Amazon S3

Qu’est-ce qu’Amazon S3 ?

Amazon S3 est un stockage d’objets conçu pour stocker des données. C’est un service de stockage simple qui offre une infrastructure de stockage de données extrêmement durable, hautement disponible et infiniment évolutive à des coûts très faibles.

La tarification S3

Lors du choix de la classe de stockage S3 idéale pour votre profil de données, vous devez prendre en compte quatre éléments de coûts : la tarification du stockage, la tarification des requêtes et de l’extraction des données, la tarification du transfert des données et de l’accélération du transfert des données et la tarification des fonctions de gestion des données. Pour en savoir + > https://aws.amazon.com/fr/s3/pricing/

Le Cloud séduit de plus en plus d’entreprises. Elles sont aujourd’hui nombreuses à basculer progressivement tout ou partie de leur Système d’Information (SI) sur le nuage. Et pour cause. Selon l’étude « Multi-Cloud, Cloud Hybride et Services Managés : Approches, Tendances & Enjeux à 2021 » menée par le cabinet Markess, auprès de 120 DSI et CTO, 

  • 55% d’entre eux expliquent que leurs dépenses dans les Clouds publics vont augmenter au fil du temps,
  • Et 51% ont recours à plusieurs formes de Cloud (différents IaaS publics, IaaS public avec IaaS privé, etc.).

Pour plusieurs DSI et CTO, cette stratégie « Cloud et multi-Cloud » apporte de nombreux avantages : agilité, accès à des services innovants (IA et Machine Learning, Data analytics, etc.), déploiement plus rapide de nouveaux services. Mais, elle demande également un réel accompagnement pour gérer correctement ces environnements, et garder ces architectures Cloud en condition opérationnelle permanente.

Pour répondre à ces besoins, les partenaires de Cloud Providers, et notamment premaccess, proposent des services managés. Appelés Cloud Managed Services Providers, ils se donnent pour objectif de décharger les DSI de la gestion des SI afin qu’elles puissent se focaliser davantage sur l’innovation, et moins sur la maintenance de leur infrastructure informatique. 

En quoi consistent ces services managés Cloud ?

À travers ces services, les MSP s’assurent que les bonnes pratiques en matière d’architecture Cloud sont bien respectées sur votre infrastructure. Ces bonnes pratiques reposent sur 5 piliers : excellence opérationnelle, sécurité, fiabilité, efficacité de la performance et optimisation des coûts.

services managés cloud - les bonnes pratiques reposent sur 5 piliers : excellence opérationnelle, sécurité, fiabilité, efficacité de la performance et optimisation des coûts.

Parmi ces services managés, vous pouvez retrouver :

L’aide à la migration

En fonction de vos compétences et ressources en interne, vous disposez d’un accompagnement et de conseils d’experts pour migrer vers le modèle de services Cloud le plus adapté à vos enjeux (IaaS, PaaS, Saas).

La surveillance

Il convient de surveiller votre infrastructure Cloud afin de prévenir toutes défaillances, et réagir en cas de variations de performances sur l’ensemble du système. Pour cela, les MSP récoltent en temps réel des données sur votre système d’information afin de :

  • veiller à sa bonne santé, 
  • déceler des comportements anormaux sur vos environnements, 
  • définir des alarmes si besoin,
  • automatiser des actions sur la base de seuils prédéfinis, etc. 

La sécurité

Un MSP garantit la sécurité de vos données et de vos infrastructures. Par « sécurité », nous entendons : 

  • confidentialité et intégrité des données, 
  • identification et gestion des utilisateurs et de leurs autorisations, 
  • protection des systèmes, 
  • et mise en place de contrôles pour détecter les événements de sécurité.

La maintenance préventive et en temps réel

Parmi les mesures préventives, nous pouvons notamment citer la sauvegarde et la réplication de vos données, ainsi que leur restauration si besoin.

La maintenance en temps réel consiste en la résolution des incidents dans un temps imparti assez court pour éviter toute indisponibilité de vos services. Dans ce cadre figurent :

  • Le Plan de Continuité d’Activité (PCA) : il assure la reprise la plus rapide possible de l’infrastructure, en cas de sinistre, avec le moins de pertes de données.
  • Le Plan de Reprise d’activité (PRA) : en cas d’incident majeur, les MSP gèrent la reconstruction de votre SI et la remise en activité de vos applications. 

Le PCA et le PRA sont essentiels pour minimiser l’impact financier sur votre activité lors d’incidents informatiques.

L’optimisation des coûts

Les fournisseurs de services managés vous aident aussi à éliminer les coûts superflus, en contrôlant vos dépenses sur le Cloud, et en sélectionnant pour vous les ressources les plus appropriées selon vos besoins et votre budget.

La veille technologique

Enfin, les MSP sont des experts en architectures Cloud. En veille constante sur les dernières tendances du secteur, ils vous conseillent sur l’évolution de votre SI dans le temps en fonction de vos nouveaux besoins ou nouvelles offres.

Les avantages des services managés Cloud

En optant pour ces services managés Cloud :

Services managés cloud avantages
  • Vous avez l’assurance que votre Système d’Information est toujours disponible dans le temps. Vous vous protégez contre tous arrêts et incidents.
  • Vous êtes libéré des contraintes informatiques. Ainsi, vous augmentez votre productivité en interne, et vous permettez notamment à votre DSI d’être davantage tournée vers l’innovation de vos services.
  • Vous gagnez en efficience en vous concentrant sur votre coeur de métier. Fini la perte de temps avec la maintenance.
  • La sécurité de votre système est 100% fiable. Vous n’avez plus à vous en soucier.
  • Vous réalisez des économies car les MSP, experts en FinOps, vous aident à optimiser durablement vos dépenses.
  • Et, cela est primordial, vous restez innovant grâce à la veille technologique de ces fournisseurs de services managés.

En tant que décideurs, DSI ou CTO, si vous souhaitez externaliser la gestion de votre SI, n’hésitez pas à contacter l’équipe de premaccess. Experte en services managés Cloud, elle vous conseillera et vous proposera un accompagnement sur-mesure adapté à vos besoins. Objectif : vous simplifier la gestion quotidienne de votre IT !

Pour aller plus loin sur les services managés cloud :

En tant que développeur, notre métier a fortement évolué. Les infrastructures sont passées de serveurs on-premise à des machines virtuelles, et sont maintenant hébergées sur des instances Cloud. Nous parlons désormais de Développement Serverless. Mais le métier de développeur ne s’est pas complexifié pour autant. Bien au contraire. 

Fondamentalement, avec le Cloud, la manière de programmer change pour se consacrer à l’essentiel. La révolution tient dans l’architecture des projets, orientée désormais en microservices. 

Grâce à ces microservices ou plus largement au serverless, vous utilisez du code et des services de base prêts à l’emploi. Vous vous consacrez ainsi uniquement à la valeur ajoutée de votre projet et donc de votre code ainsi que les fonctionnalités associées. De quoi vous faire gagner du temps, assurer la qualité du code, et vous pousser à repenser notre business davantage tourné vers l’innovation. 

Si vous êtes développeurs, ou bien porteurs de projets, découvrez les nombreux avantages qu’offre cette architecture.

Des microservices et un développement Serverless pour …

… Mieux vous concentrer sur le coeur de votre application

Lorsque vous déployez une solution sur un serveur on-premise ou bien sur une machine virtuelle, votre équipe de développeurs se charge de tout coder : les fonctions propres à votre application, ainsi que les fonctions annexes mais essentielles comme la gestion des utilisateurs, la connexion à la base de données, etc. Nous parlons alors d’architecture monolithique.

En revanche, en déployant une solution sur le Cloud en développement serverless, vous pouvez vous concentrer principalement sur les fonctions natives de votre application. Connecté en ligne, vous avez accès à pléthores de services managés pour les fonctions de base. Sur AWS, par exemple, une multitude de microservices sont disponibles pour créer une architecture serverless. Ils vous permettent de déployer très rapidement des fonctionnalités universelles comme « IAM » pour gérer la politique de sécurité de vos utilisateurs, « Cognito » pour sécuriser leurs authentifications et gérer vos utilisateurs, « Lex » pour la création de Chatbots, « Simple Email Service » pour l’envoi d’emails depuis votre application, etc.

Il serait bien trop long de tous les énumérer. AWS en crée des dizaines par an. Son catalogue en compte plus d’une centaine autour de thématiques liées au calcul, au stockage de données, à l’analyse, à la sécurité de vos applications, à l’Internet des Objets, au Machine Learning, etc. Découvrez-les ici : https://aws.amazon.com/fr/products/?nc2=h_ql_prod

… Plus d’agilité et vous faire gagner du temps

Clairement, en vous concentrant sur les fonctions natives de votre application et en utilisant ces services managés, vous réduisez le temps de développement de vos projets web.

développement serverless plus d’agilité gain de temps application plus évolutive et scalable

Par ailleurs, votre architecture serverless étant découpée en services, vous pouvez répartir la mise en place de chaque fonction entre développeurs. Chacun peut programmer de façon indépendante, sans avoir à connaître la structure du code des autres parties de l’application. Il suffira juste à votre chef de projet de réaliser des tests d’intégrations pour vérifier que tout fonctionne ensemble.

… Rendre votre application plus évolutive

Grâce à ce découpage en microservices, grâce au serverless, vous faites évoluer votre solution plus facilement. Modifier une fonctionnalité demandera d’intervenir sur un seul service sans avoir à vérifier à nouveau l’ensemble de l’application.

De plus, en utilisant ces services managés, vous accédez plus facilement aux nouvelles fonctionnalités proposées par le Cloud provider. Par exemple, dans le cas où vous utilisez Cognito pour gérer les accès à votre application, vos users se connectaient en premier lieu avec un login et mot de passe. Quand ce service a évolué, vous avez pu mettre en place une double authentification très facilement.

… Et plus scalable

Sur le Cloud, grâce au développement serverless, une entreprise peut mieux ajuster ces besoins en ressources, qu’ils soient à la hausse ou à la baisse. Ainsi, elle a un meilleur contrôle de sa consommation et ne paie que ce qu’elle consomme en ligne. 

Sur AWS, les services sont managés. L’élasticité de vos applications est assurée automatiquement par le Cloud Provider. Celui-ci ajuste la capacité nécessaire à maintenir à l’instant T en fonction des performances enregistrées. Ainsi, votre application reste disponible de façon optimale même s’il y a des changements brusques de charge de travail.

… Un code de meilleure qualité

développement serverless code de meilleure qualite

Dans le cadre d’un développement serverless, chaque service propose une fonction, et donc un code largement éprouvé et vérifié par les Cloud providers. Ce qui vous assure un code de bonne qualité. 

De plus, votre application étant divisée en micro-modules, la chasse au bug est beaucoup plus facile. La maintenance aussi !

… Avec des outils de supervision intégrés 

Cela étant, cette qualité n’empêche pas la supervision de vos solutions. Sur AWS, « Amazon CloudWatch » permet la surveillance de vos ressources et de vos applications par la collecte de données opérationnelles sous forme de journaux, métriques ou évènements. Objectif : s’assurer que tout fonctionne correctement. Et comme nous travaillons en microservices, si l’un d’entre eux est défaillant, nous pourrons le remplacer aisément par un autre. 

… Plus de résilience

L’indépendance de chaque fonction augmente considérablement la résistance de votre application face aux possibles pannes. Si un incident survient sur une des fonctions que vous avez développées (hors services AWS donc), cela ne rendra pas l’application indisponible. Dans ce cas, seule la fonction en question sera interrompue momentanément. 

… Pour réduire les coûts

développement serverless réduction des coûts

Comme le développement serverless fonctionne au paiement à l’usage, vous pouvez parfaitement les tester pour développer de nouvelles offres. Ainsi, vous pouvez voir si cela répond à une demande de vos clients, adapter ou ajuster votre proposition sans que cela ne vous coûte bien trop cher.

Enfin, les développeurs, experts en microservices, mettent bien moins de temps pour créer une application. Le Serverless nécessite donc moins de ressources et de développeurs. Aussi, si vous souhaitez lancer une application rapidement et adopter ce type d’architecture, entourez-vous de spécialistes. L’équipe de premaccess accompagne de nombreuses entreprises qui ont franchi le cap du serverless

… Plus d’innovation bien sûr !

Plus généralement, avec l’architecture serverless, nous devons réfléchir davantage à la structure de nos applications avant de nous lancer dans leur développement.

Pour tous développeurs, appréhender le Cloud et les microservices impose une nouvelle approche du métier. Que dois-je coder moi-même ? Que dois-je programmer à partir d’un service managé ? Comment l’interface est organisée entre ces différentes fonctions ?

Assurément, cette nouvelle architecture réduit considérablement les cycles de développement. Un constat qui doit nous pousser à réinventer nos business, repenser nos valeurs ajoutées et les éléments différenciants qu’apportent nos applications en matière d’innovation. 

En tant que développeur ou chef de projet, si vous souhaitez être accompagné lors de la création d’une application sur le Cloud, n’hésitez pas à contacter l’équipe de premaccess. Elle vous conseillera pas à pas, et vous présentera les atouts des services managés pour rendre votre projet innovant et évolutif.

Pour aller plus loin :

Les services AWS cités dans cet article :

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 😉 !

#FinOps Addict 🙂 AWS Cost Killing

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

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

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

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). 

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

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.

IAM 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.

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 une démarche FinOps pour améliorer votre usage du Cloud afin de réduire considérablement votre facture. 

Sur AWS, il existe 5 grands piliers ou astuces 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.

FinOps #1 : 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 : 

Besoin d’une expertise FinOps contactez nos équipes de consultants dédiés ici

FinOps #2 : 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.

Besoin d’une expertise FinOps contactez nos équipes de consultants dédiés ici

FinOps #3 : 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%). 

Savings Plan AWS

Pour aller plus loin sur le Savings Plans : https://aws.amazon.com/fr/savingsplans/

Besoin d’une expertise FinOps contactez nos équipes de consultants dédiés ici

FinOps #4 : 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.

Besoin d’une expertise FinOps contactez nos équipes de consultants dédiés ici

FinOps #5 : 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 .

Besoin d’une expertise FinOps contactez nos équipes de consultants dédiés ici #FinOps #CostKilling addict 🙂

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.