General System Administration Information

System administrators can refer to the information in this page to prepare for company growth and expansion and understand the routine maintenance and tuning that should be performed to maintain optimal usability.

Growth and Expansion

System Deployment

Customers with less than 25 users may have deployed their web and SQL services on a single server. If a deployment grows beyond that point, scaling up often requires more resources than the original server can offer. The easiest way is to purchase a second server and move one of the services to it. If the customer is not using a virtualized environment yet, this presents an opportunity to set one up. There are lots of benefits to virtualization including failover, better management and reporting, server consolidation, and faster reboots on Patch Tuesday. Alternatively, instead of an upfront investment in infrastructure, a cloud provider can take care of managing the hardware and let you pay as you go. This is an attractive option for customers with multiple sites and mediocre Internet bandwidth.

Network Architecture

Gigabit Ethernet first arrived on the market in 1999 and by 2010 was cheap and ubiquitous in office environments. Companies who had invested in explosion-proof CAT-3 or CAT-5 cabling for their manufacturing areas have been slower to adopt Gigabit, but as factories become more automated and data-hungry applications assume faster connections, it has become imperative to upgrade to CAT-5A or CAT-6. Deacom runs best with a Gigabit or faster connection between the web server and SQL server. Network data traffic tends to arrive in bursts, so the infrastructure needs to be able to handle those bursts. If using voice-over-IP, small steady streams of time-sensitive data flowing alongside those bursts must also be contended with. Managed and stacking switches are great for this kind of mixed-traffic network, with 5Gb or 10Gb cross-connects and quality-of-service rules to keep the data flowing smoothly. It’s becoming more common to find larger companies using a 10Gb backbone to connect their servers, switches and network-attached storage while deploying 1Gb desktop connections.

Wireless networking continues to evolve with 802.11ac being the current standard to get more speed out of the 5GHz spectrum and 802.11ax soon to be approved. Wi-Fi in an office environment is straight-forward but it’s more challenging in a warehouse environment with metal shelves and metal cans blocking and reflecting the signal away from the receivers. On top of that, microwave ovens can interfere with the 2.4GHz spectrum and aircraft radar can interfere with the 5GHz spectrum. If there are reception problems, it is worthwhile to have a WiFi survey done by a specialist.

When there are multiple facilities and the company is hosting DEACOM at one of them, we recommend using a VPN to connect them together. VPNs enhance security by limiting exposure to the Internet and encrypting the data that travels across them. However, a VPN is not required, a public IP can still be used and firewall configured to only allow data from the other facilities. Web traffic is encrypted if using HTTPS, Automation Host traffic is compressed but not encrypted due to the low processing power on the devices.

Server specifications

For all requirements, refer to the Server Requirements page.

Maintenance and Tuning

SQL Server

It is important to keep current with Windows updates, SQL Server Service Packs, and Cumulative Updates are useful as well. Cumulative Updates contain improvements and fixes that are later rolled up into the Service Packs. Service Packs occasionally contain new features, such as SQL Server 2016 SP1 which introduced a new performance feature called a “persistent log buffer” that accelerates writing the transaction log to Storage Class Memory, typically a NVMe solid-state drive. Microsoft says that SQL Service Packs and Cumulative Updates can both be installed with the same level of confidence.

It is also important to periodically analyze server performance and identify bottlenecks. In larger environments, software packages like SolarWinds Server Monitor or Paessler Network Monitor are invaluable tools to watch all servers in real-time and notify system administrators of problems.

The Windows Resource Monitor gives a good overall view of a server’s performance and can let the viewer quickly identify which application is using excessive CPU, network or disk.

The Windows Performance Monitor gives more insight, especially into memory usage, with the numerous SQL counters installed. Deacom has found the most useful to be MSSQL Buffer Manager, Database, Locks and Memory Manager. Most of the counters are self-explanatory, and there are some great references online.

Finally, no server would be complete without a disaster recovery plan. Maintenance Plans can be setup in SQL Management Studio to backup databases, clear out old backups, reindex tables and update statistics. The backups are not very useful if they are left on the same drive array and it fails, so Windows Task Scheduler can be scheduled to run a script to copy the backups to another server or network-attached storage. Transaction log backups can be used to make low-impact backups throughout the day, followed by a full backup at the end of the day. Most enterprise backup software offers a SQL backup module which automates this process, and virtual machines can be imaged to restore them to a point in time. For even more safety, the backups can be uploaded to a cloud storage provider. After all of this has been setup, be sure to test it and make sure a database really can be recovered from the backups in a reasonable amount of time. More information can be found on the Database Backup and Database Restore pages.

Application Server

Just like the SQL Server, it is important to keep the application server up to date with Windows updates to mitigate security issues. As the front-facing server in any deployment, this server is most at-risk if it is open to the Internet. It is best to minimize the number of open ports through the firewall, ideally just opening 443 for HTTPS traffic. Even still, it will be constantly probed by web crawlers and more nefarious tools looking for any known vulnerabilities. Fortunately, a fully patched server is protected from these tools.

Monitoring CPU, RAM, and disk usage is another important aspect of maintaining the server. Just like with the SQL server, the Windows Resource Monitor is an essential tool, and automated monitoring in larger environments will save lots of time.

Backup software is essential for disaster recovery, whether it is the traditional file backups for physical servers or imaging virtual machines. Cloud backups can further augment recovery in the event a facility is severely damaged, with the provider sending a hard drive or NAS with the data on it in the event of total loss.

Additional DEACOM Environments

There are many scenarios that warrant having multiple Environments of DEACOM running. During an implementation process there could be some specialized Environments utilized in conjunction with Data Conversion and performing physical inventory counts during Go Live.

Using the Test System Builder to create a new test environment

The Deacom team recommends building and maintaining a test environment where new software versions and processes can be validated, and new functionality can be reviewed by power users. To help facilitate the use of test environments, the Deacom team built the test system builder utility.

Within the root DEACOM production directory resides the testsystembuilder.exe executable file. It is best to run this process from the host SQL server system so that the proper permissions are in place. Refer to the DEACOM Test System Builder page for the necessary information. After completing the test system builder process, validate that the DEACOM.ini file for the new test database is setup based on the information within DEACOM Help.

Running an update with the Log Out feature

The DEACOM Logout utility is used to log out all currently logged on users from the selected DEACOM system. This feature is particularly useful when performing updates. The function is accessed by running the logout.exe executable file contained in the DEACOM application folder. Before running the program it is best to utilize the View Active Users report, accessed by clicking the 'person" icon on the Main Menu, to see if any users may be actively in a transaction. If the logout function is used while a user is in the middle of a transaction, that transaction cannot be saved.

The logout utility will give the option of selecting which SQL Server instance to run against. By default, this will be set to the Server instance referenced in the deacom.ini file. Users are able to specify the SQL account to be used to run the program as well. Refer to the Asking the Right Questions About Updating page for full instructions on how to properly perform a DEACOM update.

Preventing users from logging in during an update

When running an update to DEACOM, the update utility places a file within the folder that the update is being run against called update.txt. A user attempting to log into DEACOM will receive a prompt stating “The system is being updated” and will not be able to log in. If users should be prevented from logging into DEACOM while performing other maintenance tasks on the system, a file can manually be created with this name. Just remember to remove it afterward! Refer to the Asking the Right Questions About Updating page for full instructions on how to properly perform a DEACOM update.

IT Ticket Reporting

The Ticket Reporting module in the DEACOM CRM menu can serve as an internal IT ticketing system. Note: This is separate from DEACOM’s internal issue tracker.

  • Tickets can be setup with a unique tracking number, category, primary contact and other field options.
  • Search fields and user fields are available to configure within a ticket.
  • Notes can be added to a ticket to track actions taken on a ticket that are outside of available fields.
  • Work flow is available on each ticket to track progress.
  • Documents can be attached directly to a ticket to be stored in the documents database.
  • Individual tickets can be assigned to multiple projects to group tickets in a similar work stream.
  • Multiple ticket and project report fields are available as part of a management pre-filter in the system.