Goal: Deploy the same small model two ways — as a standalone Ray Serve application and as a RayService on a local Kubernetes cluster via the KubeRay operator — then load-test both to observe autoscaling behavior and compare the developer experience. All tools used are free and run locally; no GPU or cloud account is required. Steps:
pip install "ray[serve]". Verify with ray --version.concurrent.futures or a simple loop using requests/httpx) that fires 20–50 concurrent requests at your endpoint. Record response times and observe request routing across replicas in the Ray dashboard.num_replicas in your Ray Serve deployment config (try 1, then 2, then 4) and re-run your load test after each change. Record how latency and throughput shift as you add replicas.kind or minikube to create a free local cluster (kind create cluster or minikube start).RayService custom resource manifest that serves the same (or an equivalently small) model, following the official Ray-on-Kubernetes and KubeRay examples.kubectl port-forward or the exposed service) and record the same latency/throughput metrics.Deliverables: Submit (a) your Ray Serve deployment code and RayService YAML manifest, (b) your load-test script, (c) a results table or chart showing latency/throughput at each replica count for both deployment methods, and (d) a 300–500 word written comparison of the two developer experiences, submitted as a file upload or text entry.