services.do
Orchestrate Microservices Without the Complexity
Built-in service mesh with automatic discovery, intelligent routing, and distributed tracing across all services. Deploy multiple services that communicate seamlessly with <5ms inter-service latency, automatic failover, and coordinated rollouts. Zero Kubernetes, zero configuration, pure TypeScript across 300+ global edge locations.
import { Services } from 'services.do' // Orchestrate microservices with service meshconst platform = Services({ services: { api: { port: 8080, public: true }, auth: { port: 8081, internal: true }, payments: { port: 8082, internal: true } }, mesh: { tracing: true, retries: 3, timeout: '5s' }}) // Services communicate automaticallyplatform.api.on.POST('/orders', async $ => { const user = await $.Auth.verify.Token($.headers.authorization) const charge = await $.Payments.charge({ amount: $.total, customerId: user.id }) return $.Database.insert.Order({ userId: user.id, chargeId: charge.id })})
One of 48 primitives
services.do sits in Business: goals, plans and the work itself. Every .do shares one grammar, Business-as-Code, and one SDK.
Data
Records, vocabulary and search
Insight
Measure, test and trace
Frequently asked questions
Automatic service registration and discovery with zero configuration. Services find each other by name using semantic patterns ($.OtherService.method). Built-in DNS resolution, health checking, and automatic removal of unhealthy instances. Services can communicate across regions with intelligent routing to nearest healthy instance.
Mutual TLS (mTLS) encryption for all service-to-service communication. Automatic certificate generation, rotation, and validation. Service-level authentication with JWT tokens or API keys. Fine-grained authorization policies control which services can call which endpoints.
Built-in saga pattern for coordinating multi-service transactions with automatic compensation on failure. Two-phase commit support for ACID guarantees when needed. Event-driven choreography for loosely coupled services. Full transaction tracing shows exactly what happened across all services.
Yes. Route percentage of traffic to new versions for testing. Automatic rollback if error rates spike or latency increases. Coordinated deployments across dependent services. Feature flags control which services use new vs old versions of dependencies.
Distributed tracing automatically follows requests across all services with unique trace IDs. Real-time service mesh dashboard shows latency, error rates, and dependency graphs. Aggregate metrics across services or drill into individual service performance. Automatic anomaly detection alerts for degraded services.