docs.intersystems.com
Home  /  Application Development: Creating Productions  /  Preparing to Create Productions  /  Planning an InterSystems IRIS Server Deployment


Preparing to Create Productions
Planning an InterSystems IRIS Server Deployment
[Back] 
InterSystems: The power behind what matters   
Search:  


This chapter describes the major issues you must account for when deploying a production InterSystems IRIS™ server. Although the preceding chapters of this document cover some installation and deployment topics, they are intended for installing a development version of InterSystems IRIS. While those topics cover the mechanics of installation and deployment they do not cover many issues that are critical to deploying InterSystems IRIS on a production server in a robust and secure manner.
If you are responsible for planning an InterSystems IRIS server deployment, this chapter can serve as a checklist of items to plan for, although there will be additional items you will need to consider as well.
This checklist identifies some critical issues that must be dealt with to deploy a reliable, efficient, and maintainable InterSystems IRIS system, but does not attempt to provide detailed guidance on these issues. This document organizes the issues into the following checklists:
Capacity and Performance Checklist
The performance of an InterSystems IRIS server is measured by its ability to handle the peak message load. The performance of an InterSystems IRIS server is dependent on the complex interaction between many components and settings. The load of an InterSystems IRIS server is dependent chiefly on:
In many cases, the message load on an InterSystems IRIS system increases over time. This increase can be due to supporting more business functions in the production or by an increase in business volume. The capacity of a server to handle this load is dependent on a complex interaction between many components and configuration settings including number of CPU cores, multiprocessor architecture, storage size and speed, network bandwidth and configuration, operating system buffer allocation, and InterSystems IRIS configuration. There is no simple formula that can predict the performance of an InterSystems IRIS server because it is a complex interaction, but you can estimate, plan, prototype, and track performance to ensure that the InterSystems IRIS server is meeting your business needs.
To ensure that your InterSystems IRIS server has sufficient capacity and can efficiently handle its load, you should:
  1. Estimate load—What are the number of messages that the InterSystems IRIS system will process? Is the load going to gradually increase after starting the server? How long do messages need to be preserved before they can be archived and removed from server storage?
  2. Plan capacity—Planning skills depend on experience implementing similar InterSystems IRIS servers. If your organization does not have this experience, you should work with someone who has this experience: a consultant or an InterSystems Sales Engineer. You can contact InterSystems Worldwide Response Center (WRC) for a referral.
  3. Prototype server and load testing—Once you have estimated load and planned the needed capacity, it is important to run a prototype system and monitor its performance. The prototype should confirm your capacity plan and provide you with a baseline to compare performance of the deployed system.
  4. Plan disk layout for code and databases—By default all code and data created in an interoperability-enabled namespace are stored in the same database file. By mapping data to multiple database files, you can gain more control over where the data is stored, which can help with performance of high end systems as well as making it easier to upgrade to new versions. It is also important to store journal files on a different disk than the database files to ensure a disk failure doesn’t cause loss of data.
  5. Deploy server—Install and configure your live system including any redundant failover machines.
  6. Track load and performance—It is important to track the server performance to establish a baseline before there are any performance issues that need to be solved. You should collect metrics such as overall and peak message load, CPU utilization, disk free space, and average elapsed time to process a message.
  7. Solve performance problems before they become critical—By tracking performance and forecasting growth, you should be able to plan upgrades and efficiency improvements before performance problems become major roadblocks in your organization’s performance.
Robustness Checklist
Robustness is the ability of an InterSystems IRIS server to remain available and to be able to recover quickly from any disasters. Robustness is dependent on the following issues:
Security Checklist
Security is the ability to control access to data and to protect the server from malicious attacks. In addition to maintaining privacy for business reasons, there are often privacy compliance requirements. Potential attacks can be aimed at gaining access to confidential information, maliciously updating or deleting information, or compromising system performance. Security is dependent on the following issues:
Maintenance Checklist
In addition to ensuring that after deploying an InterSystems IRIS server, it robustly and securely handles its load, you need to ensure that it continues to perform well over time. You need procedures to handle updates to software and hardware and how to respond to unexpected demands. Maintenance is dependent on the following issues:
Other Resources
Although planning and deploying an InterSystems IRIS server is a challenging process, it is an easier process than trying to fix a critical InterSystems IRIS deployment that is in a troubled state. The documentation and class library documentation provides detailed information on features and installation. The following are key documents for deploying a server:
InterSystems provides the following resources to help you plan and deploy InterSystems IRIS: