Meilleure réponse
Je suggérerais deux alternatives OpenSource à S3, mais avant de partir, rappelez-vous que S3 est très avancé, et toutes les autres alternatives essaient de rattraper S3 avec des API compatibles et que sais-je encore, quand il sagit de battre S3, personne nest jamais proche.
- Openstack Swift: Swift est un magasin dobjets / dobjets blob hautement disponible, distribué et finalement cohérent. Les entreprises peuvent utiliser Swift pour stocker de nombreuses données de manière efficace, sûre et économique. Les objets et les fichiers sont écrits sur plusieurs disques durs répartis sur les serveurs du centre de données, le logiciel OpenStack étant chargé dassurer la réplication et lintégrité des données dans le cluster. Les clusters de stockage évoluent horizontalement simplement en ajoutant de nouveaux serveurs. En cas de panne dun serveur ou dun disque dur, OpenStack réplique son contenu à partir dautres nœuds actifs vers de nouveaux emplacements dans le cluster. Parce quOpenStack utilise une logique logicielle pour assurer la réplication et la distribution des données sur différents appareils, des disques durs et des serveurs peu coûteux peuvent être utilisés
- Ceph : Il est une plate-forme de stockage open source basée sur le stockage dobjets qui stocke les données sur un seul cluster dordinateurs distribués, et fournit des interfaces pour le stockage au niveau objet, bloc et fichier Ceph vise principalement à être complètement distribué sans SPOF, évolutif au niveau de lexaoctet, et disponible gratuitement
Comme les deux sont Open source, vous pouvez le déployer en interne, sans vous soucier du vol de données dAmazon (ce quil ne fait jamais).
Inconvénients:
Il est difficile de configurer Swift et Ceph, et vous avez besoin dingénieurs dédiés pour le faire . Les entretenir est également un énorme gâchis et, à long terme, à moins davoir une bonne expérience, vous vous retrouverez en difficulté. Il nest pas conseillé de choisir lun ou lautre, sauf si vous avez beaucoup de serveurs redondants ou si vous installez un grand stockage en interne qui peut atteindre 50-500 pétaoctets.
PS: Je suis Openstack développeur, a beaucoup travaillé à la fois sur Swift et Ceph, et mon travail quotidien consiste à corriger les bogues et à maintenir le cluster Openstack et Ceph.
Réponse
Je dirais quil ny en a pas » meilleures « alternatives à S3.
Si tout ce dont vous avez besoin est le stockage dobjets, alors bien sûr, il existe de nombreuses alternatives. Mais S3 offre des fonctionnalités (telles que les notifications, et la possibilité dexécuter des fonctions Lambda sur put / get / overwrite et dautres événements) qui à ce stade ne sont communes à aucune des alternatives.
Par exemple, dans un projet récent, nous avons implémenté un mécanisme qui, à la réception dun fichier stocké dans S3, déclencherait une fonction Lambda qui extrairait les métadonnées du fichier et les stockait dans DynamoDB. Pendant ce temps, un flux DynamoDB déclencherait alors une autre fonction Lambda. Cette dernière fonction lirait les métadonnées de DynamoDB et effectuerait différentes tâches, selon le type de fichier du fichier dorigine dans S3. Par exemple, si le fichier dorigine était un fichier vidéo, Elastic Transcoder serait appelé pour transcoder le fichier; si le fichier dorigine était une image, un script gm (GraphicsMagick for Node.js) serait appelé pour extraire les données EXIF, créer des miniatures et mettre à jour les métadonnées DynamoDB. Cela a permis une infrastructure sans serveur pour une gestion simple du contenu.