Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a requirement for a client that I have a centralised system that all his satellite branches can work on.

Currently this is a ASP.net web forms app running under IIS 7 on win 2008 RC 2 using an SQL backend.

The client has now requested that each branch have a local server, so that in the event that the internet connection is down, the branches productivity does not suffer.

His other request is that everything can be updated via the central hub and using some mechanism the updates filter down to the individual sites.

What are my options here?

I see the following as possible options:

  • Multiple redundant internet connections controlled by load balancers
  • SQL replication for the DB (What is better, snapshot, merge or transactional)
  • Roll my own IIS sync service the periodically checks if there is a new version of the web app and downloads it (I hope there are better option than this)
  • Something way better I don’t yet know about (I hope this is the one I need)

One of my clients concerns are that the branches are often in very remote areas where everything from technicians to internet is hard to find and very scarce.

Any ideas, suggestions, tips etc are welcome.

Thanks all

share|improve this question

migrated from stackoverflow.com Feb 9 '10 at 9:19

This question came from our site for professional and enthusiast programmers.

add comment

2 Answers

up vote 1 down vote accepted

The two tools that work great for web content and IIS config are Windows DFS-R and IIS7 Shared config.

I recommend using DFS-R with a hub-and-spoke configuration so that one location pushes to all of the rest. Use IIS7 shared config pointing to a shared folder, like c:\inetpub\IISSharedConfig. DFS-R can keep that folder in sync. If people write to each location then you'll need a full mesh configuration.

For SQL, that's not as easy an answer without knowing details of your application. If you need real-time up to date data with read-read at every location then snapshot replication set to run every minute is probably best. It takes some understanding to master it though because your identity columns need to be handled and you need to pre-allocate a large enough identity range at each location to handle a bulk insert. You can consider 3rd party solutions like NeverFail or Xkoto.

share|improve this answer
add comment

Scott answered with pretty much everything I would say - Except I'd say consider using GUIDs for identity - makes life easier than trying to seed / pre-allocate ranges, etc.

DFS-R will keep your web data in sync easily, the sql will depend on your application and database structure what works best.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.