Latest posts
How we deploy llama.cpp at PhotonSpark
Our llama.cpp deployment is built around llama-cpp-autodeploy: a small Python and web control plane that builds upstream llama.cpp, launches GGUF models, checks GPU memory, streams logs, recovers running servers, and keeps the operational surface readable.
TurboQuant and the KV cache problem
TurboQuant is a KV-cache compression technique from Google Research. The practical question is simple: can it buy enough context or concurrency to justify the latency cost on your own model server?
Kubernetes vs Docker Swarm: pick the platform you can operate
Kubernetes is the safer long-term choice when you are building a platform. Docker Swarm still makes sense for smaller teams that want multi-node Docker without taking on the full Kubernetes operating model.
Serving Qwen on two RTX 4090s: vLLM for traffic, llama.cpp for context
A dual RTX 4090 box can serve a useful private Qwen endpoint, but the serving stack should split the work: vLLM for concurrent traffic, llama.cpp for GGUF models, experiments, and long-context jobs.
When Docker Compose is the right answer
Docker Compose is still a strong production choice for small and medium stacks when one host is enough, the service boundary is clear, and the team values simple operations over platform sprawl.
Managed hosting vs raw VPS: what we actually do
Managed hosting only helps if the boundary is clear. Here is what PhotonSpark operates, what stays with your team, and how backups, access, email, uptime, and support fit together.
Private AI: what it actually costs
Private AI can beat hosted APIs when usage is steady, data has to stay controlled, or model access is part of the product. The real budget is hardware, power, hosting, and the person who owns the stack.
Anycast DNS without the magic
Anycast DNS helps when you want faster lookups and cleaner failure handling, but it is still BGP plus disciplined operations. Here is what it buys, what it does not, and why PhotonSpark runs it on AS216249.