We have a demo system with PI Server and AF Server running on an single Azure SQL 2012 server. We want to add Coresight to the demo and would like to put it on the same server (2 nucleos, 3,5GB). Would that be possible/ advisable?
You should always be aware of the demo-effect: things running not so smooth as in a normal situation.
But for reference: i run a full PI stack (PI, AF, SQL, CoreSight, Notifications, Analytics, ACE, Manual Logger, CloudConnect and a whole bunch of PI user applications) on a VM with just a single CPU, 2,5Gb mem and 60Gb HDD on Windows Server 2008R2. It works, but just for some small-scale development work.
For a proper demo environment, i'd recommend more memory and more CPU, so 8Gb mem and 2 CPU is the least i'd suggest to start off with. Expand as you need.
If does take some PI and Windows knowledge to fit all components onto a single machine, so be careful about that! For customers, a test environment i typically consolidate on 3 to 4 servers.
Could you clarify where the PI and AF servers are running? Are they running on an Azure VM with 2 cores/3.5 GB? Is PIFD hosted on an Azure SQL DB? To confirm, you'd like to add the Coresight Web Application service to the same machine as PI/AF and host the Coresight DB on the same Azure SQL DB that hosts PIFD?
All of this should be possible. Azure SQL has some limited GUI management tools in my experience so make sure you know your way around SQL and Powershell scripting. Whether its advisable, it depends on the load on these servers and what else is installed. Since it's a demo, I'd imagine the current resources should be plenty.
To confirm: Yes, the PI and AF servers are running on an Azure VM with 2 cores/ 3.5GB. Yes, PIFD is on an Azure SQL DB and we'd like to put Coresight on the same machine and DB.
To clarify: this is an Azure VM which has SQL Server installed on it? (versus the other case of SQL Azure SaaS, which I don't believe is supported by AF.)
The Hardware Recommendations spreadsheet might give you a rough estimate of how much RAM is required per product. The memory requirements are largely tied to the amount of AF assets and PI tags that you have. In the case where everything is one machine - you have some competition for memory.
However, since your machine is in the cloud, I'd encourage you use that to your advantage. Make a rough guess of machine size, and then monitor the resources. The free version of the PI PerfMon interface can do this. Then, based on the data collected, you can make a much better decision about which VM size fits.
(Edit to add a big thing that deserved mention: I've used Azure extensively for some high-scale PI environments, and at the scale of millions of tags and assets, by far the biggest constraint has been hard disks. Disk IOPS don't scale on demand with machine size. Azure does offer machines backed by SSD, where the disks are significantly faster, but as of now this is still an order+ of magnitude fewer guaranteed IOPS than a good physical SSD attached to a local machine. You may have to plan accordingly, and Roger's advice below about using several machines is certainly a good way of doing so.)
Yes, this is an Azure VM with SQL Server on it. Will check out the PerfMon.
One way to get around the 500 IOPS per disk issue would be to attach multiple data disks in Azure and use Storage Pools in Windows Server 2012 R2 to multiply your IOPS. Alternatively you could move up to premium storage which caps out around 5K IOPS.
While it will be possible, if the standalone server is not part of a domain, you will have problems using the WebAPI without domain accounts, meaning the index service can't index your AF/PI servers, and Coresight becomes a bit useless without this functionality.
If there's a workaround for this I'd like to know it?!
Yes, we like to know it!
Hi Keilan, Roger,
In reference to Azure we've had pretty good success running domain controllers on A0 instances in Azure. So if there's not a requirement to function in a workgroup it's a relatively low cost option. Well, besides the time it takes to stand up and manage the DC, AD etc :-)
If you have any pointers on this, would be very grateful.
Just two quick ones for Azure -
1. Make sure your domain controller(s) are in a separate IP subnet from your VMs running PI Applications.
2. For any servers running PI Applications make sure you attach a data disk with a Host Cache of "None" and install the PI applications on the attached data disks.
Please let me know if you have any other specific questions regarding running PI applications in Azure. Thanks!
I have moved this to PI Visualization since it is not programming related.
Retrieving data ...