Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Joyent’s Container Name Service Eases Service Discovery

Joyent’s Container Name Service Eases Service Discovery

Joyent announced the availability of their DNS service called Triton Container Name Service (CNS). It makes it easier for application clients and users to locate services as the servers hosting those services keep changing.

The servers in question here are Triton-controlled compute instances, which can be Docker containers, infrastructure containers (which function like bare metal VMs) and virtual machines. Triton CNS works by utilizing names and tags for Triton instances. A group of containers that provides a specific service share a tag and a CNS address record. This record is directly reachable over the internet.

Many modern applications have adopted the immutable infrastructure model, where updates to the application are pushed to brand new provisioned servers (or containers), which are brought online and the old ones are discarded. In most cases, the location of the newly deployed service changes and client applications have to locate it via the new addresses involving a manual configuration change. If DNS is used for service discovery then the DNS entry has to be updated first. This is cumbersome in environments where releases happen often.

Most applications will have their own domains hosted by a third party DNS service. In such cases, the custom domain can be mapped to the CNS record. A lookup would return one of the active containers that host that service. The CNS is aware of which containers are active since it’s tightly integrated with the Triton Container Service. As containers are added and removed, Triton’s CNS keeps track of them and returns only the active containers.

Immutable servers can also be achieved in other cloud providers albeit by other means. E.g. in AWS, an “elastic IP” is an IP address that can be assigned to any instance (AWS parlance for a virtual machine). When a new instance is ready, the elastic IP can be assigned to the new instance and no changes to service registries or DNS is required. A similar concept called "floating IPs" makes the same thing possible in OpenStack cloud deployments.

The CNS was proposed as a Request for Discussion (RFD) last year. Triton, the container management infrastructure, was also launched last year.


Rate this Article