एकल-व्यक्ति SaaS Healthchecks.io का तकनीकी स्टैक
(blog.healthchecks.io)हार्डवेयर : Hetzner के 9 dedicated सर्वर उपयोग में : €484/माह
- 4 HAProxy, 3 web server, 2 Postgres
सॉफ़्टवेयर
- Ubuntu 20.04
- Systemd से services का संचालन : haproxy / nginx / postgres
- Wireguard से सर्वरों के बीच private networking. Tiering किया गया है, इसलिए HAProxy, Postgres से कनेक्ट नहीं कर सकता
- Netdata agent से machines/services की monitoring, और Netdata Cloud से जोड़कर पूरा overview देखना संभव
- HAProxy 2.2 से load balancing और rolling updates
- PostgreSQL 13 में Primary से Standby तक streaming replication. Automatic failover नहीं
→ single command से failover trigger किया जा सकता है, लेकिन इसे manually संभाला जाता है
ऐप सर्वर पर
- uWSGI से Healthchecks Python app चलाया जाता है
- Go में लिखा छोटा
hchkप्रोग्राम ping API और inbound email को संभालता है - NGINX से rate limiting, static files serving, reverse proxy (
uWSGIऔरhchk)
SaaS tools
- AWS S3 : DB backups स्टोर करना
- Braintree : payments और subscription management
- Cloudflare : DNS
- Elastic Email : transactional emails भेजना
- Fastmail : customer support emails प्राप्त/भेजना
- GitHub : version control और tracking, GitHub Actions से हर commit पर tests चलाना
- Hardypress : service blog चलाना (static WordPress hosting service)
- HetrixTools : uptime monitoring
- IcoMoon : icon font बनाना
- pgDash : PostgreSQL server monitoring
- PingPong : service status page चलाना
- SSLMate : command line से certificate provisioning संभव
- Syften : HN, Twitter, Reddit आदि में Healthchecks service का ज़िक्र होने पर alerts पाना
- Twillio : SMS भेजना, Whatsapp और phone alerts
Cron jobs
- दिन में एक बार पूरे DB का backup बनाकर,
gpgसे encrypt करके S3 पर upload - दिन में एक बार inactive users को deletion warning भेजना
- दिन में एक बार annual subscribers में से अगले 1 महीने में renew होने वालों को alert भेजना
डेवलपमेंट वातावरण
- desktop PC + 27-inch 1440p monitor
- Ubuntu 20.04 + GNOME shell
- Sublime Text + meld / Sublime Merge
- Yubikeys
- Fabric : deployment और maintenance tasks चलाना
- sops : secrets स्टोर करना
- emergency के लिए laptop
1 टिप्पणियां
अकेले SaaS को 1 साल चलाकर मैंने क्या सीखा
1-व्यक्ति SaaS डेवलपर के लिए टूल्स की सिफारिश
1-व्यक्ति SaaS startup चलाने के 6 महीने का रेट्रोस्पेक्टिव
1-व्यक्ति टेक startup का architecture stack