Loggly and Datadog help Bringhub cut server costs by 33%
Loggly has become the definitive source of truth for how our application is performing.
John Adams CTO, Bringhub
Highlights
- Saves an average of 33% on server costs with a new Docker- and Go-based platform and real-time monitoring with Loggly and Datadog
- Cuts hours per day from troubleshooting times
- Proactively identifies problems to deliver a better experience for consumers
Simplifying e-commerce requires a myriad of backend integrations
Bringhub is all about bringing things together. More than 1,000 retailers integrate with Bringhub through a number of different mechanisms, including machine-learning data extraction and deep API integration. “At any given time, we’re parsing thousands of URLs, which makes our operations pretty complex,” says John Adams, Chief Technology Officer at Bringhub.
Business growth drove a need for replatforming
Over the last six months, Bringhub has transitioned from a PHP platform to microservices running on Docker with a Go-based backend. “As our business growth generated a much higher volume of requests, our PHP stack wasn’t scaling how we wanted it to,” Adams reports. “Our new platform has reduced our server count while giving us the capacity to service even more requests and also to scale up and down much more quickly.”
The service leverages Docker Cloud on AWS as well as Digital Ocean. A large number of microservices use AWS Lambda. Bringhub chose AWS Lambda for many of its public facing services in order to accommodate large spikes in traffic without impacting core services. In addition, Bringhub has expanded its data center footprint to multiple AWS regions.
Loggly and Datadog intelligence contributed to bottom-line savings
Throughout the replatforming process, the development team at Bringhub has used Loggly, together with metrics tracked through Datadog, to understand application behavior and guide architectural decisions. “Loggly has become our definitive source of truth for how our application is performing,” Adams notes. “With a container architecture, you don’t have complete visibility without a persistent log management system.”
Bringhub ties its Datadog metrics to log data in order to monitor throughput. By monitoring system resource utilization (broken down by host, service, and container) and tying it to events (such as code deployments, data center changes, and new publisher partnerships), Bringhub engineers can easily identify any issues that pop up in the platform. It records average request times in Loggly, giving developers insight into what’s happening with specific microservices. This level of real-time visibility, combined with the performance advantages of its Go backend, have allowed Bringhub to save an average of 33 percent on its server costs.
Log collection is simple and scalable
Loggly stores its application logs from development, QA, and production systems in Loggly, as well as some system logs and metrics from Amazon CloudWatch. “We do native logging with Go using logrus,” Adams says. “It’s really nice and has run well in production for us for more than a year and a half now.”
Since AWS Lambda logs directly to Amazon CloudWatch, Bringhub streams these logs to Loggly through a simple Lambda function that streams logs from Amazon CloudWatch to Loggly over the Loggly REST API. “I wrote the script in just a few minutes, and it now supports more than one billion events per month with little cost or overhead for us,” Adams says. “Loggly is a service that just works,” he adds.
Developers save hours in troubleshooting
Bringhub developers use Loggly to monitor and troubleshoot on a daily basis. “The number of Loggly URLs floating around on our Slack channels is impressive,” Adams remarks. “We use Loggly to see what’s working, what’s failing, and why. Loggly is a solution that every developer in our shop is comfortable using.”
Loggly serves as a complement to the monitoring it does with both Datadog and Amazon CloudWatch. When a team member sees something of interest in Datadog or Amazon CloudWatch, the next step is to dig deeper with Loggly. “If I have to do research, Loggly saves me hours over the other means at my disposal,” Adams explains. “That couple of hours easily translates to a few hundred dollars per day.”
Log-based alerts proactively identify problems
Bringhub uses Loggly alerts to quickly and efficiently handle problems that occur, complementing its other monitoring capabilities. The company primarily uses Loggly alerts in three ways:
- To identify integration issues with our retail network: “For example, if a retailer decides to go ahead and change their API or alters its data models in an unforeseen way, we’re able to trap the error and pipe it over to Loggly.”
- To identify performance issues in our stack: “Sometimes things slow down, be it due to code changes, infrastructure changes, or unexpected data volume. When responses start to slow down, we raise an alert in Loggly in order to notify our engineering team.”
- To detect problems the team didn’t know to look for: For example, the total number of log events generated can serve as a great litmus test for application health. “If the number of log events is increasing out of proportion to overall traffic, we get an alert and know to look for bugs.”
Bringing it all together for a great contextual shopping experience
Adams sums up Bringhub’s experience with Loggly this way: “Loggly gives us peace of mind in running our business. We understand our application’s performance. We have never had any failures. It’s a no-brainer.”
[gview file=”https://www.loggly.com/wp-content/uploads/2017/05/CS-Bringhub-May2017.pdf”]