At HAProxyConf 2019, Tobias Haag, software engineering lead from Yammer at Microsoft, presented a talk entitled ‘Moving Yammer to the Cloud’.
Yammer is a social networking tool built into Microsoft 365 to openly engage and connect across your organisation. It has been a long-time user of HAProxy to load balance its application stack.
When Yammer moved to Microsoft Azure, it transitioned to a design that relies heavily on container orchestration.
In his presentation, Haag describes the journey, the challenges and the successes in building a client-side load balancing solution at Yammer. His team first migrated services to Azure in order to offload networking infrastructure to a trusted cloud provider. They then had three primary goals: improve resiliency and reliability, increase developer velocity and achieve compliance and security.
They built a platform called DHAMM that includes Docker, HAProxy, Azure, Mesos and Marathon.
HAProxy was key to implementing client-side load balancing because it provided routing, health checking and SSL. Yammer’s platform runs 60,000 HAProxy instances and they can handle 450,000 request per second at peak load.
What’s causing the move to the cloud? It’s all about digital transformation
“We wanted to build a robust, performant and scalable service mesh that would provide us the necessary tooling and features to flourish in Azure,” said Haag.
“Convinced that client-side load balancing was the way to go, we started off on a journey to adapt HAProxy for the task.”
In the video below he describes that journey, the challenges and the successes Yammer had in building its client-side load balancing solution.