We're starting to expand our hosting business and I'm wondering how big hosting providers manage their services, like creating directory structures and configurations in email servers, web servers, db servers, and the like, in conjunction with automatic management of auto renewal of domain registrations and so on.
"Big" here means everything that needs to use multiple servers of the same kind (multiple web servers, db servers, etc...) possibly accross multiple datacenters. My examples are about the classic LAMP stack hosting because that's what I'm used to, but that could be anything:
- VPS hosting
- Ruby / MySQL / memcached
- Java App servers
- etc...
Some random names: Rackspace, Mediatemple, Slicehost, Dreamhost, 1and1, ThePlanet, etc...
I'd guess a good solution would interface all of these things:
- customer interfaces for managing their services
- configuration of the various systems of the infrastructure (dns, mail, web, db, and so on)
- automation of more-or-less common tasks like moving customer data on another server (for decommissioning of old hardware)
- the various domain registration procedures
- billing
- etc...
Does every business that starts to grow need to build out its own custom software? does any part of the system already have some industry standard? do people interface some (possibly self developed) management software with configuration systems (like cfengine, puppet, etc) to also configure every single customer account? what else?