Architect your solution, determine initial configuration/setup, create processes for deployment and rollback.

Identify Your Products and Solutions

System Architecture

Product Architecture

Opmantek's solutions are 3-tier applications comprised of a (shared) backend database, an application layer, and the presentation layer. While these can be decoupled and hosted on separate platforms, it is generally not necessary. In some rare situations, clients may benefit from hosting the Mongo DB on a separate server from the other applications.

Single-Server

Opmantek's solutions are designed to be deployed on a single server, as demonstrated by the Opmantek VM. However, how well this deployment will scale is dependant on several factors, including:

In most situations, the deciding factor limiting server scaling is the ability to read/write data to the storage device. Opmantek strongly recommends fast, local SSD over traditional hard drives.

Multiple Server, No High Availability

Opmantek's licensing is based on the total number of devices/interfaces being collected and not the number of servers deployed to do the collection. As a result, you can install Opmantek's products on multiple servers in order to spread the load. This results in lower resource requirements for each virtual machine (resulting in a lower probability of resource contention and oversubscription).

A common architecture for this is to split products onto separate servers by feature -

Multiple Server, w/High Availability

While this is the most flexible architectural option it does require a license of Opmantek's opHA module. This option provides the ability to scale collection horizontally across multiple Pollers, and then have those devices report up to one or more Master servers at the top-tier.

This architectural option should be considered in the following situations:

Document Architecture Decision

Now that you've selected your system architecture you should spend a moment to document your decision. You should include all relevant factors considered in making your decision, which subnets will be covered by each server, a generalized list of devices by manufacturer and model each server will monitor, and any network or device configurations required (i.e. SNMP/WMI credentials, network security changes, etc).


Server Sizing

Server sizing is both an art and a science. However, there is a good bit of math to throw in there when determining minimum storage requirements.

Server Resources (vCPU and RAM)

Open-AudIT (Windows or Linux installation)

NMIS8 (with no other modules on the server)

opCharts or opReports (with NMIS only)

opEvents (with NMIS only)

opConfig (with NMIS only)

opTrend (with NMIS only)

opFlow/opFlowSP

Single Server, All-In-One Deployment (Open-AudIT, NMIS, opCharts, opEvents, opConfig, opReports, opTrend)

Storage Requirements

The biggest limiting factor in server performance is disk IO. The system must be able to have unrestricted read/write access to the storage medium. Opmantek highly recommends the use of local SSD storage over traditional hard drives.

NMIS

Open-AudIT

opCharts, opReports, opEvents, opConfig, and opTrend

opHA

opFlow/opFlowSP

Opmantek Virtual Machine

Polling Server vs Master Server

Planning Deployment

Configuration

Common files and directory structures

NMIS

Open-AudIT, all OMK Modules

Thoughts

Product Upgrades

Opmantek uses an Agile development methodology in product development and releases several product updates every quarter. It is up to you as to how often these updates are installed, but we recommend at least a semiannual, if not quarterly basis in order to obtain the most recent features and bug fixes.

If you have started with the Opmantek Virtual Machine (VM) you should check the vm's /omk page for upgrade availability.

Server Maintenance

Product Upgrades only affect Opmantek products, and any components directly required. It does NOT update or patch the server OS, or third party applications like Apache or Mongo DB. You should make arrangements with your IT or server support team to manage server patching in accordance with your company's guidelines and expectations.

Next Up

Implement - Execute your plan, test, and validate the deployment.