I've been developing a host/service monitoring system with a few others and it's nearing the point where we need an infrastructure for the testing phase. If anyone has ever delved into monitoring or just knows about it, your ideas would be really appreciated. Do you think a dedicated server is overkill for monitoring stations around the world? Is there a company out there who can provide several servers dispersed around the world (or at the very least, around the nation)?
I'm going back and forth - and right now, I'm thinking about using VPS's for the monitoring stations, a dedicated server for the main site/DB and a second server physically somewhere else as a fail-over. But I don't know if servers are necessary as we start testing.
Do you think a dedicated server is a bit overkill for the testing phase? The main site would not just be the website/db/user login but would create weekly reports and control the monitoring network. The remote monitoring nodes would perform remote checks of client hosts, some will start executing load/stress tests when business picks up and we can afford the bandwidth required for load testing. And after the load/stress tests are implemented, we want to start provide data modeling/profiling (companies can monitor the sign-up process, the order process, the account creation process, etc etc. But right now we only need to test the front-end, monitoring nodes activity and some sample load testing (hammering a URL with 100's/1000's of hits per second).
When we go live, I want to use VPS's on the remote nodes and dedicated servers for the front-end but I want to approach this project on a zero-debt approach so if somehting can be done effectively using a cheaper approach, I'm all ears.
I mean, would even a shared account be able to execute simple host monitoring?
Those who knnow about dedicated servers - please weigh in if you think that to start, a server is really necessary or if I should ping the VPS crowd. I have hands-free scripts that will install the node packages, so the type of account can be flexible - the nodes are written in Python and the front-end following the LAMP model. But because we're just starting out, location diversity is much more important to me than anything else. If a node goes down, the network needs to be able to heal itself so the more locations available to pick up the slack, the better.
Considering a monitoring service requires geographical redundancy and a lot of nodes to have accurate results and avoid false alerts, it probably worths to use your budget for multiple VPS than few dedicated. And once it grows, proceed to dedicated.
Regarding shared hosting, I'm not sure if your script will have any problems running it on shared.
I believe, personally that the a dedicated server should be used out for the front-end (even from a testing environment perspective), primarily because, when it comes to the final documentation for your service, you would be a more "learned" mode having gone down this route (as ofcourse finally a dedicated server would be utilised for this aspect anyway!)
With regards to the remote nodes, a VPS definitely - because it would allow you the service / functionality flexibility of a full blown server, but without the cost!
From the point of view of geographical seperation too, VPS would be better suited from a cost / outlay perspective, and I believe, remote monitoring via VPS's would let you "grow" and increase the number of remote monitoring nodes with time, easily.
Shared hosting if allowed to run your scripts would work fine, but if the scripts happen to be intensively using the system resources on the shared platform, then you may have an issue with the provider - not always, but it is something for you to consider, so I would stay away from that.
I will try and get you more information on a similar setup currently in use, no promises, as i'll have to look up the documents!
it all depends on the CPU/RAM usage of your scripts. Most VPS services will cut you off if you use too much ressources.
My experience with monitoring systems is that they require quite a bit of CPU, and sometimes qite a bit of RAM (mainly if perl, PHP, java or another interpreted language is used instead of C/C++), so in this case I would recommend dedicated.
But since your juust testing at the moment I would get one of each to see.