Hosting Guide
When opting for Perfion as your future PIM system, you will receive a solution that is yours to control. You don’t share a database or the application server with competitors, and you are given the freedom of choosing when and how to upgrade to newer versions.
If you have decided to go with Perfion as your single source of truth for product information, the next step is to decide how you want to deploy and run the solution. Many factors will influence this choice, and there is no single correct answer to fit all organizations. That’s why Perfion is open and can be run in several ways, depending on your organization’s requirements and existing landscape.
SaaS or Hosted
The first crucial question to answer, is who you want to take responsibility for the production environment.
One option is to let Perfion take care of everything, if you buy the software as a service. In this scenario, we will use our partnership with Microsoft to provide a 24/7 managed solution in Azure, providing fast scalability options and an SLA with one of the market’s highest availability guarantees.
The other option is to manage the hosting yourself, either in a corporate data center, or by using a hosting provider of own choice. In this case, there is still a wide range of different scenarios, and Azure could still be the technological platform, only not managed by Perfion.
For some organizations, purchasing the software and taking care of hosting under their own corporate wings, is the best option. This is especially the case if an existing hardware infrastructure is in place, or the internal staff is well-equipped to run Perfion from Azure/AWS/Oracle/Google or similar.
For others, ease of delivery and the time it takes to get started is essential. In that case, opt for a solution hosted and managed by Perfion, in which you only have to worry about taking good care of your data.
The following sections will provide a short description of the Perfion Azure hosted model, and then proceed to discuss general considerations for an on-premise Perfion.
The Perfion SaaS Offering
When choosing to let Perfion handle the hosting of your PIM solution, you will be benefitting from world-class virtual hardware provided by Microsoft Azure:
99.9%+ uptime
Dynamic scaling options
Best-in-class security measures
Before starting your project, we will discuss the complexity and size of your installation, to determine your “shoe size”, which will impact the running costs. Your solution can always be individually enhanced with added storage or other add-ons as requirements change.
Because your solution is all yours, the possibilities for integrations and network configuration are just as flexible as if you had your own hardware.
Connecting with an on-premise ERP system? Not a problem.
Integrating to a cloud-driven web shop? Also, not a problem.
Doubling the size of your solution after a merger? Now that is a problem (but one that we can fix in 15 minutes).
By default, if you choose to use Perfion as a service, you will have access to both web client and rich client (the rich client can be reached via RDP or a web gateway).
If you want to know more about how to run Perfion without worrying about hosting, contact your local sales representative.
Hosting Perfion: Considerations
Perfion consists of several components, which in theory can be hosted independently:
SQL Database
API Service
Windows Client
Web Client
Scheduler
E-Commerce Connector modules
ERP integration modules
Asset Portal
Supplier Portal
Not all components will necessarily be in use. But the solution will often also depend on some remote data from an external source, which adds another dimension to the decision of where to place each component.
The following sections describe some common scenarios, including pro’s and cons for each. Then, each of the components will be described separately in a little more detail.
Scenario 1: The On-premise Installation
For many small and mid-size organizations with an own IT organization, the most efficient way to utilize existing infrastructure is to install the database on a local SQL server managed by the IT department and have the Perfion Windows Client installed on each user’s PC. This is the simplest and most efficient setup possible.
Pros:
The client program is running on many individual PC’s à using the hardware resources which already exist.
The database is “close” à low latency for queries.
Con:
Potentially, remote data from cloud-based systems can slow down performance
Of course, more often than not, additional components come into play (API service for integrations, scheduler for time-triggered actions etc.). This doesn’t mean the on-premise option is not a good one – only that the IT department should be ready to support in this.
Scenario 2: The Hosted solution
Another common scenario is to team up with a trusted partner to take care of the hosting. Depending on the technology used by the data center, the pros and cons could be either similar to an on-premise installation or closer to the all-cloud scenario.
I there is a tight integration between Perfion and an ERP system, it is generally recommended to have these two systems hosted on the same platform (or at least in the network-wise vicinity of each other).
Usually, an external data center means professional monitoring and services, but at a higher cost than inhouse installation. It is often beneficial to establish a good interaction between the Perfion implementation partner and the provider of the data center services, to make sure everyone understands the full context that Perfion will be operating in.
Scenario 3: The Cloud Installation
If an organization has a committed cloud-only strategy, then hosting Perfion the same way seems logical. This is especially true, if ERP system and other PIM-relevant integrations are also located there.
In theory, all the large vendors are possible:
Microsoft Azure
Amazon Web Services
Google Cloud Platform
…
There is still a decision to be taken regarding the Perfion Windows Client (whether to host that also on virtual machines or let the locally installed program communicate with a cloud database).
Pros:
High uptime, flexible scalability
No inhouse hardware or personnel required
Con:
Total cost can become higher than for an on-premise installation
Can require expertise in the specific cloud platform (or a dedicated partner)
Component-specific considerations
Database
The one central component in all Perfion solutions, is the SQL database itself. Two main factors decide how well the database performs: Sizing and latency.
Sizing
It can be very difficult to predict the appropriate sizing of a Perfion database server. Configurations will vary on several parameters, which can all affect the sizing. Just to mention a few:
Number of items – generally, the higher the number, the more strain on the database
Size of binary files – if large files are used frequently, disks with fast I/O is important
Complex formulas and remotes can require additional queries pr. feature to be shown
Usage of “wide” searches or grid views with many columns
Configurations with deep hierarchies, many features dependencies, etc.
Intensive interaction with external systems via the API
…
There are some generic hardware requirements mentioned on the System Requirements page on the Perfion Knowledge Base, but we recommend making an individual judgment in collaboration with the Perfion partner.
And while it is our general recommendation that Perfion data is placed on a dedicated SQL server, it can often be a factor that other systems are using the same database, which makes sizing and performance monitoring even more complex.
Latency
In general, the closer (in terms of latency) the database is to the client program(s), the better the performance. In an on-premise setup, latency could be ~5ms, whereas a cloud provider or an external data center abroad could mean latency of several hundred ms.
In situations where multiple roundtrips are necessary (such as complex grid searches or complex tabs in the item editor), those difference will be multiplied and become substantial.
If there is indeed a severe bottleneck between database and the client software, consider placing the client on a virtual machine close to the database (since latency is less of an issue for transferring the image of an RDP window).
API Service
The IIS hosting the API, should ideally be placed very close to the database, since latency and data transfer performance are heavily dependent on the network between the two.
The API is seldom very dependent on the CPU and memory allocated to the IIS server itself. Of course, caching (especially of images) can be improved with more RAM, but there will often be a bigger benefit from boosting the database, rather than optimizing the IIS server. Standard monitoring tools can be used to see is there is indeed a bottleneck from an undersized IIS.
If the API is performing high-intensive image caching, e.g. for a website, it can sometimes be beneficial to install multiple API’s that are dedicated to specific tasks (e.g. one for E-commerce data and one for images).
Windows Client
The Perfion Windows Client is light weight, in the sense that it can run even from an older/smaller PC without any large performance deficit. See System Requirements for the general minimum requirements.
A typical user will have a memory consumption of less than ½ GB in normal use. However, there are special scenarios to consider. If a user needs to produce large catalogs, or work with very large datasets on-screen, then memory can become a factor in getting the best performance. This potential pitfall will be easy to identify via the Windows Task Manager.
Web Client
Using the Web Client, eliminates almost all requirements to the host device (except the requirement to have an updated browser installed).
On the server side, the same considerations as for the API service apply here.
Scheduler
If the scheduler is relevant as part of a Perfion solution landscape, it can be installed as a service on any server with access to the database, but often the choice falls on the same server as the API and/or web client. There is nothing making this a wrong choice, but CPU/memory consumption of the scheduler is completely dependent on which actions are scheduled to be performed. So, if many/large operations are scheduled, it can become relevant to consider offloading the scheduler to a separate server for best performance.
E-Commerce Connectors
Each of our standard E-Commerce Connectors involves setting up a dedicated service. As with the scheduler, this can be done on a shared server, because many use cases won’t require large hardware resources. But once again, actual usage may vary heavily and monitoring the connector during a test drive is always recommended to avoid problems down the line.
ERP Integration Modules
Installation of the Perfion ERP modules for Dynamics or SAP involves only a very small footprint in the ERP system. No special sizing requirements have to be considered. The only relevant thought would be whether the ERP users will put any additional strain on the Perfion API.
Asset Portal
The Perfion Asset Portal is a separate component and should generally be installed on a separate server. Converting/scaling images can be compute-intensive and for large video files also memory-consuming. But in normal use with only incremental changes/additions to the image/file libraries, requirements are low. See the separate requirements specification for the Asset Portal.
Supplier Portal
The Supplier Portal is a central SaaS solution, which means it is always hosted by Perfion (in Azure), and monitoring/scaling is done by Perfion.
Naturally, the actual transfer speed of data to/from the Perfion database will depend on the API and database of the individual customer (see above).
- 1 SaaS or Hosted
- 2 The Perfion SaaS Offering
- 3 Hosting Perfion: Considerations
- 4 Component-specific considerations
- 4.1 Database
- 4.2 API Service
- 4.3 Windows Client
- 4.4 Web Client
- 4.5 Scheduler
- 4.6 E-Commerce Connectors
- 4.7 ERP Integration Modules
- 4.8 Asset Portal
- 4.9 Supplier Portal