Freshworks supercharges its Marketplace with AWS Lambda
Freshworks develops software as a service (SaaS) customer engagement applications for small and medium-sized businesses. It offers multiple products, including software for sales CRM, IT service management, customer messaging, conversion optimization, call centers, collaboration, project management, applicant tracking and website monitoring. Its flagship product, Freshdesk, lets companies support their customers via phone, email, websites and social networks. Freshdesk provides multi-product support and a self-service portal. It includes a knowledge base, community forums and specialized tools for customer support through social media.
Many of Freshworks’ products feature a unified development platform that allows customers to customize the experience and behavior of the products, and integrate them into their workflows by writing a bespoke plugin. Freshworks created command-line interfaces and wrote its own software development kit around AWS Lambda, a serverless event-driven computing platform, to help developers build and run plugins on Freshworks’ platform.
One such plugin is an automatic ticket manager application, which detects if a user has raised multiple support tickets for a similar issue in a short period of time, and groups them into a single ticket. “This duplication of effort is eliminated by the app built around Lambda, so support agents can solve customer issues more quickly and reduce the time they spend on a ticket by more than 50%,” says Satwik Hebbar, Director of Engineering, Freshworks.
These plugins are built to meet Lambda specifications, including package size, dependencies, memory and concurrency. To protect against potentially malicious code, the customer’s plugin runs inside of its own sandbox, outside of Freshworks’ primary virtual private cloud. The plugin undergoes static code analysis during onboarding onto Freshworks’ platform, using only a whitelisted set of dependencies.
In our first year we were running up to 1,000 concurrent invocations without setting off any alerts.”
Mr Satwik Hebbar
Director of Engineering, Freshworks
With its competitors offering app development platforms for customizing customer needs, Freshworks wanted to develop a product that met the same need but offered a point of difference. “We were trying to not do what our competitors were doing,” says Mr Hebbar. “We didn’t want to just innovate, but rather disrupt the market by offering something niche to build and deploy apps faster.”
Freshworks decided to set itself apart by offering computing resources, not just webhooks and application program interfaces (APIs), to its customers. It needed a solution that would scale as apps were deployed, regardless of how often the apps were triggered.
Why Amazon Web Services
Freshworks was confident Lambda could meet the requirements for developing an app development platform because it had already experimented with Lambda’s capabilities and found it a good fit. Multiple Freshworks teams use Lambda, but the developer platform is the biggest user among them. It runs source code developed by third-party developers instead of in-house ones.
Freshworks wanted to build complex rich apps without the developer needing to worry how to run them on Lambda. That way, the developer simply writes the business logic of their app into multiple methods, and Freshworks deploys this app as a function in Lambda. In the case of the ticket merger, when a ticket update occurs, Freshworks knows exactly which corresponding method needs to be triggered in response. If the developers did this themselves, they would have to build their own boilerplate code to achieve the same result, or even build and host everything in their own infrastructure.
“For the other solutions in the market, the ability to change the flows and user experience or add automation was limited to the infrastructure you could host as a developer. Using Lambda, we were able to build a platform that allows developers to leave the infrastructure challenges to us,” Mr Hebbar says. “When we started doing this in 2016, no other vendor offered a comparable serverless product. We didn’t want to invest in infrastructure development and constant maintenance just to get this out, so Lambda suited us nicely.”
Every app published to Freshworks’ platform turns into a Lambda function, which is invoked whenever an event is generated and received by the platform. In the ticketing example, when Freshworks finds the apps that have subscribed to a ticket event, it triggers the Lambda functions associated with each app. Every trigger is counted as a Lambda invocation.
“We saw quickly how beautifully Lambda scales – we never hit any Lambda soft limits when traffic spiked. We can wake up in the morning, look at our dashboards and see a 10X growth from a particular set of accounts, and Lambda has been able to consume all the spikes,” Mr Hebbar says. “In our first year, we were running up to 1,000 concurrent invocations without setting off any alerts. In 2017, we ran into our first limit – 1,000 concurrent invocations – and we were easily able to expand our limit again and sleep easy without hitting any alerts.”
To learn more, visit AWS Lambda.
Freshworks provides innovative customer engagement software that makes it easy for teams to acquire, close, and keep customers. Freshworks’ SaaS products provide a 360 degree view of the customer, are ready to go, easy to use, and offer quick returns on investment.
Benefits of AWS
- 50% faster ticket response
- 150m monthly app executions
- 1,000 concurrent invocations
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.