De hát végülis mi a bonyolult ezen - rosszabb esetben feldobunk egy plugint (khm... WordPress, khm...), ami vagy működik, vagy nem, jobb esetben esetleg beállítunk egy cronjob-ot, ami minden nap összecsomagolja a kis weboldalunkat, és elteszi ugyanott (vagy egy másik VPS-ünkön) mondjuk egy backups mappába, ahol csak gyűlik és gyűlik a sok zip fájl. Na de mi van akkor, ha elszáll a szolgáltató adott szerverterme vagy csak simán le kell lőnünk a backupos VPS-t? Vagy ha elfogy a szabad hely a szerveren (ráadásul ha a VPS tárhelyét kell bővíteni, akkor az drágább is), és megáll a teljes alkalmazás/weboldal, mert nem maradt semmilyen hely, ahova dolgozhatna? Hátőőő... ugye.
Egy jó ötlet lehet a szervertől független helyre pakolászni ezeket a mentéseket, na de hova? Elsőre eszünkbe juthatna a Google Drive, esetleg a Dropbox - viszont itt bekattanhat az OCD-nk, hogy egyrészt mit keres a privát tárhelyünkön munkahelyi cucc, vagy mi lesz, ha mondjuk véletlenül letöröljük (de ha nem mi, akkor a telefonunkhoz hozzáférő) a mentéseket, esetleg ott is elfogy a tárhelyünk, meg persze hogyan osztjuk meg az adatokat az ügyféllel - szóval igen, szívás. De ne aggódj, mert van "normális" megoldás, amit most meg is mutatok neked.
A Terv
A kirakós fő összetevője (a VPS-ek mellett) a DigitalOcean Spaces nevű szolgáltatása, ami nem más, mint egy S3 kompatibilis object storage - hogy mi?! Menjünk szépen sorjában, hogy mi mit jelent:
- S3 kompatibilis: vagyis az Amazon S3 nevű szolgáltatásának API-jával kompatibilis. Ez azt jelenti, hogy - legalábbis elméletileg - az összes dokumentáció, amit az S3-hoz használni lehet, és az összes program, ami az Amazon S3-at használja, szinte fájdalommentesen átállítható Amazon S3-ról DigitalOcean Spaces-re, "csak" a kapcsolódási adatokat kell "átírni".
- object storage: struktúrálatlan adat blob-ok (binary large object) formájában menti el és nyeri vissza az adatokat ahelyett, hogy fájlokként tenné ugyanezt, egy HTTP API-n keresztül. Ettől sem lettünk sokkal tájékozottabbak, ezért javaslom, hogy nézz rá erre a bejegyzésre, ami részletezi, hogy mi a különbség a block és az object storage között. Nekünk legyen elég egyelőre annyi, hogy webes biztonsági mentésre az object storage a nyerő.
Fontos: a cikk feltételezi egy működő VPS létezését, amit nagyrészt az én útmutatóim alapján állítottál be:
- Docker alapú VPS tárhely éles környezetben
- Docker és Traefik beállítása staging szerveren
- Egy staging VPS alapbeállítása lépésről-lépésre
Persze nem kötelező ezek szerint menni, de feltételezem, hogy az ezekben a bejegyzésekben foglalt tennivalókat megtetted és úgy, ahogyan ott írom őket. Ha nem, akkor értelemszerűen változtatnod kell az alábbiakon is, az eltéréseknek megfelelően!
Árazás
Egy fontos tényező az árazás, ami a Spaces esetében szerintem kifejezetten kedvező: van egy alapdíj, ami havi 5 dollár, ebben benne van:
- 250GB tárhely,
- 1TB kimenő adatforgalom,
- korlátlan feltöltés,
- korlátlan "Space",
ha pedig túllépjük az "alapcsomagban" szereplő mennyiséget, akkor azon felül 0.02 dollár/GB (vagyis 250 GB/5 dollár, de gigánként számolva). Ezzel nagyon kedvezően tudunk nagymennyiségű adatot tárolni, biztonságosan, miközben nem kell az infrastruktúráról gondoskodnunk.