Vitajte v časti 6 našej série rozborov SaaS na verejnosti.

Pokryli sme:

  • Problém
  • Produkt
  • Trh
  • Ceny
  • Prví používatelia

Teraz je čas odpovedať na otázku:

„Ako by sme to vlastne postavili?“

Dobrá správa?
Môžete to postaviť bez pluginov, bez veľkých serverov a bez prekročenia rozpočtu.

Poďme to rozobrať.


Základný systémový tok

Produkt musí:

  1. Pripojiť sa k WordPress stránke pomocou REST API (cez užívateľom generovaný API kľúč)
  2. Prehľadať všetky publikované stránky/príspevky, získať surový HTML (DOM)
  3. Extrahovať URL obrázkov a vytvoriť zoznam „použitých obrázkov“
  4. Porovnať tento zoznam s mediálnou knižnicou cez REST API
  5. Odstrániť nepoužité obrázky cez API a uložiť ich na samostatný cloudový úložný priestor

To nie je úloha pre objemný server.
Je to úloha pre serverless architektúru.


Prečo má serverless zmysel

Platformy ako AWS Lambda, Cloudflare Workers alebo Vercel Functions vám umožňujú spúšťať kód na požiadanie — a platiť len za to, čo použijete [1].

Výhody:

  • Žiadne náklady na nečinnosť
  • Okamžitá škálovateľnosť
  • Menšie nasadzovacie jednotky (každá funkcia má jeden účel)

Náš backend by mohol byť zložený z mikro-funkcií:

  • Skenovať stránku
  • Extrahovať mediálne odkazy
  • Porovnať s knižnicou
  • Vykonať odstránenia
  • Nahrať do úložiska

Pre úložisko:

  • Amazon S3 na prvých 30 dní
  • Prechod životného cyklu na S3 Glacier, potom Deep Archive [2][3][4]

Prehľad technologického stacku

VrstvaStack
FrontendNext.js alebo SvelteKit (voliteľne: Tailwind)
BackendAWS Lambda alebo Cloudflare Workers
AutentifikáciaSupabase Auth alebo Firebase [5]
Úložisko dátPostgreSQL (Supabase, Neon, PlanetScale)
ÚložiskoS3 s politikami životného cyklu [2]
Mediálny rozdielPorovnať wp-json/wp/v2/media s analyzovaným img[src] z HTML
Obnovovací tokZnovu nahrať súbory cez /wp/v2/media endpoint, znovu vytvoriť variácie, ak je to potrebné

Voliteľné doplnky:

  • Plánované skeny cez AWS EventBridge [6]
  • Úlohy na pozadí cez AWS SQS [7] alebo Google Cloud Tasks [8]

Obnovovacia logika: Nie je to také ťažké

Áno, obnova súborov do mediálnej knižnice môže znieť zložito, ale je to zvládnuteľné.

Počas mazania by sme uložili:

  • Pôvodný súbor
  • Všetky generované veľkosti (náhľad, stredná, veľká…)
  • Relevantné metadáta (alt, názov, mime typ, voliteľne pôvodné ID prílohy)

Pri obnove:

  • Znovu nahrať súbory cez REST API
  • Umožniť systému znovu generovať chýbajúce veľkosti, ak je to potrebné
  • (Voliteľne) znovu priradiť súbor k príspevku alebo záznamu

Aj keď nie je vždy možné dokonalé mapovanie, obnovené súbory sú bezpečne späť v mediálnej knižnici — pripravené na opätovné použitie.


Odhady nákladov na infraštruktúru

Pozrime sa, koľko by to mohlo stáť v reálnych podmienkach. Toto nie sú abstrakcie — sú založené na publikovaných cenách od dôveryhodných poskytovateľov:

KomponentOdhad nákladov (mesačne)Poznámky
AWS LambdaBezplatne do 1M požiadaviek/mesiac [1]
S3 Standard (hot)~$0.023 za GB [2]
S3 Glacier~$0.004 za GB [3]
S3 Deep Archive~$0.00099 za GB [4]
Supabase (Auth + DB)Bezplatne až ~$25/mesiac [5]
Hosting (Vercel/Netlify)Bezplatná úroveň postačuje na MVP [6]
Transakčný emailBezplatne s Postmark/Resend dev plánom [9]

Realisticky by ste mohli prevádzkovať túto infraštruktúru za menej ako 30 € mesačne v počiatočných fázach.


Koľko času by to trvalo postaviť?

Poďme dať realistický odhad času v hodinách, za predpokladu skúseného full-stack tímu.

ÚlohaOdhadované hodiny
Frontend dashboard (základné MVP)20–30
REST API integrácia & mediálny rozdiel30–40
Úložisko + obnovovacia logika25–30
Autentifikácia, role, tok API kľúčov15–20
Admin nástroje, reporty, logy10–15
Celkový rozsah MVP~100–130 hodín

Poznámka: Toto sú čisto orientačné.
Skutočný čas vývoja závisí od zručností a štruktúry vášho tímu.
Práca so skúsenými vývojármi, ktorí rozumejú serverless, API-prvému mysleniu a interným procesom WordPressu, môže výrazne zlepšiť rýchlosť a kvalitu kódu.


Technologický kútik: Voliteľné nástroje, ktoré s vami rastú

Ak sa snažíte škálovať alebo automatizovať ešte viac, tieto technológie stoja za preskúmanie:

  • AWS EventBridge
    Používa sa na spúšťanie plánovaných udalostí, ako sú týždenné skeny alebo časované úložné akcie [6].
  • AWS SQS (Simple Queue Service)
    Užitočné pre frontovanie úloh, ako sú mazanie obrázkov, prechody úložiska alebo obnovy [7].
  • Google Cloud Tasks
    Alternatíva k SQS pre frontovanie a správu asynchrónnych úloh v Google Cloud [8].

Tieto služby nie sú povinné pre MVP, ale pomáhajú urobiť váš produkt škálovateľným, odolným a pripraveným na budúcnosť.


Záverečné myšlienky

Toto je klasický príklad „ľahkého, ale silného“ SaaS:

  • Malý rozsah
  • Skutočná hodnota
  • Nízke náklady
  • Vysoká páka

A s správnymi voľbami — serverless architektúra, jednoduchá REST API integrácia a automatizovaný životný cyklus úložiska — by ste to mohli postaviť za pár centov na dolár.

časti 7 zdieľame niečo iné:
Čo sme sa rozhodli nepostaviť a prečo preskočenie funkcií môže skutočne posilniť váš SaaS.

Zostaňte naladení.


Referencie

  1. Ceny AWS Lambda
    https://aws.amazon.com/lambda/pricing/
  2. Ceny Amazon S3 Standard Storage
    https://aws.amazon.com/s3/pricing/
  3. Ceny Amazon S3 Glacier
    https://aws.amazon.com/s3/storage-classes/glacier/
  4. Ceny Amazon S3 Glacier Deep Archive
    https://aws.amazon.com/s3/storage-classes/glacier-deep-archive/
  5. Ceny Supabase
    https://supabase.com/pricing
  6. Dokumentácia AWS EventBridge
    https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html
  7. Dokumentácia AWS SQS
    https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html
  8. Dokumentácia Google Cloud Tasks
    https://cloud.google.com/tasks/docs
  9. Ceny Resend Email
    https://resend.com/pricing

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Close Search Window