Hvad er de bedste alternativer til Amazon S3? Hvad er fordele og ulemper?


Bedste svar

Jeg vil foreslå to Opensource-alternativer til S3, men inden jeg går, skal du huske, at S3 er langt avanceret og alle andre alternativer forsøger at indhente S3 med kompatible APIer, og hvad ikke, når det kommer til at slå S3, er ingen nogensinde tæt på.

  1. Openstack Swift: Swift er en meget tilgængelig, distribueret, til sidst konsistent objekt / blob-butik. Organisationer kan bruge Swift til at gemme masser af data effektivt, sikkert og billigt. Objekter og filer skrives til flere diskdrev spredt over servere i datacenteret, hvor OpenStack-softwaren er ansvarlig for at sikre datareplikering og integritet på tværs af klyngen. Opbevaringsklynger skaleres vandret ved blot at tilføje nye servere. Hvis en server eller harddisk mislykkes, replikerer OpenStack dets indhold fra andre aktive noder til nye placeringer i klyngen. Fordi OpenStack bruger softwarelogik til at sikre datareplikering og distribution på tværs af forskellige enheder, kan billige harddiske og servere bruges •
  2. Ceph : Det er en objektlagringsbaseret open source-lagerplatform, der lagrer data på en enkelt distribueret computerklynge og giver grænseflader til objekt-, blok- og filniveaulagring Ceph sigter primært på at distribueres fuldstændigt uden en SPOF, skalerbar til exabyte-niveau, og frit tilgængeligt

Da begge er open source, kan du distribuere det internt uden at bekymre dig om datatyveri fra Amazon (som det aldrig gør).

Ulemper:

Det er svært at konfigurere både Swift og Ceph, og du kræver dedikerede ingeniører til at gøre det . Vedligeholdelse af dem er også et enormt rod, og i det lange løb, medmindre du får god erfaring, vil du finde dig selv kæmper. Det tilrådes ikke at gå efter nogen af ​​det, medmindre du har mange overflødige servere, der ligger, eller du opretter et stort lager i huset, der skaleres til omkring 50-500 petabyte.

PS: Jeg er Openstack udvikler, arbejdede meget med både Swift og Ceph i vid udstrækning, og mit daglige job indebærer at rette bugs og vedligeholde Openstack-klyngen og Ceph.

Svar

Jeg vil argumentere for, at der ikke er nogen ” bedste “alternativer til S3.

Hvis alt hvad du behøver er objektlagring, så er der sikkert mange alternativer. Men S3 tilbyder funktionalitet (såsom meddelelser og muligheden for at køre Lambda-funktioner på put / get / overwrite og andre begivenheder), som på dette tidspunkt ikke er almindelige med nogen af ​​alternativerne.

For eksempel i et nyligt projekt implementerede vi en mekanisme, der efter modtagelse af en fil, der er gemt i S3, ville affyre en Lambda-funktion, som ville udpakke filens metadata og gemme den i DynamoDB. I mellemtiden vil en DynamoDB-strøm derefter affyre en anden Lambda-funktion. Denne sidstnævnte funktion vil læse metadataene fra DynamoDB og udføre forskellige opgaver afhængigt af filtypen på den originale fil i S3. For eksempel, hvis oprindelsesfilen var en videofil, ville Elastic Transcoder blive påkaldt for at omkode filen; hvis oprindelsesfilen var et billede, ville et gm (GraphicsMagick for Node.js) script blive påberåbt for at udtrække EXIF-data, oprette miniaturebilleder og opdatere DynamoDB-metadataene. Dette muliggjorde en serverfri infrastruktur til simpel indholdsadministration.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *