eHarmony

eHarmony.com uses AppDynamics to keep their Node.js applications running healthy with zero outages

eHarmony is the #1 trusted online dating site for relationship-minded singles. Since launching in 2000, eHarmony uses patented algorithms and mathematical models to find that perfect match among their members that are most likely to enjoy a healthy long-term relationship. With an average of 438 eHarmony members being married every day, eHarmony looks to AppDynamics to help deliver mission-critical performance for their consumer-facing applications.

Challenges: Splitting legacy Java applications to micro-services with a new public Node.js layer

eHarmony.com recently embarked on a technological journey that many enterprise software teams have come to realize: converting consumer-facing legacy applications to a Node.js stack will provide more stability, efficiency, and throughput for handling high-traffic environments. Stace Baal, the Director of Engineering at eHarmony.com, was faced with the challenge of splitting an existing Java layer into Node.js and Java while simultaneously ensuring zero downtime for the application and a rich user experience for their users.

While operating within a new service-oriented architecture with micro-services, Baal was faced with the challenge of monitoring multiple technology stacks while ensuring key metrics remain above critical thresholds.
https://www.youtube.com/watch?v=MUTsVBvUJkQ&feature=youtu.be

Having a disconnect among the distributed teams became risky in tracking latency and errors among a distributed transaction. Baal soon came to realize there were too many dashboards with decoupled monitoring solutions causing an inefficiency in productivity. “Before a product such as AppDynamics, it used to take several people looking at several different monitoring solutions, comparing numbers to find any problem with our system.”

Solution: A centralized monitoring solution spanning all technology stacks ensuring a successful launch

After attempting to build a custom monitoring solution in-house, Stace Baal and his team immediately came to realize the maintenance and productivity costs were not economical. Baal immediately embarked on qualifying a monitoring solution that would meet their specific needs and came to making a firm commitment to AppDynamics.

AppDynamics gave Baal and his team the critical insight into the distributed nature of their transactions, starting with the public-facing Node.js layer, through the various databases and cache backends, and into the internal micro-services they consume. If a transaction suffered a bottleneck, they were given the insight to know exactly where to find the latency and which team was to blame. Now, “any on-call person has one place to look and can pinpoint where we are having an issue and contact the right person right away”, says Baal.

The new capabilities of AppDynamics gave Baal the confidence to complete their Node.js transition and successfully launch their new public cluster. “I can actually say we've had no outages in production on a Node.js cluster, since we've been porting over, and I can credit a large part of that due to the monitoring of AppDynamics.”

I can actually glow about the support from AppDynamics. Out of about any vendor I've worked with… supporting any question that we’ve had has been great.

Benefits: A more efficient and effective Node.js cluster running at a fraction of the resources with zero outages

Splitting their legacy Java applications into decoupled service layers soon proved to be an excellent architectural decision. eHarmony.com now runs their new consumer application layer on a fraction of the hardware with better handling of their traffic. “And for a service like us that has unique traffic patterns we loved the baseline trending. I think that was probably the number one selling feature.”

Enabling Baals' teams and providing support was an essential factor in his commitment to AppDynamics. Supporting the rollout of AppDynamics across their fleet of services allowed the eHarmony teams to focus on their primary responsibilities: building their core business and delivering an exceptional user experience to their customers.