Vilka är de bästa alternativen till Amazon S3? Vilka är för- och nackdelarna?


Bästa svaret

Jag skulle föreslå två Opensource-alternativ till S3, men innan jag går, kom ihåg att S3 är långt avancerad och alla andra alternativ försöker komma ikapp med S3 med kompatibla API: er och vad inte, när det gäller att slå S3 är ingen någonsin nära.

  1. Openstack Swift: Swift är en mycket tillgänglig, distribuerad, så småningom konsekvent objekt / blob-butik. Organisationer kan använda Swift för att lagra massor av data effektivt, säkert och billigt. Objekt och filer skrivs till flera hårddiskar spridda över servrar i datacentret, med OpenStack-programvaran som ansvarar för datareplikering och integritet över hela klustret. Lagringskluster skalas horisontellt helt enkelt genom att lägga till nya servrar. Om en server eller hårddisk misslyckas replikerar OpenStack innehållet från andra aktiva noder till nya platser i klustret. Eftersom OpenStack använder mjukvarulogik för att säkerställa datareplikering och distribution över olika enheter kan billiga råvaruhårddiskar och servrar användas
  2. Ceph : Det är en objektlagringsbaserad, öppen källkodslageringsplattform som lagrar data på ett enda distribuerat datakluster och tillhandahåller gränssnitt för objekt-, block- och filnivålagring Ceph syftar främst till att distribueras helt utan SPOF, skalbar till exabyte-nivån, och fritt tillgängligt

Eftersom de båda är öppen källkod kan du distribuera den internt utan att oroa dig för datastöld från Amazon (som den aldrig gör).

Nackdelar:

Det är svårt att ställa in både Swift och Ceph, och du kräver dedikerade ingenjörer att göra det . Att behålla dem är också en enorm röra, och i det långa loppet kommer du att kämpa om du inte får bra erfarenhet. Det är inte tillrådligt att gå till något av det, såvida du inte har många överflödiga servrar som ligger eller om du ställer in en stor lagring i huset som skalas till cirka 50-500 petabyte.

PS: Jag är Openstack utvecklare, arbetade mycket på både Swift och Ceph i stor utsträckning, och mitt dagliga jobb handlar om att fixa buggar och underhålla Openstack-klustret och Ceph.

Svar

Jag skulle hävda att det inte finns någon ” bästa ”alternativen till S3.

Om allt du behöver är objektlagring, så finns det många alternativ. Men S3 erbjuder funktionalitet (som aviseringar och möjligheten att köra Lambda-funktioner på put / get / overwrite och andra händelser) som vid denna tidpunkt inte är vanliga med något av alternativen.

Till exempel i ett nyligen genomfört projekt implementerade vi en mekanism som, efter mottagande av en fil lagrad i S3, skulle avfyra en Lambda-funktion som skulle extrahera filens metadata och lagra den i DynamoDB. Under tiden skulle en DynamoDB-ström avfyra en annan Lambda-funktion. Denna senare funktion skulle läsa metadata från DynamoDB och utföra olika uppgifter, beroende på filtypen för originalfilen i S3. Till exempel, om ursprungsfilen var en videofil, skulle Elastic Transcoder åberopas för att koda om filen; om ursprungsfilen var en bild, skulle ett GM-skript (GraphicsMagick for Node.js) åberopas för att extrahera EXIF-data, skapa miniatyrer och uppdatera DynamoDB-metadata. Detta möjliggjorde en serverfri infrastruktur för enkel innehållshantering.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *