- Text recording (300 character time-stamped)
- 1 way VoIP recording (30 seconds & time-stamped)
- 1 way cached, zero buffering, instant video recording (30 second & time-stamped)
- Floating widget
REQUEST HANDLING: ELB could be the primary load balancer and the point of SSL termination, while running a cluster of HAProxy machines behind ELB (primarily due to limitations in ELB). Just as a suggestion; maybe Varnish can be deployed along side HAProxy in front of the machines to address any web traffic.
APLICATION CODE: The application code can be written in Python with gunicorn to handle requests (both sync and gevent workers are in use). The bulk of logic can be deferred and communication between the request and async clusters can be handled through rabbitmq.
CACHING AND PERSISTENCE: For this, memcache, mysql, and redis can be used. Mysql clusters can be sharded over many machines and use a library like MysqlManager to abstract routing, aggregating results from cross shard queries, etc.. from the application logic. Redis cluster is sharded using nutcracker and is deployed throughout our architecture for a range of use cases.
NOTE: PLEASE PROVIDE APPLICATIONS THAT ENTAIL VIDEO AND/OR VOIP APPLICATIONS, CONSIDERING THIS IS THE PRIMARY ASPECTS OF THE APPLICATION.