Automated deployment
Hi,
I'm new to dataiku and to model deployment. I've created a flow, automated it, deployed my model through the API Designer and API Deployer and everything works fine.
I was wondering if there is a way to make the creation of the API service and the deployment an automated step, so that when my scenario runs, if everything is ok, it proceeds with the deployment. I've read the documentation, but I couldn't find an answer.
Thank you in advance!
Answers
-
Ignacio_Toledo Dataiku DSS Core Designer, Dataiku DSS Core Concepts, Neuron 2020, Neuron, Registered, Dataiku Frontrunner Awards 2021 Finalist, Neuron 2021, Neuron 2022, Frontrunner 2022 Finalist, Frontrunner 2022 Winner, Dataiku Frontrunner Awards 2021 Participant, Frontrunner 2022 Participant, Neuron 2023 Posts: 415 Neuron
Hi! Have you checked the "Project Deployer" plugin? I know it won't give a final solution to your requirement, but it could be a nice starter perhaps.
Cheers!
-
tim-wright Partner, L2 Designer, Snowflake Advanced, Neuron 2020, Registered, Neuron 2021, Neuron 2022 Posts: 77 Partner
@ASten1
, This is a great question that I am also interested in. I am not aware of the plugin @Ignacio_Toledo
mentioned, but it very well may do some of this for youIf that does not do it for you, I'm fairly certain you can write some custom Python code using the dataiku APIs - though to be honest I'm not sure which ones.
Assuming you have a way to test "if everything is ok" (not sure what that means for you), you can configure a custom Python Scenario to run. In that custom scenario, you can hook into the Dataiku APIs to do everything programmatically (I think). I spent a while fooling around with the API and found some objects and methods that may be helpful (image below).
** I could not easily determine how to associate an actual model artifact with a Service object (prior to deployment). I think that the ".import_version" method on the service object might be useful, but not sure what you would import. I suspect you have to call some methods on the project to save out the model in an appropriate format. But don't really know. Lastly you need to pass some args to create the deployment (I did not, so that piece will raise an error). I think you eventually start the deployment by calling the "start_update" method but again, not 100% clear.
Let us know if you figure it out!!