- API
- all UI operations should reflected in API (including administrative controls)
- the API should use the same credentials as the UI
- all the business logic should live in the server
- Extensibility
- execute arbitrary actions based on events
- Authentication
- should integrate with LDAP/AD
- should use user and group ACLS for object management and access
- Revision Control
- configs should be in files or have built in revision control capability
- modifications/extensions should be in files or have built in revision control capability
- High Availability
- should support clustering
- ideally clustering should support geographic distribution
- should be able to recover from situation like multiple active nodes
- Disaster Recovery
- ideally an extension of HA with geographic distribution
- %0 downtime (or as close as possible) for upgrades
- %0 downtime (or as close as possible) for maintenance
- Should be monitorable via standard network protocols (SNMP, HTTP, etc) BTW: email does NOT count
- Should easily scale horizontally
- Operation Cost
- should have %0 manual administrative management for standard usage (no cleaning queues, removing files, marking messages)
§