At SimpleApps we try to keep the performance of our applications going as well as possible and to do that we need to track a lot of data. The bottom line is that you can’t understand anything without some data on it, so the more you can monitor the better you know what needs to be done to make things better.
The first level of performance tracking we use is the most basic, Log files. We use AWS CloudWatch to collect all of the log files from the different servers and services so that we can quickly search the log files for any errors anomalies.
The primary tool that we use for site monitoring is called Uptime Robot. This track the uptime status of all of the sites on the system and notifies us of any downtime immediately. We also use a tool called MyJooma that watches all of the files in a Joomla site for changes and offers Joomla best practices. MyJoomla also uses UpteimRobot for monitoring, so we tend to get multiple notifications when a site goes down.
We used to use a tool called New Relic for the performance monitoring and code analysis. The system itself worked well but we ended up not using it and actually finding better uses for another product that we're currently using called Datadog. The real benefit for us using Datadog is a protocol called StatsD that they use. By using StatsD and having DataDog automatically create the graphs we're able to put little triggers into the code that allow us to do counters and timing. We can see minimal subsets of the code and adjust the performance and try to tweak thin in near real-time.
For project management we use Basecamp. We create a sperate project for each client site and invite anyone interested in the status of the project to participate. This creates one place for the majority of the information about the site to reside and a great way to make sure that everyone stays on the same page.
Recently we have started using Slack for quick messages. This gives us a place for chatting about something in real-time that is often easier for the small message than basecamp is. Slack is also set up to connect directly to the API and give us some ChatOps capabilities. We invite our premium support clients into the Slack channel for their projects, and this lets them perform some ChatOps too.