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í:
- Pripojiť sa k WordPress stránke pomocou REST API (cez užívateľom generovaný API kľúč)
- Prehľadať všetky publikované stránky/príspevky, získať surový HTML (DOM)
- Extrahovať URL obrázkov a vytvoriť zoznam „použitých obrázkov“
- Porovnať tento zoznam s mediálnou knižnicou cez REST API
- 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
Vrstva | Stack |
---|---|
Frontend | Next.js alebo SvelteKit (voliteľne: Tailwind) |
Backend | AWS Lambda alebo Cloudflare Workers |
Autentifikácia | Supabase Auth alebo Firebase [5] |
Úložisko dát | PostgreSQL (Supabase, Neon, PlanetScale) |
Úložisko | S3 s politikami životného cyklu [2] |
Mediálny rozdiel | Porovnať wp-json/wp/v2/media s analyzovaným img[src] z HTML |
Obnovovací tok | Znovu 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:
Komponent | Odhad nákladov (mesačne) | Poznámky |
---|---|---|
AWS Lambda | Bezplatne 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ý email | Bezplatne 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.
Úloha | Odhadované hodiny |
---|---|
Frontend dashboard (základné MVP) | 20–30 |
REST API integrácia & mediálny rozdiel | 30–40 |
Úložisko + obnovovacia logika | 25–30 |
Autentifikácia, role, tok API kľúčov | 15–20 |
Admin nástroje, reporty, logy | 10–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.
V č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
- Ceny AWS Lambda
https://aws.amazon.com/lambda/pricing/ - Ceny Amazon S3 Standard Storage
https://aws.amazon.com/s3/pricing/ - Ceny Amazon S3 Glacier
https://aws.amazon.com/s3/storage-classes/glacier/ - Ceny Amazon S3 Glacier Deep Archive
https://aws.amazon.com/s3/storage-classes/glacier-deep-archive/ - Ceny Supabase
https://supabase.com/pricing - Dokumentácia AWS EventBridge
https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html - Dokumentácia AWS SQS
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html - Dokumentácia Google Cloud Tasks
https://cloud.google.com/tasks/docs - Ceny Resend Email
https://resend.com/pricing
Last modified: 6 mája, 2025