In a recent Platform Engineering community webinar, Thijs Feryn, Technical Evangelist at Varnish Software, delivered an in-depth exploration of how artifact caching and virtual registries can dramatically accelerate CI/CD pipelines and development workflows. If you missed the live session, you can watch the full recording below.
Thijs brings over 15 years of experience from the web hosting industry and has delivered more than 380 presentations across 26 countries. As a published author of "Getting Started with Varnish Cache" and "Varnish 6 by Example," he's a recognized authority on web performance, software scalability, and content delivery. His work spans technical evangelism through presentations, books, blog posts, and active contributions to open-source communities, particularly Varnish and PHP.
The artifact bottleneck problem
The average CI/CD pipeline spends between 20% and 40% of its time on dependency downloads. As Thijs explained, "Dependency downloads 20 to 40%. We probably must find a solution to accelerate that." This isn't just about raw speed—it's about organizational friction that compounds at scale.
To illustrate the concept of caching, Thijs used a memorable live demonstration. He asked his co-host Maria to calculate 5 × 3 × 4. The first time took about 5 seconds, the second attempt took 3 seconds, and by the third time, the answer came almost instantly. "That is caching for you ladies and gentlemen," Thijs noted. "It is storing something that otherwise takes a little bit of time, but keeping it memorizing the result rather than recomputing it every time."
Understanding artifacts and virtual registries
An artifact, as Thijs defined it, is "a dependency or a product of the software development process, and it helps you define and design and build and test and maintain a system." These can range from operating system packages (Alpine, RPM, Debian) to programming language dependencies (npm, Go, Rust, PHP, Java, Ruby) and container images.
A virtual registry serves as an abstract layer that sits between your CI/CD workers and the actual artifact registries. It provides caching, routing, security, and observability capabilities. As Thijs emphasized, "A registry is a collection of repositories and in our case, artifact repositories."
The shift toward internal acceleration
Thijs highlighted an important industry trend that began in 2024: "Instead of having to deal with tens of thousands of users, organizations are dealing maybe with hundreds of CI workers who are extremely demanding and for which latency is a very sensitive topic."
This shift represents a fundamental change in how we think about caching. Rather than accelerating content delivery to external users, organizations now need to optimize internal workflows. The challenges are different but equally critical:
- Performance and scalability: Organizations need predictable builds and deployments at scale
- Cost management: Egress fees, infrastructure costs, and license costs can become prohibitive
- Resilience: Cloud outages happen, and teams need offline mode capabilities to continue working
Real-world impact: The numbers speak
Thijs shared compelling data from organizations using virtual registries:
- A global financial institution found that nearly 50% of their CI latency came from artifact pulls alone, with backend CPUs sitting at 100% utilization
- A global SaaS platform discovered that 94% of its network traffic came from repeated artifact downloads across teams—representing 6.5 petabytes of data
- A major media service achieved 99% cache hit rates, with artifact requests never reaching the origins, and saw git clones become three times faster
One research institution working with gigabyte-sized Docker images saw NuGet package restore times drop from 3 minutes to just 1 minute, with latency cuts exceeding 60% and backend server pressure dropping by 70%.
Docker as a caching case study
Thijs provided a detailed technical walkthrough of Docker image caching. A standard Node.js image weighs in at 415.8 megabytes and has been downloaded over a billion times. When you execute a docker pull, the system performs multiple HTTP calls:
- Connects to a v2 endpoint for authentication
- Retrieves a manifest file listing all layers
- Downloads individual image layers
These layers are immutable and content-addressed, with filenames based on SHA-256 checksums. This makes them ideal for caching because if one byte changes, the filename changes entirely.
In a live demonstration, Thijs showed a Docker pull taking 51 seconds without caching. After deploying a virtual registry on localhost, the same pull with a warm cache took just 12 seconds—with most of that time spent on extraction rather than network transfer.
Hyper-localization: The key to success
The concept Thijs emphasized most strongly was "hyper-localization"—positioning artifact caches as close as possible to consumers. "It's not just localization, it's hyper localization," he stressed. "Being as close as possible to the consumer. Only then do you get the full value out of the artifact caching capability of a virtual registry."
For GitHub Actions, this means deploying self-hosted runners in the same Kubernetes cluster where your applications run. By using internal DNS names like varnish.default.svc.cluster.local, you eliminate external network hops entirely. "You're not going to the internet. You're not even accessing the local network. You're staying within the cluster and that is where the real value is," Thijs explained.
Handling private packages
One common concern is how virtual registries handle authentication for private packages. Thijs outlined an elegant solution: the virtual registry forwards authorization credentials to the artifact registry, piggybacking on existing access control policies. It then caches the authorization separately using lightweight HTTP GET calls.
"Authorizations are cached on a per user basis but are so lightweight that they hardly contain any data," Thijs explained. "But the artifacts themselves that they represent are only stored and cached once." This approach provides both security and efficiency.
Introducing Orca: A practical solution
Thijs announced Orca, a free virtual registry manager optimized for artifact caching. The product is deliberately free to create awareness about CI/CD challenges and artifact caching capabilities.
Getting started is straightforward. You can deploy Orca with a single Docker command:
docker run -d -p 80:80 --platform linux/amd64 varnish/orca
For Kubernetes deployments, Orca provides a Helm chart:
helm install varnish-orca oci://registry-1.docker.io/varnish/orca
The tool supports multiple artifact types out of the box, including Docker Hub, npm, Go modules, and Helm charts. Configuration is handled through a YAML file that allows you to define registries, set up routing rules, and configure caching behavior.
Platform engineering perspective
Thijs emphasized that artifact caching should be a core platform engineering capability. "As platform engineers, I would strongly advise you to make it a platform capability," he stated. "If CI/CD is part of your story, if artifacts are part of your story, which in most cases they are, make it a platform capability, integrate it into the platform from the start and place the caches close to the workloads."
The benefits extend beyond just speed:
- Observability: A single endpoint provides complete insight into artifact usage across your organization
- Governance: Centralized control over security policies and resource freshness
- Cost reduction: Dramatic decreases in egress charges and infrastructure costs
- Resilience: Offline mode capabilities ensure work continues during outages
Key takeaways
Artifact caching is critical for modern CI/CD: With 20-40% of pipeline time spent on dependency downloads, artifact caching isn't optional, it's essential for maintaining developer productivity and organizational efficiency at scale.
Hyper-localization delivers maximum value: Position your artifact caches as close as possible to your CI/CD workers and deployment targets. In-cluster caching can reduce download times from minutes to milliseconds while eliminating egress costs.
Make artifact caching a platform capability: Integrate virtual registries into your platform from the start. This provides centralized observability, governance, and cost control while simplifying the developer experience.
Start with free tools and measure impact: Solutions like Orca make it easy to experiment with artifact caching without upfront investment. Measure cache hit rates, latency improvements, and cost savings to quantify the value for your organization.
Think beyond Docker: While container images are an obvious use case, artifact caching applies to npm packages, Go modules, Helm charts, operating system packages, and even git repositories. Any HTTP-based artifact can benefit from caching.
Ready to accelerate your CI/CD pipelines? Visit varnish-software.com/orca to try Orca, or explore the GitHub repository for documentation and tutorials.
Join the Platform Engineering community and connect with peers on Slack and stay tuned for more events.

