CICD deployment for ADF with shared self hosted IR

Sabyasachi Dash 21 Reputation points
2020-09-14T10:30:53.357+00:00

Hello Guys,

I am trying to implement CICD pipeline for ADF. I have only two adf in same resource group and both need a self hosted integration services to connect on premises database. I was able to do all steps of cicd pipeline but during arm template deployment the process is getting terminated because self hosted integration runtime name is different and it needs same name to encrypt the connection.

We cannot give same name to IR because they both share same resource. IR name is not parameterized so it appears arm template not in arm template parameters file. So I can't override the parameter.

There is solution available in msft documents to follow ternary adf architecture. So this way third adf will only host IR and the rest two can share the resources and have same name.

Is there any way I can avoid this.

Any help or clue is appreciated.

Thanks!

Azure Data Factory
Azure Data Factory
An Azure service for ingesting, preparing, and transforming data at scale.
9,542 questions
0 comments No comments
{count} votes

Accepted answer
  1. MartinJaffer-MSFT 26,026 Reputation points
    2020-09-15T00:38:02.46+00:00

    Hello @Sabyasachi Dash , welcome to Microsoft Q&A and thank you for your question. Also, thank you for adding tag azure-data-factory. The tag adfs is for something unrelated.

    I am not confident there is an acceptable solution beyond the ternary architectures, but I am willing to give it a try. Let me tell you why it is difficult.

    Even if you were able to give both IR the same name, you would still run into trouble. This is because a Linked IR and Shared IR are different. One is the 'owner' of the SHIR, and the other is the 'borrower'. If you deployed one over the other, you would end up with 2 'owners' or 2 'borrowers'. There can only be 1 owner, and a borrower needs an owner to point to.

    My colleague has a workaround where he edits part of the template.
    I can look into whether the IR name can be parameterized, if you like, but as explained above, you would still run into another issue.

    p.s. I meant this as a comment, but Q&A is giving me a hard time.

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Sonam Jain 1 Reputation point Microsoft Employee
    2021-02-12T11:19:23.04+00:00

    Can you please detail me about the steps for setting up ternary architecture. I am looking for setting up shared integration runtime and came across this post. Would like to understand if there are any limitations with Shared self hosted Integration Runtime and is this supported through Azure DevOps CI/CD pipeline.