[GIS] Recommended ArcGIS Server and RDBMS layout on these two machines

arcgis-serverhardwareinfrastructure

We're looking at setting up ArcGIS Server with Postgres for the RDBMS. We have two machines, one aging and a new hotness. What is the best implementation strategy with these resources? Should we put both Server and Postgres on the new machine, put both on both machines, Server on new and Postgres on old, Postgres on new Server on old? …or something else entirely?

Old and not yet busted:

Year: 2008  
CPU: 2x Dual-core Opteron 2.8GHz  
RAM: 64GB   
Network: 2x 1Gbps  
Storage: 1.3TB in RAID 5 (6x 280GB 15K rpm serial SCSI)  
OS: Windows Server 2003 x64 (upgrade to Server 2012 planned)

New hotness:

Year: 2014
CPU: 1x 8-core @2Ghz (Xeon E5-2640 v2)
RAM: 16GB (2x 8GB 1600Mhz DDR3L)
Network: 2x 1Gbps
Storage: 3.6TB in RAID 5+0 (6x 900GB 10k rpm serial scsi)*
OS: Windows Server 2012 x64

Storage: this is projected and open to change, we haven't purchased the drives yet.

File resources which will be put into the RDBMS. Expected data growth rate: 15%/yr (but really, we have no idea):

File-gdb:   15gb
Rasters:  1000gb (includes overviews)

Internal users, same subnet, mostly gigabit:

  • 6 to 10 active daily use ArcGIS Desktop users drawing from the data,
    mostly read operations, pulling from the central repository for base
    maps and shared data, adding their own stuff from elsewhere.

  • 2 to 3 data editors, but this happens rarely, once a week perhaps.

  • 25-50 readers, currently using ArcReader but looking to migrate to
    web maps (a major reason we're implementing ArcGIS Server to begin
    with).

Projected purpose of ArcGIS Server + RDBMS:

  • primary daily use warehouse for the users mentioned above
  • Master server for geodatabase replication to district offices
  • development and learning area for web maps and services which will eventually be migrated to outside firewall for public consumption (which is ArcGIS Server + Oracle)
  • (ArcGIS Portal?)

We have whatever licenses for ArcGIS Server needed (from Basic to Enterprise Advanced), but not for Oracle or SQL Server, hence the Postgres for RDBMS specification.

There is no Sys Admin IT or DBA staff to dedicate to setting up and maintaining these machines and services, that will be handled by a GIS person who still needs to allocate most of his/her time to regular ol' GIS. (guess who?) This is a preface to saying the solution that makes best use of the hard and software is not necessarily the optimal solution, please keep administrative overhead in mind.

Best Answer

One thing I've learned over the years is that there isn't a "right" architecture but there are bad one.

In your case, decisions have already been made for you in regards to hardware/resources, which as it turns out seems like two viable options for the required capacity (i.e. you could host everything from either machine and you should have good performance). Nonetheless, I favor utilizing both resources among your users, since (1) they are available and (2) provide more scalebility for the future. I am making the following assumptions:

  • You only need a production environment (but you can have VMs to run the respective component on each machine for DEV, TEST, PROD)
  • Your 25-50 users don't need to see the changes instantly (i.e. daily update is sufficient)

Having said that, here is my recommendation:

Old Server: Database server

  • Upgraded to Windows Server 2012
  • PostgreSQL Database
  • File geodatabase with mosaic dataset to store raster data
  • Will host the master geodatabase for replication and serve the ArcGIS Desktop users (using direct connect)
  • This machine still provide faster disks and plenty of RAM to support database operations.

New Server: Web and GIS server

  • IIS
  • ArcGIS Web Adaptor (optional: see my blog post for a decision cheat sheet)
  • ArcGIS for Server Enterprise Standard or Advance (requires 2 license, but that doesn't seems like an issue)
  • Portal for ArcGIS (if required)
  • One file geodatabase replica from the database server to host the map services (it will provide better performance; only use enterprise geodatabase to support feature services)
  • A second file geodatabase with mosaic dataset to store raster data and support map services (robocopy from database server)
  • Will server your web map users, as well as development and learning web maps and map services

If it wasn't for the size of your vector data and expected growth, I would have switch the server around and recommend using ArcGIS for Server Workgroup, with MS SQL Server Express, instead (which is restricted to 4 cores license). This would have significantly reduce administrative overhead. This alternative might be feasible if you can breakdown your vector data logically (i.e. no relational or spatial dependencies between feature classes, such as topology or shared edge editing) into multiple enterprise geodatabase under 10GB.

A final note on public consumption. ArcGIS Online can be a viable option to host public content with the main advantage that you don't need to worries about capacity and peek usage. Please find this blog post regarding uploading feature services to ArcGIS.com.

Related Question