- รันแอป SaaS หลายตัวอยู่บนเซิร์ฟเวอร์ใหญ่เครื่องเดียวของ OVH Cloud
- ประมวลผลรีเควสต์ที่ไม่ถูกแคชประมาณ 6 ล้านครั้งต่อวัน
- แบ็กเอนด์คือ Django/Python + MySQL + Redis + WebSocket(Pub/sub)
- ความลับของฉันคือ OpenResty (Dynamic web platform based on NGINX and LuaJIT)
- ใช้ Lua script เพื่อจัดการ page caching ที่ซับซ้อน, ป้องกัน DDoS, จัดการเว็บซ็อกเก็ต และ offload รีเควสต์ที่รันระยะยาว
- เป็น "Cloudflare สำหรับคนงบน้อย" ที่ประกอบด้วยโค้ด Lua 1500 บรรทัด
- แอปเหล่านี้ถูกสร้างก่อนยุค Docker เลยรันเป็นโปรเซสตรง ๆ (systemd)
- ตอนแรกใช้ uwsgi แต่ gunicorn มีประสิทธิภาพดีกว่ามาก ตอนนี้เลยย้ายหมดแล้ว
- SPOF ของฉันคือ DNS ฉันมีความสัมพันธ์ที่ดีกับ DNSMadeEasy เลยไม่กังวลเรื่องโดนแบนอัตโนมัติ แต่ตอนนี้ DigiCert เข้าซื้อกิจการไปแล้ว เลยกลายเป็นปัญหา
- รับชำระเงินผ่าน Stripe และ Paypal ถึงจะไม่ชอบ Paypal ก็ต้องเพิ่มไว้ เพราะไม่รู้ว่า Stripe จะบล็อกโดยไม่เตือนเมื่อไร
- อัปโหลดของผู้ใช้จะถูกส่งผ่านเซิร์ฟเวอร์ aiohttp Python ไปยัง Wasabi และ Backblaze แล้วแคชที่ nginx ทำให้ค่า bandwidth บนคลาวด์เป็น 0
- เลเยอร์เว็บซ็อกเก็ตยังค่อนข้างไม่เสถียร ตอนแรกใช้ไลบรารี Python websocket asyncio จัดการทุกอย่าง ซึ่งก็พอใช้ได้ระดับหนึ่ง แต่พอต้องรองรับแบบหลายโปรเซสในภายหลังก็กินทรัพยากรมหาศาล
- เลยตัดสินใจใช้เว็บซ็อกเก็ตของ OpenResty แทน แต่ก็ไม่อยากเขียนโลจิกซับซ้อนเป็น Lua
- จึงเปลี่ยนให้ใช้ Redis Pub/Sub ส่งข้อความไปยังโปรเซส Python
- แต่ฉันจะไม่บอกชื่อบริการของฉันหรอกนะ (ไม่อยากมีคู่แข่งเพิ่ม!)
- ฉันมักจะเลือกตัวเลือกที่ไม่ค่อยดัง แต่คิดว่ามันช่วยให้ solo developer ทำงานได้มีประสิทธิภาพ
- PostgreSQL + SQLite
- ภาษาหลักคือ Rust
- ฟรอนต์เอนด์คือ htmx + tailwindcss
- โฮสติ้งใช้ CloudFlare + Vultr
- nginx + nixos + circle ci
- บางคนอาจไม่ชอบ แต่สำหรับฉันการเลือก Wordpress คือทางเลือกที่ดีที่สุด
- ฟอรัมใช้ bbPress
- คอมมูนิตี้ที่สมาชิกโพสต์กันเองใช้ buddyPress
- จดหมายข่าวใช้ปลั๊กอิน mailster.co ราคาย่อมเยา (ใช้ Critsend.com) แทน SaaS ราคาแพงมาก
- ฟีเจอร์ส่วนใหญ่ที่ต้องการมีปลั๊กอินให้ครบอยู่แล้ว: FAQ แบบค้นหาได้, Captcha, โฆษณา, โพสต์ไป Discord, ระบบรายงานผู้ใช้ ฯลฯ
- กำลังรัน https://rpgplayground.com/
- รันบริการ https://text-generator.io ที่เป็นคู่แข่งกับ OpenAI
- เดิมใช้ Kubernetes บน GCP แต่ตอนนี้ย้ายมารันด้วย GPU ที่บ้านผ่าน Cloudflare Tunnel ทำให้ต้นทุน GPU ถูกลง 10 เท่า
- วิเคราะห์ลิงก์หรือรูปภาพที่ป้อนเข้ามาด้วย Tesseract / Unified IO / OFA / Beautiful Soup ฯลฯ และตอบคำถามเกี่ยวกับภาพ/ใบเสร็จได้
- ตัวเว็บไซต์เองอยู่บน AppEngine ด้วย Python + Stripe + Firebase UI เลยมีค่าใช้จ่ายรายสัปดาห์ต่ำ
- โฮสต์อยู่บน Render
- กำลังรัน https://allaboutberlin.com
- รันด้วย Craft CMS บน Docker ของ DigitalOcean
- Craft ทำให้สร้าง custom post type พร้อม custom fields ได้ง่าย ซึ่งทำใน WordPress ได้ยาก
- แต่เพราะไม่ใช่ WordPress เลยไม่มีปลั๊กอินที่จำเป็นมากนัก
- ใช้ nginx ทำแคชและจัดการอีกหลายอย่าง
- ถ้าอยากทำงานได้มีประสิทธิภาพ ลอง PETAL ดู
- Phoenix + Elixir + Tailwind + Alpine.js + LiveView
- Rails + Postgres + Redis + SideKiq
- โฮสต์บน Herokus, ติดตามข้อผิดพลาดด้วย Sentry, มอนิเตอร์ประสิทธิภาพด้วย New Relic, อีเมลใช้ Send Grid
- เพิ่งเปลี่ยน Google Analytics เป็น Plausible และใช้ Ahoy(Rails Middleware) เพื่อทำการวิเคราะห์เชิงลึกภายใน
- ฝั่งซัพพอร์ต/แชตลูกค้าใช้งาน Intercom อยู่ แต่มีแผนจะเปลี่ยนเป็น Chatwoot
- กำลังจะย้ายออกจาก Heroku แต่ Render ซึ่งเป็นตัวเลือกยอดนิยมยังไม่มีตัวเลือก HA Postgres ที่ failover อัตโนมัติ
- ถ้า push ไปที่ master branch บน GitHub ก็จะ deploy production อัตโนมัติ
- merge เข้า master branch ได้ผ่าน PR เท่านั้น และต้องผ่าน Linter(Rubocop) + Tests(Rspec on CircleCI) + 100% coverage(codecov.io) เป็นสีเขียวทั้งหมด
- UI เป็น Bootstrap และกำลังเรนเดอร์ฝั่งเซิร์ฟเวอร์ด้วย JavaScript
- สำหรับ UI ที่ต้องมี interaction มากขึ้น กำลังชั่งใจระหว่าง Hotwire/Turbo vs. Alpine vs. Stimulus vs. React
- กำลังพัฒนาแพลตฟอร์ม Agtech
- แบ็กเอนด์: Rust, Rocket, sqlx, Postgres, Ansible เล็กน้อย
- ฟรอนต์เอนด์: Rescript + React ใช้ Rust/WASM ค่อนข้างเยอะ ซึ่งเป็นการตัดสินใจที่พลาด และกำลังพยายามย้อนกลับ
8 ความคิดเห็น
โห คนเดียวจัดการทั้งหมดนี้ได้ยังไงกันครับ/คะ สุดยอด
สงสัยมากเหมือนกันว่าการ offload คำขอเว็บที่ใช้เวลาประมวลผลนาน ๆ นี่เขาทำกันอย่างไร เพราะแทบไม่มีการอธิบายอะไรไว้เลย ^^;
Dammm
โห ใช้กันหลากหลายจริง ๆ,, ผมเพิ่งเคยเห็นการจับคู่แบบ PETAL แบบนี้ครั้งแรกเลย เยี่ยม
👍
บทความนี้มีประโยชน์มากจริง ๆ ขอบคุณมากครับ!
สแตกสถาปัตยกรรมของเทคสตาร์ทอัปที่มีนักพัฒนาเพียงคนเดียว
เทคสแตกของ Healthchecks.io ซึ่งเป็น SaaS ที่ดำเนินการคนเดียว
แนะนำเครื่องมือสำหรับนักพัฒนา SaaS ที่ทำงานคนเดียว
บริหารสตาร์ทอัปด้วยเงิน 6 ดอลลาร์ต่อปี
การดำเนินสตาร์ทอัปซอฟต์แวร์ด้วยความพยายามให้น้อยที่สุด
Stimulus + Turbo Frames - Hotwire : HTML Over The Wire
ลองดูโพสต์เก่า ๆ ที่เคยขึ้นบน HN ด้วย
ปี 2021 https://news.ycombinator.com/item?id=28299053
ปี 2020 https://news.ycombinator.com/item?id=25465582
ปี 2019 https://news.ycombinator.com/item?id=21024041