The 9-Second Delay: How a Default Kubernetes Setting Choked Our CoreDNS
by Divakar Raju The panicked messages started rolling in from all our dev and application teams, outbound calls in our staging environment were randomly timing out, and some external requests were inexplicably taking over 9 seconds to complete. In a modern microservices…
Moving from Panic to Process: Testing Your Way to a Successful K8s Migration
by Keerthivaasan K In the season finale of Silicon Valley, there’s a classic scene: Pied Piper is live-streaming a rescue, traffic is melting the servers, and the team is pulling a “heroic save” at the 11th hour. It makes for great TV. It makes for a terrible career as an SRE.…
Making Karpenter More Reliable at Scale: Removing Its Dependency on CoreDNS
How Freshworks evolved its Karpenter bootstrap architecture across 400+ EKS clusters — and what it’s paying off now. by Ebin Gladson At Freshworks, our applications run on AWS EKS. A while back, we moved from Cluster Autoscaler to Karpenter, and the switch paid off in several…
by Govind Aadithya Sripada Every two weeks, Freshdesk shipped changes to production — and every two weeks, we did it scared. Hundreds of commits across Ruby, Java, Ember, React, and infrastructure, all merging at once, and we tested everything to cover ourselves — all 41,000…
Chunked Twice, Rejected Once: An Istio 502 Mystery
by Palak Bansal, Madhavi Madangopal Modern service architectures are full of well meaning intermediaries: proxies, gateways, sidecars, each one convinced it is helping, and touching your requests on the way through. What happens when those layers interact just slightly wrong? In…
Freshworks migration journey from Cassandra to Scylla
by Vigneshkumar Ak Background & Motivation Freshworks offers a suite of applications across customer support, ITSM, and CRM . Some of the Freshwork’s Platform applications rely on distributed databases to handle high throughput and low-latency workloads at scale . For a long…
Building a Custom Documentation Engine: How Freshworks Scaled 2,500+ Pages Across 6 Products with…
Building a Custom Documentation Engine: How Freshworks Scaled 2,500+ Pages Across 6 Products with Markdoc and Next.js When off-the-shelf solutions couldn’t handle our multi-product, multi-version documentation needs, we built our own. Here’s what we learned — and why it was…
AI Agents Take Autonomous Actions: Leveraging Apps through Marketplace MCP Gateway
By Kamal Kumar, Rahul Ganesh Partheeban To enable AI agents to autonomously execute real-time business actions across third-party applications, we built and productionized the Model Context Protocol (MCP) Gateway at freshworks. This gateway allows AI agents to securely discover…
What Happens When You Turn 150+ Icons Into One Font
by Madhankumar J The cost of “simple” icons This is part of the Unity Craft series, where we share how we’re improving our application — performance, tooling, and consistency. In this instalment we talk about icons. Icons are everywhere in modern UIs — buttons, navigation,…
How Freshworks is building software without writing software by Ajay Ravichandran The software industry is approaching an inflection point. For decades, the measure of engineering productivity has been the same — how fast can a team ship well-tested, well-reviewed code? The…
Building a Modern Performance Testing Suite with Gatling, Gradle, and CI
by Ravi Prasanth At Freshworks, performance is a critical launch requirement, not a secondary concern, especially for products with heavy reliance on analytics and reporting workflows used by customers at scale. As the scale of our reporting and user concurrency increased, our…
“How we architected an AI system with async + spark distribution to mine millions of data points for patterns in under an hour.” by Sriharan Manogaran, Rahul Misra, Anand Chiddarwar Introduction As businesses grow, so does the amount of data they generate. Every click, purchase,…
How Preview Environments Transformed Frontend Delivery at Freshworks Analytics
“If you can test it before you merge it, you can trust it when you ship it.” by Arvindan Frontend teams typically are efficient if they handle PR in different manners. Classical PR reviews slow down when reviewers can’t open the change in the browser and try it like an end user.…
by Anush Arvind Incorporating AI into the software development lifecycle has transformed how high quality applications are built and shipped. What once took weeks of iteration, debugging, and context switching can now be achieved in hours, with AI assisting in design, coding,…
How We Saved Our Chat App from PostgreSQL Transaction Wraparound Disaster
by Anish Gopalan The 3 AM Wake-Up Call Nobody Wants It’s 3 AM. Your phone buzzes. The chat app you’ve built is down. Completely down. PostgreSQL has shut itself down to prevent data corruption, and millions of users are unable to send messages. The culprit? Something called…