Simple Failover for IIS and MS SQL server - sql-server

I have a client with a .Net 1.0 web app that uses IIS and a SQL 2000 database. It is hosted with a shared hosting service and does get not much traffic (a few visitors a day tops). The hosting has occasional downtime, of course, and the client has asked me if I can setup a redundant system to reduce downtime to negligible.
What is the simplest/cheapest improvement I could make to this setup that would satisfy what the client is asking for?
I was imagining hosting the web app and db with 2 different services and adding some logic to the app hand off requests to whichever web server & database are up, but I'm worried about the complexities of keeping the databases in sync.
Is there a better way?

i'd recommend putting and apache2 server with mod_jk in front of the two IIS endpoints.

Related

How do I make this web service call fault tolerant?

We have a WinForms desktop app that connects to a remote server to pull some data. The remote server hosts a web service on a standard IIS website that queries a SQL Server database installed on the same machine. Today, if the remote server is under maintenance or not available our end-user cannot retrieve the necessary data.
Now I am requested to make this feature fault-tolerant. Here are my questions:
Should I ask for another remote server that runs the same web service and move the DB to a third remote server? So the two web services can connect to the same DB?
Should I consider moving the web service logic to the WinForms desktop app and connect directly to a remote DB paying a first-class 99.99% availability service?
Do AWS or Azure provide a ready-to-use solution that fulfills my requirements?
Is there any other option I didn't consider?

Database mirroring on Rackspace or Xeround

I´m running 2 servers on Rackspace. I have set up a load balancer that balances the traffic between these two servers.
Each of these servers runs a Glassfish v3 server with a Java EE application on it, that offers a web interface to write some data into server database. The problem is that I need to have the same data on each database (server 1 database and server 2 database).
A resolution to this problem is mirroring of databases.
I would like to ask if there is some automated system to mirror these databases inside the rackspace?
Furthermore I ve found Xendros database cloud that is able to work with Rackspace Cloud. Is it possible to mirror these databases inside the Xeround?
Or are there any better solutions ?
Thanks for answers :)
With Xeround you do not need to mirror your database, you create a single database instance and direct your application servers to work with this instance.
For more information you are welcomed to visit our web site http://www.xeround.com

apache web server for replication of web traffic to 2 app servers

I have 2 application servers, one is the real production server and another a "backup" server which can go live if the production app server is down. I want an apache webserver which will send incoming requests to both application servers. I do not expect the apache web server to crash, so am fine with "single point of failure".
I know that apache has a mod_proxy_balancer module, but can it be used for replication rather than load balancing? 99% of my http traffic is from some remote devices which do not need any kind of ui. UI is only used for maintenance and reports.

Application Server and Web Server running on same hardware/physical server

I have a conceptual design question. I'm building an application/platform that will consist of a server, possibly running Apache Tomcat w/ a MySQL database, and several client applications (such as native iPhone apps, android apps, blackberry apps). Communication between the client applications and the server will be handled via SOAP, or XML-RPC (also trying to figure this out).
All of the above I'm reasonably comfortable with, but the last part of my plan is to create web/browser based client interface to the platform. And this is where I run into my question, should I install Apache Web Server on my same physical server and build a PHP application that invokes RPC's on the Application Server (Tomcat, running on same physical machine)? Does this type of design pattern make sense? Or should I stick with one type of server software for all possible client applications, including the web/browser based application? Thanks!
I think the web server and app server ought to be separate. I'd make the database separate from the app server too, if I could.
The reason I like the web server to be separate is that it's usually in between two firewalls. The app server lives inside the second firewall in the "safe" network.

shared hosting and sql server environment security

I was readin this month edition of SQL Server Magazine and in an article about securing Sql Server environment , the author mentioned that developer should try to have the website and the databases run in separate servers for security. I have a shared hosting account and was wondering if it makes sense to buy a second account to move all databases there. Or does it only make sense when using dedicated servers? How would it affect performances on my website?
I use asp.net and have a hosting account with DisountAsp
That article probably doesn't apply to your situation. Running the database on a separate server is a measure to protect against root compromise of the web server hosting machine. I a shared hosting environment the same situation would result in compromising all accounts on that machine anyway. Depending on the particular settings of your hosting, your account database may alreayd be on a separate server.
Besides, with a shared hosting account is very unlikely you'll even be able to query a database from another account.
If you buy a second server, what will it be, a VPS? I imagine you will get more CPU cycles on a VPS with a dedicated database server than a dedicated machine with multiple databases, but who really knows.
Still, your host isn't running websites on their shared database servers, so what's the difference, security wise?
Performance would me my number one driving factor. I mean if someone compromises your web server, unless your connection strings are encrypted, they've got what they need to connect to the DBs.

Resources