SOAPware® Hosted Service Architecture
SOAPware Hosted Services Architecture is foremost secure, secondly highly available, and thirdly reliable.
Diagram of overall Architecture
Security
Each Virtual Private Server (VPS) has unique usernames and passwords, all
managed with Windows Server 2003 security. Users connect across the Internet
using Windows Remote Desktop Connection (RDC), which protects their data with
industry-standard 128-bit encryption.
Each hardware node that the VPS runs on is equipped with real-time virus
protection.
A Cisco PIX firewall separates the hardware nodes and its hosted VPSes from the
Internet, allowing network traffic to pass through only port 3389, which is the
port used by RDC. This minimizes the VPS's exposure to attacks from outside the
firewall.
The MySQL* databases which store the Patient records are maintained on a
dedicated network that is independent of the VPS network. The data server
network is also protected by a PIX firewall, and it is only accessible from the
VPSes via an internal, non-routable* (private) IP address. These database
servers are available only to the VPSes, and only one unique port is available
for each individual VPS. Since only the database servers are in this independent
network, there is no outside network availability, and the only access is from
the server's console in the server room.
The secure server room is located behind two heavy-duty doors, and is equipped
with motion-activated cameras, electronic locks, physical locks and
motion-sensing alarms which are monitored by an independent security company.
There is no direct access to the server room from outside the building.
Availability
Access to the SOAPware VPSes is provided by two independent network connections:
primary connection for day-to-day operations, and a backup connection that can
be used in case the primary fails. The primary connection consists of two T1
data lines, bonded together via PGP. The backup connection is a business-grade
data line provided by COX Communications. Both lines run underground from the
utility service into the SOAPware server room. The demark (Demarcation Point)
are inside the server room. Information on network availability is available at
www.mysoapware.com .
As a backup power source, SOAPware, Inc. employs a new 100-Kilowatt generator,
which is capable of providing 24 hours of power before needing to be refueled.
As with the data lines, all power lines into the build, from both the utility
power company and the generator, are buried safely underground. In order to
ensure a smooth transition between utility power and generated power, all power
to the servers is conditioned with shielded transformers and APC uninterruptible
power supply (UPS) systems.
Reliability
Each VPS can run interchangeably on any one of four hardware nodes. Every 24
hours, a complete backup is made of each VPS, and copies of the backup are
stored on both the hardware node and an external USB drive. In the event of
hardware failure, a VPS can be restored to another available node from one of
the previous daily backups. In case a node needs to be taken offline for
maintenance, the VPSes running on that node can be migrated to any of the other
four nodes. Restoring a single VPS typically takes less than one hour (or
approximately 30 minutes for every 500 MB).
SOAPware Data and Patient records are not stored in the VPS itself. Instead,
they are stored on independent servers on an independent network. The data for
each VPS is stored on at least two distinct physical servers: one production
server and one replication server. A replication server makes an exact,
real-time copy of all changes made to data on the production server so that if
the production server fails, connections to the data can be rerouted to the
replication server. In most cases, the replication server should reflect the
state of the production data to within a few seconds of when the hardware
failure occurred.
Every 24 hours, the SOAPware VPSes and databases are backed up to independent
external USB drives, which are then stored offsite once a week in preparation
for the unlikely event of a catastrophic disaster. Because of all of the nodes
use only standard hardware, VPSes and MySQL databases can be quickly restored to
new off-site servers, thus minimizing recovery time should a disaster occur.
Definitions
VPS or Virtual Private Server - An operating environment that is autonomous to the OS, but not to hardware.
Node - Hardware that hosts virtual private servers. A Node may host one or more VPS's.
MySQL - A enterprise level SQL Database system.
Non-routable IP or a private IP address - An IP that can not be routed over the Internet without implicitly forwarding IP and ports with routers.