Project ID:
518800
Project Type:
Fixed
Budget:
$250-$750 USD
Project Description:
I have some specific issue which I need someone to resolve.
Currently I have 7 web servers all which run the Plesk Hosting Control Panel.
Currently each server has its own dns records such as for server 5 "ns005a.domain.com" & "ns005b.domain.com".
Currently all email for each domain on each server is handled by that specific server.
Currently no backups are taking place at all.
Currently every client needs to login to each individual server to access the domains from that server and many clients have accounts on more than one server.
Here is what I need:
1st) Central Redundant Name Servers that Replicate Records from Plesk:
I purchased an great application called "DNSManager" - this system looks very simplar to to the plesk interface and essentially allows you to have centralized dns servers which replicate from "virtual/fake master records" which are sent on each individual plesk server. This application also has a full API and can be extended upon.
What I want is to be able to utilize only two name servers for all current and further domains on all server and my thought is that each one of these nameserver will be running the DNS Manager application and the records will automatically be replicated from each individuals domains dns entries on the plesk system (this way any update that take place through the control panel is automatically updated on the master DNS server and then replicated to the other DNS Mansager).
Each DNSManager DNS server would be run offsite one through slicehost and one through Linode or Amazon EC2. At least that is my thought.
2nd) I want one or both DNS servers to automatically run ping tests against each of the domains for which data is being hosted and if ping tests fail "x" times with "x" period then an action is take which can be one or more of the following (execute this command on the server, change a DNS record to "x" such an the A name record for a domain or remove an a name record).
3rd) I want each of the hosting servers to automatically be backed up and replicated (full backup and rsync or through other very quick incremental backup options). Not only do I want these backups to take place but I also really need the ability to have some form of automatic failover capability in place.
What I really want here is the ability to for example automatically spin up an Amazon EC2 image or some other Cloud Computing capability (all through existing API's) and then for the most recent backup for that specific server to automatically be launched and installed so that the entire server essentially becomes available to the public and the DNS Manager application automatically switches over the A name record once it comes online. Naturally this should take place as quickly as possible.
4th) While the original server is offline the dns manager server would continue to send ping requests to it and/or try to execute reboot commands or whatever is feasible to do... Once it comes back online and it is verified that ping requests are successful for x% of time within "x" period of time the A name records are switches back to the original and the cloud server is automatically shut down via an api command.
The objective here for me is to have a true level of security that if I were to leave for a week and something were to go wrong clients would automatically see a downed server come back online as soon as physically possible.
5th) The last thing I need is just the ability to provide one central login url for my users so they can enter one username and password and upon logging in they would see one single page with all their domains/client accounts along with the server that each one is attached to. Essentially just one level higher than what is currently provided through plesk by default per server. By clicking on any specific domain, server or client account it would just open a new window for that specific server (nothing special). All of these capability are all possible through the extensive API's provided by each application.
If you have any questions let me know - I have a few other projects for the person that can deliver upon this.
Skills required:
Cloud Computing,
Perl,
PHP,
Python,
Ruby & Ruby on Rails