Service industry such as salons, pet care, tattoos & body art, spa & wellness grows each and every year at a pace. Each of these industries is estimated to be worth several billion US dollars in the US alone. DaySmart Software creates and designs powerful software solutions about scheduling and resource management for medium and small businesses. Its software is used by salons, spa, pet grooming, and tattoo industry. DaySmart is a 20-year old company which started its journey with its desktop applications back in the old days. Currently, DaySmart is on Amazon Web Services (AWS) and develops online scheduling applications for web and mobile.
DaySmart designs and delivers solutions to thousands of businesses to simplify operations, automate client communication, and optimize appointment scheduling, payment processing and grow their business. Thousands of business owners create personal data that DaySmart has to process and manage. It is a big challenge to serve four different industries with products that handle, analyze and serve a high amount of data in real-time without causing delays in customer-facing parts.
DaySmart’s data pipeline evolved over years and took today's modern shape with the help of AWS. It all started with a desktop Salon scheduling application in 1998 and now it’s named one of America’s Fastest-Growing Private Companies by Inc. 500|5000 seven years in a row.
During their early days, they produced desktop applications on local servers that DaySmart installed to customer sites. DaySmart pioneered cloud adoption at the beginning of the 2010s with their servers that run .NET applications. They stopped maintaining servers at customer sites spread to the US; however, they still dealt with the maintenance of the virtual servers with patches and for scalability during the seasonal and/or time of the day peaks. It was no surprise that DaySmart started to look for alternative solutions that required minimum effort for scaling while keeping the operations up. They were already familiar with AWS services from their early cloud adoption in 2009 and quickly adopted AWS Lambda in 2016 for its customer-facing application because of its flexibility for the fluctuating workload of their clients.
During their experience with serverless over 3 years, DaySmart realized that handling the production workload for their clients is much easier and efficient with AWS Lambda. They could build a separate data analytics pipeline for each customer and scale them separately. As they gained more experience with serverless, they built the first-ever full serverless mobile application at the beginning of 2019 using several AWS services such as AWS Lambda, API Gateway, AWS S3, AWS SQS.
“Thanks to serverless services provided by AWS, our time-to-market is reduced dramatically. We’re now much more capable of shipping our new applications that deal with huge amounts of data in weeks. It’s a very big improvement if you compare it with a couple of years before without serverless” said Tom Kowalski, the Chief Architect at DaySmart. DaySmart’s solutions for the service industry are a perfect use case for the pay-per-use model because their applications and data pipelines have almost no traffic during nights and national holidays, whereas they can have all-time-high traffic during weekends. Switching to serverless on AWS Lambda allowed DaySmart to save money because they do not have to pay for strong dedicated resources waiting idly in the half of the day, instead, they pay for what they use.
When DaySmart needs to create a new project from scratch to make a benchmark or to try new approaches for their products, it takes them less time to spin out with serverless. DaySmart team believes that serverless has zero barriers to start for those who are already accustomed to AWS services and how they work. It’s easy to create an application and/or a data pipeline with high throughput using native services like AWS Kinesis, AWS Lambda, AWS Firehose and many more.
Since DaySmart products are used by over 200,000 users in the salon, spa, pet grooming, and tattoo industries, the applications receive a large amount of traffic during peak times. This puts a burden on the applications’ data pipelines while processing the data with high frequency and big throughput. Like in other distributed apps, it is no surprise that DaySmart faced errors and slow-downs in their applications, especially when the amount of traffic they handle increased. It was cumbersome to search issues through the high number of logs. Even after finding the logs for a single function, it was hard to attach them with the other functions’ logs in the DaySmart system. They needed to replay the same process for the logs of the other functions as well. In order to reduce the time to resolve any issue on production, it was important to have an observability solution that put the different pieces of the system together and showed the whole picture. This improves the application, and therefore, improves customer satisfaction. Thundra came to the rescue for DaySmart at that point. Thundra helps DaySmart engineers monitor the overall application while enabling the team to dive into the tiniest details at the same time. DaySmart managed to reduce their MTTR by around 50% according to their observations with Thundra’s actionable alerts and insightful traces.
When DaySmart ran the first full serverless application in production, it was hard to track the root cause of latencies in their architecture. With Thundra’s detailed traces, DaySmart is now able to pinpoint the root cause of the high latency in a Lambda function at a glance. Thundra’s timeline view for local traces reveals the methods or line of codes that cause the latency. Moreover, it’s easy to discover the delays between different Lambda functions in their data pipeline and to understand how long a synchronous call takes, thanks to Thundra’s distributed tracing. For example, as seen in the following figure, some of the SQL queries in a Lambda function in the DaySmart data pipeline are slower than normal. With Thundra, DaySmart can discover this at a glance and reduced the latency caused by an inefficient query.
The biggest headache for DaySmart with serverless is a common pain point: cold starts. Before they adopted Thundra in production, they considered building an in-house solution to reduce the frequency and duration of cold starts. Then, they came across Thundra’s warm-up solution. It helped them limit the number of and alleviate the impact of the cold starts. Thundra still helps DaySmart control cold starts by proactively checking through Thundra’s console and with the help of the warm-up plugin. Travis Walker, Cloud Engineer at DaySmart Software, stated that “Thundra is the best tool for us to monitor how many cold starts we have, how we are going to limit those and that is the biggest differentiator.”
Besides the function level granularity provided by Thundra, DaySmart also takes advantage of high-level visibility in Thundra’s architecture view. Considering they use third-party libraries, which can make unauthorized access to several resources, DaySmart needed to be sure if their functions were consuming or consumed by the resources as they expected. Travis Walker says that “It is nice to see that you can display services that are in conjunction with your Lambda. I check this view at least daily and after deployments to see if everything works smoothly and as expected.” The ability to dive deep into the details for the problematic interactions is a unique point of Thundra’s architecture view for DaySmart engineers because it provides another lens to see the issues in their serverless architecture. According to the rough estimations of DaySmart engineers, Thundra helped them double their productivity and make them create serverless solutions even faster.
To conclude, serverless brought numerous advantages for DaySmart such as faster time-to-market, boosted developer-productivity, and big savings in their total cost of ownership. All of these advantages let DaySmart scale its applications and data pipelines almost effortlessly. However, observability posed new challenges, because it was hard to track the issues in a serverless architecture. After DaySmart adopted Thundra, monitoring and troubleshooting the serverless applications was no longer an issue for DaySmart. DaySmart engineers feel confident boosting their serverless development with the help of powerful insights provided by Thundra.