Couple of things worth possibly looking at:
Sally offers an good read on C-level execs. I can serious relate to the time issue – my sleep pattern validates this somewhere ;) ROI – classic TLA
The C10k Problem, WhatsApp and more have over the years shown how web server application have improved to handle a high number of clients simultaneously. High Scalability offer further food for thought:
In 2011 WhatsApp achieved 1 million established tcp sessions on a single machine with memory and cpu to spare. In 2012 that was pushed to over 2 million tcp connections. In 2013 WhatsApp tweeted out: On Dec 31st we had a new record day: 7B msgs inbound, 11B msgs outbound = 18 billion total messages processed in one day!
Historically with last mile messaging (COMET/WebSocket/etc) connections, the browser application would only make a single connection back to the streaming web application servers, and leverage muliplexing of messages between a browsers application views using client side functionality. However, with advance on server side scalability as above, is this still the correct approach?
Interesting, SockJS over on RabbitMQ discusses this very point, but is impacted by a SockJS issue:
In theory you could open multiple WebSocket connections, one for every module. Although suboptimal (due to the need to handle multiple TCP/IP connections), this approach will work for native WebSockets. But, unfortunately it won’t for SockJS due to a technical limitation of HTTP: for some fallbacks transports it is not possible to open more than one connection at a time to a single server.
There is however another issue on the client side to force one down the multiplexing road – browser maximum connections. However, sub-domains could aid this
Logging can provide great insight into the operational activity of your application. Clearly the more consistent you log messages, the easier it is the mine the data – think Splunk et al. Of interest:
- logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). Speaking of searching, logstash comes with a web interface for searching and drilling into all of your logs.
- Graylog2 Field-tested open source data analytics system used and trusted all around the world. Search your logs, create charts, send reports and be alerted when something happens. All running on the existing JVM in your datacenter.
- Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable
Old, but worth a read. Specifically take aways:
- Fluent one-star teams regularly report what they’re working on and how it’s progressing from a business value perspective
- Fluent two-star teams consistently and predictably deliver value
- Fluent three-star consistently and predictably deliver value
- Fluent four-star teams contribute to enterprise-wide success.