Tackle.io’s Experience With Monitoring Tools That Support Serverless
Continuous app deployment via the cloud can lead to errors that monitoring software may help sort out.
Speed of delivery in a serverless ecosystem can mean coping with a surge in hidden errors. That led Tackle to use Sentry’s tools to increase visibility when deploying code. Founder and CTO Dillon Woods says Tackle helps other software companies sell through cloud marketplaces such as Amazon Web Services, Microsoft Azure, or Google Cloud Platform. Tackle went with a serverless stack for its platform, he says, for such benefits as speed of development and not needing to administer servers or build up an IT team right away.
“Most of our API runs in AWS Lambda,” Woods says. As Tackle scaled up to meet the growing needs of its customers, it became increasingly critical that the platform was always available, he says. That demand brought its own set of headaches. “We started to run into the problems with serverless,” Woods says.
Tackle runs microservices such as managed containers on AWS Fargate, deploys its front end on Amazon CloudFront, and uses Amazon DynamoDB for its database, Wood says. “We’ve spent a lot of time making sure that our architecture is something scalable and allows us to provide value to our customers without interruption,” he says. Tackle’s clientele includes software and SaaS companies such as GitHub, PagerDuty, New Relic, and HashiCorp.
Despite the benefits, Woods says running serverless can introduce such issues as trying to find obscure failures with APIs. “Once you adopt serverless, you’ll have a chain of Lambda functions calling each other,” he says. “You know that somewhere in that process was an error. Tracing it is really difficult with the tools provided out of the box.” Before adopting Sentry, Tackle spent a lot of engineering hours trying to discover the root cause of problems, Woods says, such as why a notification was not sent to a customer. “It might take half a day to get an answer on that.”
Tackle adopted Sentry’s technology initially to get back traces on such errors. Woods says his company soon discovered Sentry also sends alerts for failures Tackle was not aware of in its web app. “We were able to rapidly fix these small problems that we didn’t even know about,” he says. The higher visibility allows for issues to be addressed before customers call them out. This can include spotting when software lags two or three seconds when it should respond within milliseconds. “That’s not something you can catch with standard testing or the standard QA process,” Woods says.
When Tackle used tools such as Amazon CloudWatch, Woods says they assumed the difficulty they had spotting problems was tied to inefficiency searching logs. Sentry offered up ways to digest that information more easily, search and interpret files, and locate problems. Woods says a rise in continuous integration/continuous delivery tools that support serverless could make deployment less of a chore. “This is the next category of tool that is going to be inside every serverless developer’s toolbox,” he says.
There is a lot of architecture-related talk these days of resiliency and uptime, says Sentry CEO Milin Desai, with investments by organizations being made in people and tooling for monitoring machines, systems, apps, and instrumenting databases. The speed of code delivery, he says, is another aspect of concern.
“Depending on the organization, some push code out three times a day,” Desai says. “Others push out code three times a week.” The issue, he says, is a developer might not know if the code they pushed out is delivering the correct value and experience for the end user. “It is important to monitor code and connect developers more directly with customers,” Desai says.
The cloud has become a great equalizer for development and deployment, he says, which has freed up resources and time. Until about 2010, there was an emphasis on software-defined infrastructure, virtualization of compute, and network storage, Desai says. From 2010 onward, the focus moved to cloud, API, and SaaS. “Now that those things are set, folks are starting to build apps on top of them,” he says. “Developers no longer need to set up hardware; they just use the API and instrument it.” With that greater freedom, infrastructure is a means to an end with more focus on code and outcomes, he says, which is what serverless is all about.