Aligning AI strategy and operations with technological solutions can be challenging, but it is definitely more efficient than re-building or patching infrastructure later. The planner should have a clear overall vision of the enterprise architecture and how AI fits in there. Keeping track of the technological landscape with potential business cases in mind is essential too.
Technically speaking, having AI/ML models in production requires data manipulation, model development and model deployment. These steps can be done in various environments and there are multiple approaches for them. Best practices are still evolving and they are often somewhat case specific.
For example, data manipulation can be carried out in the server environment, AI/ML notebooks or by using a cloud-based SaaS tool, such as Databricks available in Azure and AWS. Data science oriented programming is still very relevant, but the environment where modeling scripts are written is shifting towards SaaS as well. Emerging SaaS solutions for AI also provide computing capacity that is sometimes quite critical in data operations and model training.
Modern AI/ML model deployment is often performed by employing an API or a web service. APIs are queried with a certain set of parameters and the output is typically a prediction or recommendation. API-based model deployment has a lot of benefits, such as separation, maintenance and interactivity. There are, of course, out-of-the-box solutions for cloud deployments.
It is common to choose the correct tools separately for data manipulation, model development and deployment. A single SaaS solution can often handle all of these stages sufficiently in the scope of the project. However, it is not unusual to use AI tools in conjunction with one another. For instance, one might use Spark-based Databricks for data manipulation and model training and, on the contrary, handle model deployment in Azure ML Service.
Databricks is quite ideal for data manipulation and model training. It can manage heavy computation loads being still relatively flexible in terms of programming language support. There are also collaborative features associated with the software, which is important as there are more and more people involved in advanced analytics projects. However, the trained model would still be deployed as a web service with Azure ML Service in the joint implementation scenario. The approach allows efficient solution scaling. Azure ML Service has built-in model management and monitoring capabilities as well.
In summary, SaaS solutions have quickly become emphasized in the AI scene. Maintenance of SaaS solutions is often easier compared to tailored custom applications although ready solutions are not as flexible. If you are happy with the set of features provided by an AI SaaS solution, use of it definitely reduces the amount of development work required to reach something functional.