Snapshoty

Snapshoty

Před pár minutami jsme nasadili novinku, o které jsme přemýšleli už před lety. Jde o snapshoty, díky kterým můžete uložit stav vaší aplikace a kdykoli se k ní vrátit později.

S prvními commity jsme začali před asi měsícem. Node-API, což je služba, která běží na každém z našich nodů, dostala podporu už před dvěma týdny, ale mezi tím jsme ji ještě dvakrát přepisovali. Museli jsme totiž řešit situaci, že ke snapshotům přistupuje libovolný node a tak je složité něco cachovat nebo vytvářet indexy a tím udržet rychlost listování snapshotů.

Když backend zvládal snapshotovat, tak jsme se pustili do frontendu. Tam to nebylo nějak složité a nejkomplikovanější bylo upravit proces vytváření aplikace, aby počítal s tím, že aplikace může být vytvořena i ze snapshotu.

Když vytvoříte snapshot, uloží se obsah aplikace a metadata o ní do archivu. Při obnově se archiv vezme a vytvoří se úplně nová aplikace. Neukládáme ale nastavené domény, stav HTTPS ani balíček. Tyto parametry je potřeba upravit při obnovení.

Prozatím snapshoty nejsou účtovány, takže je můžete zkoušet zdarma. Chybí ještě pár věcí, které přibudou brzy. Jde o:

  • Podporu v API,
  • stránkování,
  • podporu v rostictl,
  • automatické zálohování,
  • možnost stažení snapshotu (i přes API),
  • obnovu existující aplikace.

Poslední bod určitě ještě chvíli potrvá, protože se chceme 100% ujistit, že vše funguje jak má a není tam bug, který by znehodnotil nějaká existující data.

Pokud jde o využití snapshotů, je jich celá řada:

  • Pravidelné zálohování,
  • záloha před smazáním aplikace,
  • záloha před nasazením nové verze kódu,
  • klonování aplikací,
  • forma šablonování aplikací.

Budeme moc rádi, když novou funkci vyzkoušíte a dáte nám vědět, pokud budete mít nějaký nápad, jak ji ještě vylepšit.

Během tohoto roku bychom ještě chtěli vytvořit snapshotování databází, které bude fungovat stejně jako tohle aplikační.