You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### 💡 Why Rullst Saves Over 90% in Cloud Infrastructure:
22
22
1.**No Garbage Collection (GC) or JIT Runtime:** Rullst compiles directly to native machine code. There is no JVM or Python interpreter consuming hundreds of megabytes just to stay idle.
23
-
2.**True Scale-to-Zero:**Because a Rullst container boots from zero in less than 50 milliseconds, you can aggressively configure replicas to drop to `0` when idle. When a visitor arrives, Azure wakes up the container in ~1 second, completely imperceptible to human browsing.
23
+
2.**Scale-to-Zero with a Tradeoff:**The Rullst process starts quickly, but an Azure cold start also includes image availability, resource provisioning, container creation, initialization and health probes. The first request after an idle period can therefore be visibly slower and may briefly look unavailable. This is not guaranteed to be a one-second or imperceptible transition.
24
24
3.**Massive Density:** On a single server or cloud plan, you can run 10x more Rullst microservices or tenant sites than equivalent Spring Boot or Django instances.
25
25
26
26
---
@@ -32,12 +32,37 @@ Why is Rullst the ultimate framework for serverless and cost-conscious cloud dep
32
32
|**Idle Cost**| 💰 Charges **24/7**, even with 0 visitors (~$10–$15/mo). Depletes student credits in a few months. | 🟢 **$0.00** when idle (**Scale-to-Zero**). Replicas automatically shut down when traffic stops. | Rullst uses zero idle CPU/RAM when scaled to zero. |
33
33
|**Monthly Free Grant**| ❌ Limited or expired free VM hours. | 🎁 **180,000 vCPU-seconds**, **360,000 GiB-seconds**, and **2,000,000 requests/month FREE**. | Your $100 credit lasts the **full 12 months** without depletion. |
34
34
|**Regional Availability**| ⚠️ Frequent allocation failures in student accounts (*"QuotaExceeded"* / *"Regional capacity exhausted"* in `East US`, etc.). | ✅ Runs on Microsoft's elastic serverless fleet. No dedicated hardware reservation required. | Deploys reliably across regions without quota friction. |
35
-
|**Cold-Start Latency**| N/A (always on). |~1–2 seconds to wake up from zero. |Pure native Rust binary boots in **< 50ms**. Cold starts are imperceptible compared to Node.js/Python (10–30s). |
35
+
|**Cold-Start Latency**| N/A (always on). |Variable and user-visible when waking from zero; it includes platform work beyond process startup. |The native Rust process starts quickly, but cannot eliminate Azure provisioning, image and probe latency. |
36
36
|**OS Maintenance**| 🛠️ Manual: `apt upgrade`, SSH keys, Linux kernel patches, UFW firewall, systemd services. | 🛡️ Fully managed by Azure. Zero OS patching or infrastructure burden. | Focus purely on your Rust application and business logic. |
37
37
|**TLS / HTTPS**| 🔐 Manual Let's Encrypt certbot setup and renewal cron jobs. | 🔒 **Automatic managed TLS/SSL certificate** with global Anycast routing. | Instant, zero-config HTTPS with custom domain support. |
38
38
39
39
---
40
40
41
+
## Scale-to-Zero Cold-Start Notice
42
+
43
+
These examples use **minimum replicas = 0** to preserve the Azure for Students
44
+
budget. After an idle period, the next request starts a cold container. During
45
+
that interval the browser may wait longer than usual or briefly show a gateway,
46
+
connection or apparently broken-link error. Wait a few seconds and reload once.
47
+
If the site remains unavailable, inspect the active revision, replica status,
48
+
startup/readiness probes and container logs instead of assuming it is only cold.
49
+
50
+
The Rullst binary's process startup time is only one component of the end-to-end
51
+
cold start. Microsoft documents that scale-to-zero makes the next request trigger
52
+
image/resource provisioning and application startup, and recommends client-side
53
+
accommodations. See [Reducing cold-start time on Azure Container Apps](https://learn.microsoft.com/azure/container-apps/cold-start).
54
+
55
+
For a user-facing service where first-request latency matters more than idle
56
+
cost, configure **minimum replicas = 1**. This keeps an instance available but
57
+
can incur idle charges. See [Scaling in Azure Container Apps](https://learn.microsoft.com/azure/container-apps/scale-app).
58
+
59
+
This cold-start behavior is separate from revision rollout. In single-revision
60
+
mode, Azure keeps the previous revision serving traffic until the new revision
61
+
passes its startup and readiness checks; an app configured with zero minimum
62
+
replicas can still cold-start later after becoming idle.
63
+
64
+
---
65
+
41
66
## 🔒 Security Invariants & Production Defaults (Fail-Closed Architecture)
42
67
43
68
When deploying Rullst applications to production, the framework enforces **Secure-by-Default (Fail-Closed)** invariants:
-**Revision Rollout:**In single-revision mode, Azure keeps the previous healthy revision serving until the new revision passes startup and readiness checks. This does not remove later scale-to-zero cold starts.
0 commit comments