On this page

Service Networking

Guara Cloud provides internal communication between services in the same project and network isolation between different projects.

Internal communication

Services within the same project can communicate directly using the service name as a hostname. No configuration is needed — internal DNS resolution is automatic.

For example, if you have two services in the project myapp:

  • api (backend service)
  • worker (processing service)

The worker service can make requests to the api service using the internal name:

http://api:PORT

Where PORT is the port configured for the api service.

Service discovery environment variables

To make internal communication easier, Guara Cloud automatically injects environment variables for each sibling service. For example, if the worker service exists in your project, the api service will receive:

  • WORKER_HOST — internal hostname
  • WORKER_PORT — port number
  • WORKER_URL — full HTTP URL

This means you don’t need to hardcode hostnames or ports. See the Environment Variables page for full details and examples.

Network isolation

Services in different projects cannot communicate directly. Each project has its own isolated network, ensuring that one project does not interfere with another.

If you need services from different projects to communicate, they must do so through their public URLs (default subdomains or custom domains).

External traffic

All external traffic (coming from the internet) uses HTTPS. This includes:

  • Access via default subdomain (service-project.guaracloud.com)
  • Access via custom domains (app.example.com)

Guara Cloud manages TLS certificates automatically. You do not need to configure SSL or renew certificates manually.