|
Efficient hosting solution for ASP.NET and SQL SERVER 2005 |
|
|
|
|
Written by Emil Majkowski
|
|
Apr 03, 2008 at 06:24 AM |
|
Very efficient hosting Server solution for ASP.NET and SQL 2005 database I have been doing some tests and thinking about high season this year. Based on stats I can say our servers will burn in high season as now they work on 80% load. I think it is high time to spend some money on the server solution below because sites speed and stability affect the sales a lot.
Hardware: 2 IBM application servers with quadro core processors + 4G RAM each, disks mirroring etc. and put them on cluster. 2 IBM database server with 2 quadro cores processors + 8G RAM + 5 big fast disks with RAID10. Cost of the hardware is maximum 25k $
Cluster works like follows ( take a look at the picture below ): - there is main server "Hosting server 1" which takes most of the traffic lets say 80% - "Hosting server 2" is for the first backup server and for the second if first server is overloaded ( 80% ) all the requests goes to the Cluster server 2 - if one of them breaks the second takes all traffic and sites works goodThis solution provides high-availability of your sites and you don’t need to spend millions on the software. This solution can be easily configured on Windows 2003 Standard Edition ( please note you don’t need Enterprise edition ) and Microsoft Network Balancing Services. There is nice article about such configuration herehttp://www.west-wind.com/presentations/loadbalancing/NetworkLoadBalancingWindows2003.asp
SQL servers “cluster”.Why I wrote it “cluster” and not cluster? Because it is not real cluster. On the SQL server 1 you have you operational databases where all “insert”, “update”, “delete” queries run. There is most of the load from sites but there are only queries ran which change data.On the SQL server 2 you have all main databases mirrored ( they all are in restore state all the time what exclude running queried which change data ) with snapshots and you can run all “select” queries on that. What means the whole “select” load goes on this server. Also all reports and analytics can be done here which lighten main SQL server 1. Database mirroring service is by default installed in SQL Server 2005 Standard Edition so again you don’t need to install Windows 2003 Enterprise + SQL Server 2005 enterprise but only Standard Editions of System and SQL Server. The other services running here are backups of all ASP.NET code, databases , etc which is recorded on the tape once a day. That cut costs a lot ( donate my site :P ) and you keep full functionality and high availability. It is also much easier to administrate my solution than real cluster solution ( imagine how much you would need to spend on IT specialists for clusters J )Security:
There is IPSec tunnel for direct connections to database server . There is VPN to every server to connect securely.
There is one more thing which I suggest to install on one of those machines ( SQL server 2 ) – Virtual Server. Make image of every configured server so when you have huge problem with any of those machines ( or even 2 machines breaks at the same time ) you restore your whole environment virtually by few clicks on this or totally new hardware. I will be posting more about Server Virtualization soon as I see it really powerful tool.I am sure you will sleep well with such infrastructure :)
Click here to see full image
|