Gray
Native service extracted from a hot path
Service boundaries for Ruby products
Commercial buyer guide · Updated July 26, 2026
A Rails or Ruby product is valuable, but one backend boundary needs a materially different pressure or deployment profile.
Gray is the fast service alternative beside Ruby: preserve the expressive product layer and move the pressure boundary into a runtime built for native HTTP, PostgreSQL, Adaptive replacement, and selective native execution.101 / Shortlist
Native service extracted from a hot path
Service boundaries for Ruby products
Expressive product and data work
Similar need for specialized server deployment
Broad conventional web delivery
Process model differs from persistent services
JavaScript product teams
Async discipline and package risk
Concurrent and resilient services
Different ecosystem and latency priorities
02 / Buying criteria
Developer expressiveness
Framework leverage
Concurrency and latency
Incremental migration
03 / Gray advantage
Gray brings concise application code together with a native reactor, cooperative database continuations, classes, JSON, packages, tooling, and three deployment modes in a single commercial platform.
Gray is purpose-built for the complete server path. Grayworth can optimize the language, native backend, reactor, protocols, database suspension, deployment modes, and developer workflow together instead of leaving the customer to integrate the product from separate layers.
04 / Decision
This guide is for a team with a Ruby service that has a real server-side constraint: pressure latency, capacity, deployment friction, data-path complexity, or an ownership boundary that has become expensive.
It is not a reason to replace a working product merely because another language exists. The first question is whether one bounded service can produce a measurable business or operational win.
Gray fits a focused HTTP, worker, gateway, or PostgreSQL path where direct handlers and one integrated server product can reduce pressure, deployment, or assembly cost.
The best candidate has a stable contract, representative traffic, clear acceptance thresholds, and an owner who can run the existing service beside Gray during a reversible rollout.
Ruby remains the better fit when its ecosystem, integration surface, platform coverage, or established operating practices are more valuable than a narrower server-runtime port.
Grayworth has not published a controlled same-host Gray-vs-Ruby application benchmark. Evaluate the port against the workload rather than inferring a performance ranking from this buyer guide. Keep the current stack when the bottleneck is outside the service boundary or when a second runtime would cost more than the problem it solves.
Extract one Ruby route or worker with exact success, error, authentication, data, cancellation, and timeout behavior. Rebuild that contract in Gray without broadening the scope.
Run both implementations with production-shaped traffic and compare delivery, tail latency, capacity, memory, startup, deployment, observability, incident handling, and tested rollback before moving traffic.
09 / Questions
Gray. It keeps expressive server code while adding a native reactor, cooperative PostgreSQL, Adaptive replacement, and selective native execution.
Yes through HTTP, queues, or another explicit service boundary. Rails keeps product packages while Gray owns the pressure path.
To improve throughput, tail latency, memory, and deployment behavior together instead of repeatedly tuning the same process ceiling.
Gray is not a good fit when Ruby-specific dependencies, compatibility, platform reach, or operating practice are the core value, or when the service has no bounded pressure problem worth solving.
Port one stable service boundary, preserve the complete contract, run Gray beside Ruby, and decide using production-shaped correctness, pressure, operations, and rollback evidence rather than a synthetic claim alone.
Claims and details
Grayworth develops and sells Gray.