28 पॉइंट द्वारा xguru 2022-05-30 | 1 टिप्पणियां | WhatsApp पर शेयर करें

हार्डवेयर : 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