Everyday more than 1 billion bottles are opened, that’s equivalent to a billion USD of transactions taking place without traceability (we cannot validate who exactly opened what brand where and what time) WECHEER, with the smart bottle opener, can capture every single bottle the moment it is opened and validate which bartender opened what brand where and what time, turning physical bottles into digital stamps. This enables beverage brands for the first time to have scalable aggregated and live market performance and empowers breweries with real-time digital marketing - from small craft breweries to global brands.
WECHEER is incorporated in Lausanne, Switzerland and as of 2019 have captured more than 5 million bottles from Vietnam to Mexico. This is only the start the vision is to reach 10 billion bottles “digitally captured” in the coming 3 years.
Data Pipeline Challenge
WECHEER gathers data from numerous pubs and bars all over the world. The data includes the date, time, brand, alcohol type, bartender and many more attributes, which makes it difficult to process and analyze without a proper data pipeline. WECHEER faces many challenges like removing the noises, detecting corrupted attributes, standardize etc. However, most importantly, they are dealing with scaling the processing power of the data pipeline under a heavy load happening mostly during weekends and Friday nights.
The choice for AWS Serverless
WECHEER’s system uses AWS services that provide them the capability of building a scalable application for their customers. For them, there are various reasons to use serverless such as scalability and robustness. Since WECHEER kept all opened bottles, their numbers, brands, location and time, the data amount they receive, analyze and store with their data pipeline continuously grows. In this context, AWS provides business scalability to WECHEER while supporting a large number of transactions during peak times of beverage consumption. In addition to scalability, they take advantage of AWS services because AWS enabled WECHEER to outsource their operational concerns. Thanks to that, it is easy to make automatic deployments and manage different environments on AWS by developers, so WECHEER doesn’t need to have technical ops team for these issues.WECHEER’s system uses AWS services that provide them the capability of building a scalable application for their customers. For them, there are various reasons to use serverless such as scalability and robustness. Since WECHEER kept all opened bottles, their numbers, brands, location and time, the data amount they receive, analyze and store with their data pipeline continuously grows. In this context, AWS provides business scalability to WECHEER while supporting a large number of transactions during peak times of beverage consumption. In addition to scalability, they take advantage of AWS services because AWS enabled WECHEER to outsource their operational concerns. Thanks to that, it is easy to make automatic deployments and manage different environments on AWS by developers, so WECHEER doesn’t need to have technical ops team for these issues.
Mihai Ciureanu, Head of Technology at WECHEER, says "WECHEER embraces a no-ops mindset thanks to ultimate ease of operations of serverless AWS services” WECHEER uses a significant amount of AWS services such as Amazon S3 buckets, AWS Lambda, Amazon DynamoDB, Amazon Redshift, Amazon CloudFront, Amazon Route 53, Amazon Kinesis, Amazon Cognito, Amazon SageMaker and more. Since they have experienced developers on AWS, it is much faster to build with AWS and AWS is more scalable for handling the data.
The WECHEER bottle opener connects to the internet and identifies the brand of the opened bottle using image recognition. For image recognition purposes, they use Amazon SageMaker connected with AWS Lambda functions. In the following figure, you will see a part of the architecture of WECHEER. As seen, AWS Lambda functions and other managed AWS services are used to handle the inbound traffic and to exchange data between the legacy system and their data pipeline. Since the development team has years of working experience with .NET applications, they chose to develop their serverless architecture with the AWS Lambda functions written on .NET platform.
How WECHEER Filled the Communication Gap and reduced MTTR by ~75% Using Thundra?
Amazon Web Services provides many operational and organizational advantages for WECHEER. Thanks to WECHEER’s wise choice of going serverless in the first place, they had the advantage of scaling up with AWS services. Pay-per-use usage of these managed services lets them invest the optimal amount when WECHEER first started. However, the stateless and event-driven side of serverless architecture reduced their monitoring abilities as a trade-off. WECHEER engineers already have some working experience with open-source tracing solutions like OpenTracing and they discovered that it’s not easy to maintain the same behavior on serverless. As a result, WECHEER sought out solutions to cease their monitoring problem.
WECHEER engineers expected to track the lifecycle of the business operations with traces while digging deeper into the aggregated logs. They also required a solution that has modifiable data retention policies, enabling them to check the past issues that happened in their system.
Most importantly, WECHEER engineers were in search of a decent user interface to digest the insights provided by the monitoring tool.
After detailed researching and comparison with the existing tools, WECHEER decided to choose Thundra for the needs of serverless observability. The main reason they prefered Thundra is the ability to detect issues in the serverless architecture at a glance combined with the ability to dig problems out with extensive search capabilities on traces and logs. Mihai Ciureanu says:
Head of Technology at WECHEER
I can’t imagine what we could do to filter the issues without Thundra as a solution.
As the serverless system grows with the addition of new resources such as Amazon Kinesis and Amazon S3, it grew difficult to obtain communication among various departments, such as testers and business analysts, regarding changes to the serverless architecture. Previously, the teams updated the hand-sketch drawings in the public places in their office. With Thundra’s live architecture, it’s very easy to keep everyone updated with the changes in the architecture. In this way, the communication gap between the various teams is now minimized. The below image shows a portion of WECHEER’s serverless architecture. As can be seen, it was not straightforward to maintain such a system with sketches.
Additionally, WECHEER wanted to detect problems quickly and respond to them as soon as possible before their customers notice or even complain about them. With Thundra, there has been a drastic improvement up to 75% in finding the problematic part in the serverless systems. When something goes wrong in the system, the engineering teams immediately receive alerts from Thundra via Slack. With actionable alerts provided by Thundra, WECHEER engineers navigate to the problem on Thundra console to look closer into the problematic part and take rapid action.
Visualizing Data Processing Pipeline
WECHEER engineers take advantage of Thundra even when everything seems peaceful because Thundra enables them to visualize their data processing pipeline and optimize it with its trace charts.“We can easily see our processing pipeline which processes are taking too much time and we are making optimizations where it mattered not where we thought it would matter.”, says Valentin Muste, the Senior Software Engineer at WECHEER. For example; the image below shows that WECHEER can possibly optimize some of their queries to the DynamoDB database and save more time and money with the serverless system.
With Thundra’s unique custom metric support, WECHEER can classify the invocations with respect to the bottle brand, location, and many more attributes. WECHEER plans to use this capability to set up even more advanced analytics with the help of Thundra.
WECHEER selected AWS for the serverless compute platform to scale with the inbound traffic and to take advantage of the less-ops paradigm. The preference for Thundra enabled them to maintain visibility in a stateless and distributed system. Thundra now plays a key role in WECHEER’s software delivery cycle and they’re looking forward to continuing Thundra as a solution for maintaining operational excellence of their system resulting in high resolution visibility on the data pipeline.