AnsweredAssumed Answered

What are the best practices when using PI and AF in a DevOps environment?

Question asked by on Dec 19, 2016
Latest reply on Jan 18, 2017 by

We are moving into the DevOps world and we're wondering how we need to change our environment and workflow to handle this transition.  Here's where we currently are:


On the production side:

     one Windows 2012 server running AF 2016 (, PI Analysis Service, PI Web API, Notifications 2012.

     two additional Windows 2012 servers each running PI Data Archive 3.4.405.1198.


We have two separate SCADA system from different vendors, so it seemed best at the time to run two separate and distinct PI servers.


On the dev side, we have a similar set up, a Windows 2012 server running AF, PI Analysis, PI Web API, and Notifications, and 2 Windows 2012 servers running PI Data Archive. Our dev side PI tags are not synced with production. It can cause a bit of confusion at times. Our dev PI servers do not receive any data from SCADA. We copy production data down to our dev servers the best we can given that the tags don't quite match up.


We are not running HA on any of our PI servers.


We are starting to plan to completely duplicate our production side, including interfaces, so our part time AF and PI admins/full time developers can troubleshoot problems and develop piconfig, SQL script and powershell scripts to hand off to the Ops team to deploy on the real production side.


Our questions are:

* Is there anyone out there that is working in a DevOps manner?

* Are there DevOps tools we should be looking into that sync the real production servers with the clones used for troubleshooting?

* Our SCADA team changes tags all the time. Is there a good way to sync with them on changes?

* We started writing a tool for making corrections to PI data, but don't have quite enough resource to complete it. Are there tools other than SMT and scripting changes in SQL that allow for data corrections to be made that also create an audit trail of who made what change, when and why?