One of the key goals for Dist is to make artifact repositories and container registries fast for developers and deployments no matter where they are located. Whilst performance in isolation is relatively easy to achieve we also wanted to ensure that it doesn’t come at the cost of our other key goals, those being simplicity, reliability and security.
To support these goals we built, deployed and constantly refine the Dist edge network. This blog post will firstly explore typical single and multi-region cloud-based approaches and then examine our edge network and the advantages it offers your development and operations teams.
An off-the-shelf self-hosted or cloud based artifact repository or container registry will usually reside in a single region. This leads to a trade-off that needs to be made in order to best optimize performance for both development and deployment environments.
Artifact repositories or container registries typically end up being placed in the same location as the production deployment. This placement leads to a slower development process and more time waiting for builds due to latency and Internet transit quality.
Tools that make use of artifact repositories or container registries often make many requests for small amounts of metadata. Geographical distance means longer roundtrip times and longer request times, and thus the drawbacks of a single region approach are especially noticeable if developers or test deployments are geographically far from the artifact repository.
Multi-region with replication
To improve performance and reliability, an extension to the single region approach is to introduce a process to replicate artifacts pushed to an artifact repository in the primary region to one or more artifact repositories in additional secondary regions. This approach can improve performance if you are able to place your replication targets in close proximity to both your development and deployment regions.
However it has a number of downsides that lead to complexity for your development and deployment workflows as you must now wait for replication (which is typically asynchronous and may require polling) to finish before consuming artifacts from a replica. Varying configurations for each environment you wish to produce or consume artifacts within are also needed, to point to the most appropriate replica.
Overall this approach is tedious and error-prone without careful attention to detail.
An edge network built for artifact repositories and container registries
In order to provide the best possible performance whilst also respecting our other key goals of simplicity, reliability and security we built and continue to refine our own Dist edge network.
This network is a collection of proxy cache edge nodes (typically called a CDN) that are optimized for artifact repository and container registry traffic patterns. These edge nodes are strategically located to maximize performance for both development and deployment environments based on usage data and feedback.
Our edge nodes are built exclusively to operate Dist which means your artifacts are not competing for space or bandwidth with other tenants as happens on shared CDN platforms. This control allows us to optimize for high cache hit rate of every artifact, irrespective of size.
The edge network supports our simplicity goal by providing customers with a single hostname or URL for their artifact repository that they can use in any environment with no need to configure and maintain replication or wait for completion. Artifact and container image uploads also use the same hostname and edge network to boost performance. Internally we use replication to ensure reliability and performance but we remove any need for you to be aware of this fact.
Performance is enhanced as requests are automatically serviced by the nearest available edge node, minimising roundtrip time. Reliability is also improved as we can re-route traffic to ensure customers can continue to develop and deploy their artifacts and container images in the event of any outages or maintenance events within our edge network.
We ensure the security of our service by encrypting all transit within and interacting with our edge network using industry standard TLS. Your artifacts are also encrypted at rest on our edge nodes for additional peace of mind.
Finally, our pricing is a simple flat-rate per-user model that was developed to encourage usage of our service without needing to concern yourself with optimizing usage patterns to lower expensive and hard to understand bandwidth pricing.
We encourage you to get started with Dist on a 30 day free trial and experience private artifact repositories and container registries that just work. Spend more time developing your own product instead of tweaking knobs and waiting for builds or deployments to complete.
Feedback or need help?
Our global edge network continues to evolve based on usage data and customer feedback. If you have any questions regarding our edge network and how it can help you and your organization, have specific location requirements or other questions or feedback we would love for you to contact us.