Check out the first Dataiku 8 Deep Dive focusing on Productivity on October 29th Read More

Automated deployment

Level 3
Level 3
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!

0 Kudos
2 Replies

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!

 

0 Kudos
Neuron
Neuron

@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 you

If 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). 

api_calls.PNG

** 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!!

 

 

0 Kudos