Re: TS vs VPN



I'm not entirely sure I understand what you are getting at here, so let me state the assumptions in my answer.

There are three machines involved:
1. A client machine at your remote site
2. A Terminal Server (TS) at your "local" site
3. A SQL Server at your "local" site

There are two possible scenarios:
1. Using TS, w/o VPN
a) The remote client connects to your local TS via Remote Desktop (RD).
b) In the RD session, they run program "Foo" on the local TS.
c) "Foo" accesses the SQL server, which is nearby in a protected part of the network.

2. Using VPN, w/o TS (Note: At no point is machine #2 involved in this scenario)
a) The remote client establishes a VPN link to your protected network.
b) The remote client launches program "Foo" directly.
c) "Foo" accesses the SQL server over the VPN connection.

You want to know which of these would exhibit better performance.

The answer is... It Depends.

In terms of startup time, a properly secured VPN usually takes a minute or two to fully establish the connection and audit the machine for security purposes.
By contrast, a Remote Desktop connection can be established in as little as 5 seconds, and usually no more than 40.
Winner: Terminal Server

In terms of general usage, it gets trickier. How much data is being exchanged with SQL Server, and of that data, how much is displayed onscreen?
If it's a huge amount of data, or a lot of small queries, but it is condensed for viewing purposes (i.e. pulling out statistical information for instance), you definitely want to stick with the TS approach. That way, the majority of the network traffic is on your (presumably fast) local network, and the relatively small amount of TS traffic goes of the (presumably slower) external lines. If there are a lot of small queries, and the program needs to make them to provide on the fly feedback to the user, the TS wins due to reduced latency. After all, if they are running the client locally and it needs constant communication with the SQL server, the chokepoint will be the SQL communication. The client won't get any benefits from running the application locally because it will be waiting on the network.
If communication with the SQL server is minimal and not needed for snappy user experience and/or the UI for your program has a lot dynamic animation, it may improve performance if you skip TS. Fast moving animation will choke a slower TS connection, so running the program locally removes that bottleneck. If this is your scenario, but you still want to use TS, layering Citrix on your TS may help with efficient animation redirection. With their Seamless Windows (name?), you could even run your program in an integrated fashion with the remote client's desktop, so they still use their desktop while your program is loaded. When Longhorn Server is released, there will be a similar feature, Remote Apps, which will accomplish the same result.

Usability is another point. If your VPN locks off access to the internet, it may cause headaches for users which TS doesn't involve.

Finally, reliability matters. With TS, everyone has a single point of access to the program in question, and it is under tight control. If anything goes wrong, your local team can work on it and fix the problem. In the VPN scenario, you have a higher total maintenance cost; if your program starts messing up, you have to figure out whether it is the machine or the program exhibiting problems. Since the client isn't under your direct control, viruses, spyware and nifty toolbar widgets mean that the problem is often unique to particular machines and hard to pin down. Often this will involve dispatching IT personnel to the remote site. Since there are X client machines to maintain, each of which exhibits a higher rate of failure due to lack of complete IT control, vs. just one or two locked down TS machines, you may end up paying a lot more in long term support due to fragmentation in your installed base.

Under most scenarios, the TS approach will serve you best. It keeps the heavy network traffic in the LAN, and it saves you a lot of IT support headaches. Yes, I'm a bit biased, but after years of hearing about the headaches caused by decentralized IT, I've really come to appreciate the benefits of centralizing to reduce IT costs in the long run.

If I've misinterpreted your question or you would like additional information, please post a reply.

--
Josh Rosenberg [MSFT]
SDE - Terminal Services


"Jonathan" <11user@xxxxxxxxx> wrote in message news:1ssuh.1751$O%3.1112@xxxxxxxxxxxxxxx
Hello -

We're wanting to set up a remote site that will be running some software that will need to access our SQL server located on site. I've currently got them set up using a remote desktop/terminal services connection with the software running on one of our local machines. I'm considering switching to a VPN connection where the software would run on their machine but the VPN would still allow access to our SQL server. My question is which of these methods is likely to provide the best speed. With TS I understand it's more of a refresh issue that slows things data because less data has to be sent. With VPN more data would have to be sent but it seems like the software itself would run faster because it's on a local machine.

Any advice would be appreciated!
Thanks,
Mike


.



Relevant Pages

  • Re: VPN clients unable to connect to other resources.
    ... gateway matches the IP of the remote client, and DNS and WINS point to the ... remote (although it takes close to a minute to connect, ... This is just regular Windows VPN, ... VPN server, remote routing and access running on the SBS 2003 server ...
    (microsoft.public.windows.server.sbs)
  • RE: Remote connectivity problems
    ... do you mean you have added a remote client to SBS ... If you have hardware VPN tunnel setup using Linksys or others, ... In this scenario you have to configure the SBS Server computer to enable ...
    (microsoft.public.windows.server.sbs)
  • Re: VPN clients unable to connect to other resources.
    ... Are you saying that an XP Home PC wouldn't be able to connect to a server share over VPN? ... Can ping the SBS but not the client PCs on the same network. ... gateway matches the IP of the remote client, ...
    (microsoft.public.windows.server.sbs)
  • RE: Connection times to devices behind VPN are extremely slow
    ... I understand that the remote VPN client ... You have to rerun the CEICW to make sure your SBS 2003 server have right ...
    (microsoft.public.windows.server.sbs)
  • RE: Roll your own xtranet msde replication - Whats really required
    ... sql server functionality had been overlooked ... > where the remote clients cannot advertise their own services -- therefore ... > it help to split this into steps such that a client posts that it has data, ... >> are assimilated by the remote windows service, ...
    (microsoft.public.sqlserver.msde)