Porównywasz dwie różne rzeczy. Apache Spark jest silnikiem obliczeniowym, podczas gdy wspomniane przez Ciebie rozwiązania Amazon i Microsoft oferują usługi. Te usługi mogą równie dobrze mieć Spark z MLlib za sceną. Pozwalają one zaoszczędzić na kłopotach z budowaniem usługi sieciowej, ale dodatkowo płacisz.
Liczba firm, takich jak Domino Data Lab, Cloudera lub IBM oferuje produkty, które można wdrożyć we własnym klastrze Spark i łatwo budować usługi wokół swoich modeli (z różnym stopniem elastyczności).
Oczywiście sam tworzysz usługę za pomocą różnych narzędzi open source. Które konkretnie? Wszystko zależy od tego, czego szukasz. Jak użytkownik powinien wchodzić w interakcję z modelem? Czy powinien istnieć jakiś interfejs użytkownika lub interfejs REST API? Czy chcesz zmienić niektóre parametry modelu lub samego modelu? Czy praca ma charakter bardziej partyjny czy w czasie rzeczywistym? Możesz oczywiście zbudować kompleksowe rozwiązanie, ale to będzie ogromny wysiłek.
Moja osobista rekomendacja to skorzystanie, jeśli możesz, z jednej z dostępnych usług Amazon, Google, Microsoft lub cokolwiek innego. Potrzebujesz wdrożenia na miejscu? Sprawdź Domino Data Lab, ich produkt jest dojrzały i pozwala na łatwą pracę z modelami (od budowy do wdrożenia). Cloudera koncentruje się bardziej na klastrze obliczeniowym (w tym na Sparku), ale minie trochę czasu, zanim dojdą do czegoś dojrzałego.
[EDYTOWANIE] Polecam przyjrzeć się Apache PredictionIO, serwerowi uczącemu się open source - niesamowity projekt z wieloma potencjalnymi możliwościami.
Chciałbym dać szansę iskrowi. Możesz buforować model (kompletny iskiernik nawet) łatwo i szybko odpowiedzieć na ML - odpowiednie zapytania, takie jak klasyfikacje lub zapytania. Daje także możliwość buforowania zagregowanych tabel i szybkiego zwracania json zawierających te dane lub ich części w celu wizualizacji lub dalszego przetwarzania w innej aplikacji. –