What's the motivation for hosting the application in Azure?
What authentication (Kerberos, Basic, Anonymous) are you planning to use with your Azure hosted application connecting against PI Web API?
Azure Active Directory allows to Sync with Windows Server Active Directory in your corporate network. This way Kerberos should be an option with your PI Web API based application.
What's your idea about the certificate to be used by this PI Web API instance? Are you planning to create a public DNS entry pointing to the IP address of this on-premise PI Web API endpoint?
Is your application executing queries against PI Web API Search Index?
Installing an additional PI Web API node for the purpose appears reasonable but I believe it should be installed in the office network rather than within the DMZ. To my understanding public access is required and offering access to a resource within a DMZ publicly doesn't appear right to me.
I don't have any experience with MS App Proxy and hence no idea how this could help with your use case. Sorry!
Thank you Gregor!
To answer your question:
- The primary motivation is to leverage Machine Learning feature in Azure and speed up development. Also, PI is only one of the data sources, and others are migrating to Azure as well.
- Current we're using Basic authentication on-premise. We do not plan to upgrade to Kerberos if we have to.
- Yes, my application is querying against PI Web API Search Index.
- MS App Proxy probably won't work for this case. After more research, I think what I need is just a Proxy on top of PI Web API.
1 of 1 people found this helpful
If the primary motivation is to leverage Machine Learning feature in Azure, I think you can consider the PI Integrator for Microsoft Azure or the PI Integrator 4BA.
I've thought about using PI Integrator for Azure/BA, but gave up because I want to keep using the integration code (written in Python) with PI Web API.
At the moment we do not want to have too much code changes.
I agree with Jaime. Leveraging the integrator in my opinion does 2 things for you:
1. Limits the need for custom coding. In your case it could possibly replace your Python code outright.
2. Removes the need for wonky architectures which I believe this proxy-ing approach introduces way more overhead than necessary. Its harder for all parties to support and maintain and OSIsoft doesn't really have a reference for customers doing this with the Web API.
From what I understand, PI Integrator for Azure is pretty new. How much mature and industry adoption is it?
Also, where is the PI data dumpling into Azure, Azure SQL or Data Lake?
Please allow me referring you to the PI Integrator for Microsoft Azure product Overview at Technical Support web.
Access to the product documentation is through the Downloads tab. Your question about how the data is stored in Azure is answered in the System Architecture chapter of the User Guide.
The first release was issued on 10-Nov-2016. Please see the corresponding page at PI System Roadmap. For limitations and known issues, please refer PI Integrator for Microsoft Azure 2016 R2 SP1 Release Notes.