Wasabi cloud storage: S3 suderinama saugykla

Kas yra Wasabi ir kodėl apie ją verta žinoti

Debesų saugyklos rinka jau seniai nėra vien Amazon, Google ir Microsoft žaidimo aikštelė. Pastaruoju metu vis daugiau dėmesio sulaukia Wasabi – palyginti jauna, bet agresyviai auganti debesų saugyklos paslauga, kuri žada tą patį funkcionalumą kaip Amazon S3, tik už gerokai mažesnę kainą ir be paslėptų mokesčių.

Įkurta 2017 metais, Wasabi pozicionuoja save kaip „karštoji” debesų saugykla (hot cloud storage), kuri skirta duomenims, prie kurių reikia greitai ir dažnai prieiti. Skirtingai nei tradiciniai debesų saugyklos tiekėjai, kurie siūlo įvairius sluoksnius (hot, cool, archive) su skirtingomis kainomis, Wasabi teigia, kad jų sprendimas yra pakankamai greitas ir pigus, kad nereikėtų jokių kompromisų.

Bet kas iš tikrųjų labiausiai domina IT specialistus ir įmonių vadovus – tai S3 suderinamumas. Tai reiškia, kad jei jau naudojate AWS S3 API, perėjimas prie Wasabi teoriškai turėtų būti sklandus ir nereikalaujantis didelių infrastruktūros pakeitimų. Bet ar tai tikrai taip paprasta praktikoje? Pažvelkime giliau.

S3 suderinamumas: kas tai reiškia realiame gyvenime

Kai kalbame apie S3 suderinamumą, iš esmės kalbame apie tai, kad Wasabi palaiko tą pačią API, kurią naudoja Amazon S3. Tai gana didelis dalykas, nes S3 API tapo savotiška industrijos standartu objektinei saugyklai.

Praktiškai tai reiškia, kad dauguma įrankių, bibliotekų ir programų, kurios dirba su S3, turėtų veikti ir su Wasabi. Jums tereikia pakeisti endpoint URL ir autentifikacijos duomenis. Pavyzdžiui, vietoj s3.amazonaws.com naudosite kažką panašaus į s3.wasabisys.com arba konkretų regioninį endpoint.

Tačiau verta žinoti, kad „suderinamumas” nereiškia „identiškas”. Wasabi palaiko didžiąją dalį S3 funkcijų, bet ne visas. Pavyzdžiui, kai kurios sudėtingesnės funkcijos, tokios kaip S3 Select (SQL užklausos tiesiogiai į objektus), S3 Object Lock kai kurie režimai, ar tam tikros lifecycle politikos gali būti ribotos arba veikti šiek tiek kitaip.

Aš pats testavau Wasabi su keliais populiariais įrankiais – AWS CLI, rclone, Duplicati, Veeam – ir daugumoje atvejų viskas veikė be problemų. Tereikėjo sukonfigūruoti endpoint ir access keys. Bet buvo ir keletas niuansų, apie kuriuos papasakosiu vėliau.

Kainodara: kur slypi tikrasis skirtumas

Čia Wasabi tikrai bando išsiskirti iš minios. Jų kainodara yra stulbinamai paprasta, ypač palyginus su AWS S3 kainų labirintais. Rašant šį straipsnį, Wasabi kainuoja apie $6.99 už TB per mėnesį. Taškas. Nėra mokesčių už duomenų išsiuntimą (egress), nėra mokesčių už API užklausas, nėra skirtingų saugojimo klasių su skirtingomis kainomis.

Palyginkime su AWS S3 Standard: ten mokate apie $23 už TB per mėnesį (pirmam TB), plius mokesčius už duomenų išsiuntimą (nuo $0.09 už GB), plius mokesčius už PUT, COPY, POST, LIST užklausas. Jei jūsų aplikacija aktyviai skaito duomenis ar daro daug API užklausų, galutinė sąskaita gali būti kelis kartus didesnė nei bazinė saugojimo kaina.

Tačiau Wasabi turi vieną svarbų apribojimą – jie taiko 90 dienų minimalų saugojimo laikotarpį. Tai reiškia, kad jei įkelsite failą ir ištrynsite jį po 10 dienų, vis tiek mokėsite už 90 dienų. Taip pat yra minimalus 1 TB įsipareigojimas (nors jei naudojate mažiau, vis tiek mokate tik už tai, ką naudojate, bet kainodara optimizuota didesniam mastui).

Dar vienas niuansas – nors Wasabi teigia, kad nėra egress mokesčių, jie tikisi, kad jūsų duomenų išsiuntimas neviršys saugojimo apimties. Jei kas mėnesį saugote 10 TB, bet išsiunčiate 50 TB, gali būti taikomi papildomi mokesčiai arba apribojimai. Tai skirta užkirsti kelią piktnaudžiavimui, bet tai kažkas, ką reikia turėti omenyje planuojant architektūrą.

Našumas ir prieinamumas: ar Wasabi gali konkuruoti

Vienas iš dažniausių klausimų, kuriuos girdžiu: ar Wasabi yra pakankamai greitas? Trumpas atsakymas – dažniausiai taip, bet tai priklauso nuo jūsų naudojimo atvejo ir geografinės padėties.

Wasabi turi duomenų centrus keliose vietose: JAV (Rytų pakrantė ir Vakarų pakrantė), Europoje (Amsterdamas ir Londons), Azijoje-Ramiajame vandenyne (Tokijas, Osaka, Sidnėjus). Tai gerokai mažiau nei AWS ar Azure, bet pagrindiniams regionams pakanka.

Testavau įkėlimo ir atsiuntimo greičius iš Europos į Amsterdamo regioną ir rezultatai buvo gana geri. Didelių failų įkėlimas pasiekė apie 100-150 MB/s (su tinkamu paralelizavimu), o atsiuntimas buvo panašus. Tai nėra AWS S3 lygis, kuris gali pasiekti kur kas didesnius greičius optimaliomis sąlygomis, bet daugumai praktinių naudojimo atvejų tai daugiau nei pakanka.

Latency (uždelsimai) yra šiek tiek didesni nei AWS – vidutiniškai apie 20-40ms API užklausoms iš Europos į Amsterdamą, palyginus su 10-20ms AWS. Vėlgi, ne kritinis skirtumas daugumai aplikacijų, bet jei kuriate high-frequency trading sistemą ar kažką panašaus, tai gali turėti reikšmės.

Wasabi garantuoja 99.9% uptime SLA ir 11 devynių durability (99.999999999%), kas yra tas pats standartas kaip AWS S3. Praktikoje per metus naudojimo neturėjau jokių rimtų problemų su prieinamumu.

Integracijos ir ekosistema

Vienas iš didžiausių Wasabi privalumų yra tai, kad dėl S3 suderinamumo jau egzistuoja tūkstančiai įrankių, kurie veikia su juo iš karto arba su minimaliomis konfigūracijomis.

Backup sprendimai: Veeam, Duplicati, Duplicacy, Restic, Borg – visi šie populiarūs backup įrankiai palaiko Wasabi. Veeam net turi oficialią integraciją ir Wasabi yra vienas iš rekomenduojamų cloud repository tiekėjų. Tai ypač patrauklu įmonėms, kurios ieško ekonomiško būdo saugoti backup’us ilgam laikui.

Failų sinchronizacija ir valdymas: Rclone, Cyberduck, Mountain Duck, CloudBerry – visi šie įrankiai veikia su Wasabi. Aš asmeniškai naudoju rclone automatiniam sinchronizavimui ir jis veikia puikiai. Konfigūracija paprasta:


[wasabi]
type = s3
provider = Wasabi
access_key_id = YOUR_ACCESS_KEY
secret_access_key = YOUR_SECRET_KEY
region = eu-central-1
endpoint = s3.eu-central-1.wasabisys.com

Media ir content delivery: Nors Wasabi nėra CDN, jį galima lengvai integruoti su Cloudflare, BunnyCDN ar kitais CDN tiekėjais. Tai leidžia turėti pigią saugyklą ir greitą content delivery tinklą viename sprendime.

Programavimo bibliotekos: Bet kuri biblioteka, kuri palaiko S3 (boto3 Python, AWS SDK JavaScript, aws-sdk-go ir t.t.) veiks su Wasabi. Tereikia nurodyti custom endpoint.

Saugumo aspektai ir compliance

Kalbant apie debesų saugyklą, saugumas visada yra prioritetas. Wasabi čia siūlo gana standartinį, bet solidų paketą.

Duomenys saugomi šifruoti poilsio būsenoje (encryption at rest) naudojant AES-256 šifravimą. Perdavimas vyksta per HTTPS su TLS 1.2+. Galite naudoti server-side encryption (SSE) arba client-side encryption, jei norite turėti pilną kontrolę.

Wasabi palaiko versioning, kas leidžia saugoti kelias objekto versijas ir apsisaugoti nuo atsitiktinio ištrynimo ar perrašymo. Taip pat yra immutable storage galimybė (Wasabi vadina tai „Compliance Mode”), kuri užtikrina, kad duomenys negali būti pakeisti ar ištrinti tam tikrą laikotarpį – svarbu reguliuojamose industrijose.

Prieigos valdymui naudojami IAM policy mechanizmai, panašūs į AWS. Galite kurti bucket policies, user policies, naudoti access control lists (ACL). Tai vėlgi reiškia, kad jei esate susipažinę su AWS IAM, čia jausitės kaip namie.

Compliance sertifikatai: Wasabi turi SOC 2 Type II, HIPAA, GDPR, PCI DSS atitiktį. Tai svarbu įmonėms, kurios dirba su jautriais duomenimis. Tačiau verta paminėti, kad ne visi regionai turi visus sertifikatus, todėl jei jums reikia specifinio compliance, patikrinkite konkretaus regiono statusą.

Vienas dalykas, kurio Wasabi neturi (bent jau dar) – tai tokia pati išsami audit ir monitoring ekosistema kaip AWS CloudTrail, CloudWatch ir panašiai. Yra bazinis activity logging, bet jei jums reikia labai detalaus audito, gali tekti naudoti trečiųjų šalių sprendimus.

Praktiniai patarimai migracijai ir naudojimui

Jei svarstote pereiti prie Wasabi arba pradėti jį naudoti, štai keletas praktinių patarimų iš asmeninės patirties:

Pradėkite nuo ne kritinių workload’ų: Nerekomenduoju iš karto perkelti visos production infrastruktūros. Pradėkite nuo backup’ų, archyvinių duomenų ar development aplinkų. Taip galėsite įvertinti, kaip Wasabi veikia jūsų specifinėje situacijoje be rizikos.

Testuokite greitį iš jūsų tikros lokacijos: Teoriniai greičiai nieko nereiškia, jei jūsų serveriai yra kitame kontinente. Padarykite realius testus su jūsų faktine infrastruktūra. Wasabi siūlo nemokamą trial, pasinaudokite juo.

Apskaičiuokite tikrąsias kainas: Nors Wasabi kainodara atrodo paprasta, įtraukite visus faktorius: minimalų saugojimo laikotarpį, jūsų duomenų srautus, API užklausų kiekį. Kartais AWS su tinkamu tier pasirinkimu gali būti konkurencingas, ypač jei jūsų duomenys retai pasiekiami.

Naudokite lifecycle policies protingai: Nors Wasabi neturi tier’ų, galite naudoti lifecycle policies automatiniam senų versijų ištrynimui ar objektų perkėlimui. Tai padės valdyti kaštus, ypač jei naudojate versioning.

Apsvarstykite multi-cloud strategiją: Niekas nesako, kad turite rinktis tik vieną tiekėją. Galite naudoti Wasabi backup’ams ir archyvams, o AWS ar Azure – production duomenims, kuriems reikia mažesnio latency ar specifinių funkcijų. Rclone ir panašūs įrankiai leidžia lengvai valdyti kelis cloud tiekėjus.

Automatizuokite viską: Naudokite Infrastructure as Code (Terraform, CloudFormation) bucket’ų kūrimui ir valdymui. Tai palengvins migraciją ir užtikrins konsistenciją. Wasabi palaiko Terraform provider, kuris veikia gana gerai.

Stebėkite savo naudojimą: Nors Wasabi kainodara paprasta, vis tiek verta reguliariai tikrinti, kiek duomenų saugote ir kaip juos naudojate. Wasabi console turi bazines analytics, bet galite integruoti su savo monitoring sistemomis per API.

Kada Wasabi yra geras pasirinkimas (ir kada ne)

Po beveik metų darbo su Wasabi įvairiuose projektuose, galiu pasakyti, kad tai tikrai geras sprendimas tam tikroms situacijoms, bet ne universali panacėja.

Wasabi puikiai tinka:

– Backup ir disaster recovery sprendimams, kur saugote didelius duomenų kiekius ilgam laikui
– Media archyvams – video, audio, nuotraukų bibliotekoms
– Log failų ir analytics duomenų saugojimui
– Development ir testing aplinkoms, kur nereikia aukščiausio našumo
– Įmonėms, kurios nori sumažinti cloud storage kaštus be didelių kompromisų
– Situacijoms, kur duomenų išsiuntimas yra santykinai nedidelis palyginus su saugojimu

Wasabi gali būti ne geriausias pasirinkimas:

– High-performance aplikacijoms, kurioms reikia minimalaus latency
– Situacijoms, kur reikia labai dažnų API užklausų (nors nėra tiesioginių mokesčių, našumas gali būti apribojimas)
– Jei jums reikia AWS specifinių funkcijų kaip Lambda triggers, S3 Select, Glacier Deep Archive ir pan.
– Trumpalaikiam duomenų saugojimui (dėl 90 dienų minimumo)
– Jei jūsų infrastruktūra yra giliai integruota su AWS ekosistema ir migracija būtų per sudėtinga

Vienas realus pavyzdys: dirbau su klientu, kuris saugojo video surveillance įrašus. Jie turėjo apie 50 TB duomenų AWS S3, kas kainavo apie $1,200 per mėnesį tik už saugojimą, plius egress mokesčiai, kai reikėdavo peržiūrėti senus įrašus. Perkėlus į Wasabi, sąskaita nukrito iki apie $350 per mėnesį. Tai buvo no-brainer situacija.

Kitas atvejis: startup’as, kuris kūrė real-time analytics platformą, bandė naudoti Wasabi kaip primary storage. Susidūrė su našumo problemomis dėl didelio API užklausų kiekio ir latency. Grįžo prie AWS S3 su tinkamu caching layer. Čia Wasabi tiesiog nebuvo tinkamas įrankis darbui.

Ką ateitis žada Wasabi ir S3-compatible storage rinkai

Debesų saugyklos rinka sparčiai keičiasi, ir Wasabi yra tik vienas iš augančio skaičiaus „S3-compatible” tiekėjų. Yra Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Linode Object Storage ir kiti. Visi jie bando išnaudoti AWS dominuojančią poziciją siūlydami pigesnį, paprastesnį arba specifinėms nišoms pritaikytą produktą.

Wasabi atrodo, kad rimtai investuoja į augimą – plečia duomenų centrų tinklą, kuria partnerystes su backup ir storage software tiekėjais, tobulina produktą. Neseniai jie pridėjo naujų funkcijų, tokių kaip geresnė immutability parama ir išplėstinė analytics.

Tačiau konkurencija taip pat nemiega. Cloudflare R2, pavyzdžiui, žada visiškai jokių egress mokesčių be jokių apribojimų, kas gali būti game-changer tam tikroms aplikacijoms. Backblaze B2 siūlo dar pigesnę kainodarą ($6 už TB), nors su kai kuriais kompromisais funkcionalume.

Įdomu tai, kad AWS pati pradeda reaguoti į šią konkurenciją. Jie pradėjo siūlyti pigesnę S3 Intelligent-Tiering opciją ir sumažino kai kurias kainas. Tai rodo, kad alternatyvūs tiekėjai tikrai daro įtaką rinkai.

Mano nuomone, ateityje matysime dar didesnę fragmentaciją ir specializaciją. Galbūt Wasabi taps de facto standartu backup’ams, kažkas kitas – media streaming’ui, dar kitas – IoT duomenims. Multi-cloud strategijos taps norma, o ne išimtimi.

Taip pat tikėtina, kad S3 API taps dar labiau standartizuota, galbūt net formaliai, kas palengvins tarp-cloud migraciją ir hibridines architektūras. Jau dabar matome įrankius kaip MinIO, kurie leidžia sukurti S3-compatible storage on-premises, sudarydami tilto tarp private ir public cloud.

Verta stebėti ir tai, kaip vystysis edge computing ir regional data sovereignty reikalavimai. Tiekėjai, kurie galės pasiūlyti platų geografinį padengimą su lokalizuotais duomenų centrais (ir compliance), turės pranašumą. Wasabi čia turi ką pagerinti – jų regionų skaičius vis dar gana ribotas.

Galiausiai, AI ir machine learning workload’ai kelia naujus reikalavimus storage sprendimams. Reikia ne tik pigaus saugojimo, bet ir greito, efektyvaus duomenų apdorojimo, streaming capabilities, integracijos su ML frameworks. Bus įdomu matyti, kaip Wasabi ir panašūs tiekėjai prisitaikys prie šių poreikių.

Bet kokia būtų ateitis, viena aišku – monopolijos laikas debesų saugyklos rinkoje baigiasi. Tai gera žinia vartotojams: daugiau pasirinkimų, geresnės kainos, inovacijos. Wasabi yra geras pavyzdys, kaip nišinis žaidėjas gali sukurti vertę fokusavimasis į konkretų value proposition – paprastumą ir kainą – ir išnaudoti standartizuotą API ekosistemą. Ar jie taps ilgalaikiu lyderiu, ar tik dar vienu žaidėju rinkoje, parodys laikas, bet šiuo metu jie tikrai verti dėmesio bet kuriam IT specialistui ar įmonei, ieškančiai optimizuoti cloud storage kaštus.

Daugiau

WebAssembly: C++ kodas naršyklėje