Languages, tooling, architecture and engineering practice.
Runtime, model format, hardware support, observability and upgrade path: the dependencies to check before committing to an LLM inference stack.