Ľudia sa pýtali na bezpečný mechanizmus na výmenu súborov. Dnes s potešením oznamujeme nový open source modul fileservera. Ako najnovšia súčasť ekosystému Psono rieši viacero problémov:
A tu prichádza na rad Psono. Psono bolo navrhnuté s ohľadom na všetky tieto problémy a je extrémne flexibilné.
Dobre, ako to teda vyzerá pre používateľa? Jednoducho.
Dúfam, že to je dostatočne jednoduché.
Pod kapotou klient vykonáva o niečo zložitejšie kroky, no všetky sú pred používateľom skryté:
Týmto mechanizmom vieme vyriešiť problém akýchkoľvek veľkostí súborov, keďže sú súbory rozdelené na časti. Uploady môžeme distribuovať medzi rôzne servery, aj pri jednom súbore. Všetky súbory sú (ako všetko ostatné v Psono) zašifrované ešte pred opustením klienta a až potom odoslané na server.
Horná časť zobrazuje typické nastavenie. Relay server (jednoduchý reverse proxy) poskytuje niektoré statické súbory (webclient). Webclient je servovaný do prehliadača, ktorý potom volá REST API endpointy na serveri. Server používa databázu Postgres na ukladanie všetkých perzistentných dát. Psono Webclient a Psono Server možno považovať za bezstavové, všetky dáta sú uložené v databáze Postgres.
Ak chcete pripojiť fileserver, najskôr musíte na serveri vytvoriť konfiguráciu clusteru a shardu, ktorú potom použijete pri konfigurácii samotného fileservera. Po spustení sa fileserver automaticky zaregistruje a každých 10 sekúnd oznamuje svoju dostupnosť. Ak fileserver vypadne, server to rozpozná a prestane posielať klientov na nefunkčný server. Po jeho návrate sa automaticky zaregistruje a začne opäť prijímať požiadavky. Na obrázku vyššie sú všetky časti uložené v lokálnom úložisku a máme relay server (môže byť rovnaký ako ten pre bežný server a webclient v malých prostrediach) pre SSL offload.
Okrem lokálneho úložiska môžete použiť viacero storage backendov a dokonca ich medzi sebou kombinovať.
Momentálne sú podporované (okrem lokálneho úložiska) aj Amazon S3, GCP Cloud Storage a Azure Blob Storage.
Môžete použiť viacero fileserverov, napríklad na riešenie výkonových problémov spôsobených obmedzenou priepustnosťou. Môžete mať používateľov pracujúcich na diaľku, no v kancelárii je len slabé internetové pripojenie. Ďalším scenárom je ešte lepšia ochrana lokálnych súborov:
Nastavenie, ktoré rieši problém s výkonom a ponúka lepšiu izoláciu, môže vyzerať takto:
Toto nastavenie umožňuje obojsmerné zdieľanie všetkej komunikácie shardu "externý" medzi lokalitami, čím umožňuje externým používateľom nahrávať súbory, ktoré si potom môžu zamestnanci stiahnuť, a naopak.
Na druhej strane "on-premise" shard nie je nikdy synchronizovaný do vzdialenej lokality a zostáva lepšie chránený. Keďže súbory v "externom" sharde sú synchronizované len raz, ak sa zmenia, môže ich naraz sťahovať 100 zamestnancov bez nutnosti ich 100-násobného sťahovania zo vzdialenej lokality. Alebo ak nahráte súbor, môžete ho zdieľať so 100 externými osobami bez potreby 100-násobného uploadu.
Výhodu priepustnosti môžete využiť na prepojenie vzdialených lokalít aj pomocou podobného setupu:
V tomto zapojení má každá lokalita vlastný fileserver a všetky súbory sa medzi lokalitami zdieľajú. Zápisy idú iba do konkrétneho shardu, čím sa umožňuje jednosmerná synchronizácia každého shardu. Takéto nastavenie umožňuje ľuďom v New Yorku pristupovať k súborom bez akéhokoľvek oneskorenia.
Ďalším veľkým bodom je vyvažovanie záťaže (loadbalancing). Toto riešenie je vhodné, ak máte len pár zamestnancov, ktorí nevyčerpávajú priepustnosť servera. Ak máte 1 000 zamestnancov, ktorí pravidelne pristupujú k fileserveru, môže to viesť k priepustnostným limitom na jednom serveri. Našťastie aj tento scenár Psono zvládne. Tu sú dva spôsoby, ktoré fileserver od Psona ponúka na loadbalancing.
Možno už máte loadbalancer, ktorý chcete využiť, vtedy môže vaše nastavenie vyzerať nasledovne:
V tomto zapojení sa na SSL offload používa loadbalancer. Dva fileservery vzadu obsluhujú samotné požiadavky. Oba oznamujú ten istý shard, takže je potrebná ich synchronizácia alebo použitie zdieľaného úložiska. Na to môžete použiť GlusterFS alebo jednoduchý rsync.
Alternatívou je povoliť loadbalancovanie priamo klientovi, čo šetrí inštaláciu a náklady. Setup bez extra loadbalanceru môže vyzerať nasledovne.
Všetky tieto nastavenia je možné skladať (napr. 3 clustre po 2 servery), kde každý cluster obsluhuje ten istý shard a má pod sebou synchronizované (alebo zdieľané) úložisko.
Dúfam, že som vám dal dobrú predstavu o možnostiach nového a silného modulu fileservera v Psono.