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 :