But the funny thing is that lock-in is very low in this space, at least for the actual ML part. 90-99% of the work in ML is in acquiring and cleaning the data, feature engineering and so on. Once you have your training data in good shape, the ML engine is basically pluggable - the only barrier to switching from Azure, Google, AWS etc is the cost of moving the data, if you store it "in the cloud" in the first place. The winner won't be the slickest API - it will be whoever makes it easiest to migrate your data in, whether that's a traditional DW, sensor data feeds or whatever. If you keep the data on-prem you could switch with relatively minor effort.