Infrastructure and web hosting
printIQ is a suite of web based applications that can be combined to provide a custom solution for each individual instance. The following information provides an overview of how it is built and then options for hosting it.
Under the hood
The front end printIQ is a web based application written in .NET. It is accessed via a web browser. Users do not need to have any software installed on their PC or Mac in order to operate the application. From a browser compatibility perspective, we support current versions of Chrome, Safari and Firefox on both PC and Mac.
The database printIQ makes extensive use of the backend database which is Microsoft SQL Server. The middle tier / business logic layers also resides in SQL Server on the basis that the application is data intensive. This is especially so with the pricing engine, so on that basis, the database is the most appropriate place for this to execute efficiently.
Reporting tools printIQ uses HTML (with a HTML to PDF converter) for its branded reports such as quotes and invoices. It then uses the Izenda reporting tool that is part of the native source code to complete adhoc report writing.
Security printIQ uses its own in-built forms based authentication model that is based on the standard .NET authentication model. It allows you to maintain your own user accounts. It is completely independent to the Windows / domain account that you may run internally and does not require a CAL. If required, printIQ supports LDAP integration and can also utilise a single sign on approach with authentication being provided by another line of business application.
Server Software licencing When hosting printIQ internally, there are two main licences to consider. You will need to have servers running Windows Server (Standard Edition is fine), SQL Server DB (Standard Edition or if you are having it hosted, you may qualify for Web Edition. Note that the Express edition is not supported).
Server requirements for hosting your own printIQ application
The hardware needed to support printIQ is dependent on the size and complexity of the print company along with the number of staff and customers that are using the application concurrently. At the low end, a single server running both the web and DB elements will be sufficient. At the other end of the scale, you may be better off with a dedicated DB server along with an internal and external web server. We recommend that you implement hardware in a way that can be upgraded to improve performance as usage grows.
When you host printIQ, there are 4 components; the web server upon which the application sits, the MS SQL Database, file storage to house your artwork and an artwork upload application that manages the transfer of files.
printIQ configuration diagram
printIQ Architecture Diagram - Azure
Server and Software Specs below to be reviewed Annually
Microsoft Windows Server 2019 / 2022 (Standard) + (Web/Management Server)
4/8 core processor
16/32GB+ RAM
System Drive : minimum 500GB - Drives should be SSD for best performance
Data Drive : minimum 2TB - Drives should be SSD for best performance (if CUI hosted on Web server, minimum size of 1TB for data drive).
If Artwork server resident on Web server : Artwork Storage Data Drive : minimum 1TB - Drives should be SSD for best performance
Note: We’ll also have an artwork CUI server running on a dedicated server or it may reside on your web server if you prefer. The downside with combining is that in some cases, large file uploads can affect application performance on the web server. In Azure, we run this as a shared server across all sites. It creates the artwork thumbnails and directs artwork files to the FTP server. If you decide to have a separate CUI Server, details are listed later in this document.
Microsoft Windows Server 2019 / 2022 (Standard) + (Database Server)
Microsoft SQL Server 2019+ (Standard+ and not Express)
SQL Server feature to be installed : 'SQL Server Full-text-search'
Data Drive : minimum 2TB - Drives should be SSD for best performance
4/8 core processor
16/32GB+ RAM
CUI Artwork server base line specs
Microsoft Windows Server 2019 / 2022 (Standard) + (Database Server)
4/8 core processor
16/32GB+ RAM
System Drive : minimum 500GB - Drives should be SSD for best performance
Data Drive : minimum 2TB - Drives should be SSD for best performance
Within printIQ, users will submit artwork and other supporting documents associated with their order. To support the sometimes large files, we operate an efficient and robust file transfer process.
The user uploads files from their device to the printIQ application. This is completed within the browser with no additional software or plug-in required to be installed client side.
The transfer is via HTTP or HTTPS directly to the printIQ artwork server.
A pass through takes place so that the PDF can be thumb nailed.
The artwork server then transfers the file directly to your file server via FTP or sFTP. Alternatively, it will transfer it to Azure cloud storage if you do not operate an FTP server.
The transfer process separates the file into smaller packets (for efficient transfer) with the artwork server re-assembling and checking the packets to ensure that files are not corrupted. Missing packets can then be re-transferred.
The transfer process takes the file directly from the browser to your FTP server over an SSL connection. The files do not pass through the printIQ application and are not stored in the database.
Required data store size for artwork is 250GB - 1TB (SSD drive for best performance) - depending on size of artwork files, how many jobs, and how often old files are archived off.
printIQ uses Windcave as its inbuilt credit card payment gateway. The solution is a hosted gateway delivered through an iFrame from within printIQ. The user stays within printIQ for the duration of the transaction. The approach means that printIQ is PCI compliant and neither handles or stores credit card information.
Ensuring that printIQ is a secure application
While the application is only as secure as the hardware that it sits upon, we take security seriously and have taken every step to ensure your application and data is secure.
For Azure hosted sites on the printIQ.com domain, we provide a SSL certificate. If you self-host you must supply us with your own domain and certificate.
File transfer is via HTTPS and optionally over sFTP
The application is secured by the standard Microsoft .NET Forms based authentication model with enforceable password strength options
printIQ support LDAP integration to authenticate to your Windows domain
printIQ supports ADFS (Federation Services) authentication for single sign on
Access can be limited via an IP address whitelist
There are 3 options for hosting the printIQ application. The best option comes down to your personal preference and expectations over application performance.
IQ hosts printIQ in the Microsoft Azure cloud hosting environment
The customer sources their own hosting either in-house or outsourced. This can be physical
or virtual hardware.
IQ hosts printIQ on a dedicated Microsoft Azure virtual server. This is a dedicated instance with no shared components
Note, printIQ can operate on an AWS platform but it needs to be a dedicated VM as the application is not optimised for AWS shared hosting. We would simply treat this as a standard outsourced server. In saying that, IQ is not AWS certified and all server configuration must be completed by the customer.
printIQ and Azure
printIQ is a certified Azure product which means that Microsoft has evaluated the printIQ and confirmed that it is suitable for use within the Azure environment. printIQ has been developed with Azure in mind and its architecture complies with the development principles of Azure. In addition IQ is a Microsoft Certified Partner and has been for 15 years.
Windows Azure is a cloud based hosting option that is a cost effective option for running printIQ. Effectively, it provides everything you need to run the software that we provide. The Azure environment is a specifically developed infrastructure for web applications. Azure currently operates 44 data centres worldwide with IQ utilising sites in North America and Australia
IQ provides web hosting sourced from Azure where we procure the service on your behalf. It is covered by a separate hosting agreement. As part of this agreement, IQ sets up the instance, manage the deployments and support the system on-going. Generally, cloud based hosting is quite specific and it takes time to master the environment. Given our experience and familiarity with Azure, it is our recommended option for this type of hosting.
Azure security information
While there are many options for setting up printIQ in Azure, IQ has designed a tailor-made solution that we believe optimises the operation of printIQ while at the same time, delivers web hosting services at a reasonable price point. On that note, if you would prefer a dedicated hosting plan, this is achieved through a VM option.
When we host printIQ in Azure, there are 4 components:
IQ operates a shared cluster of 3 web servers upon which the application resides. We do this for load balancing and redundancy.
From a database perspective, you then have a dedicated Azure SQL database that is only used for your printIQ instance. The DB is the critical component that determines performance (see options below)
We operate a shared cluster of 2 artwork servers that direct artwork from user’s browser directly to your FTP or cloud storage. This means that the transfer is efficient and does not pass through the printIQ application or IIS on the web server
File storage options range from your own FTP server (recommended) through to Azure cloud storage.
Azure offers numerous options for web and SQL Server hosting so you can create your own custom servers.