The explosive growth of the “Internet of Things (IoT)” is changing our daily lives – and our daily coffee fix. Flow Coffee (FLOW) have successfully combined technology with the art of making great coffee. Their innovative, data-driven solution sits at the core of their value proposition. Their mission, to “make every coffee excellent.” FLOW use IoT technology to ensure the quality and consistency for every coffee poured.
Data captured by IoT devices can offer valuable business insights, enabling data-driven analysis and action. For businesses providing analysis and action services using these IoT devices, such as FLOW, it is important they have a reliable and scalable platform to support the collection of data from these devices.
With OSS Group providing architecture, design and build services to FLOW, we were able to design and develop the FLOW cloud platform and solution, leveraging AWS IoT and serverless capabilities. We built the platform to facilitate IoT device management and data streaming for the rapidly expanding FLOW IoT fleet.
Using IoT Devices and Data to Make Every Coffee Excellent
FLOW’s main product offering is a system made up of three components:
This transforms coffee machines into smart systems, capturing water flow rate data as the coffee is produced. By measuring the water flow rate, the smart device can determine extraction volume and extraction time, which are primary indicators of the quality of an espresso poured. Maintenance information such as machine cleaning and water filter replacement cycles are also captured and help with managing equipment upkeep.
As a coffee is being poured, a real-time display allows the operating barista to ensure quality and consistency for every coffee made. If the coffee is not deemed 100% perfect, this can signal changes the barista should make to the coffee machine grinder settings, for example.
This same data is also fed into dashboards providing management with a view of how consistently they are producing quality coffee and guiding astute decisions based on reliable data. Many of FLOW’s customers are large players in the food and beverage sector, and have high expectations around the delivery of great coffee with every customer visit. They need to make sure their baristas get it right and can adjust immediately to accommodate quality results.
The challenge for FLOW was managing all these separate devices and subsequent data pipelines across their own customer base. That’s where OSS Group came in…
Designing the Systems Architecture
Already operating within an AWS environment, FLOW approached OSS Group with a plan to migrate to a new serverless environment.
FLOW needed a platform that could easily scale, manage devices and be production ready, with high availability and new features. The ability to rapidly innovate, keep cost structures based on load, and to have a documented, repeatable build were important factors in the design.
For these reasons, a serverless cloud-based architecture was preferred. AWS provided suitable cloud services for this project including their IoT, stream analytics, managed data storage products, along with AWS Kinesis (Apache Flink) and Lambda for business logic.
Glen Ogilvie (OSS Group AWS Architect, DevOps Engineer and Automation Specialist) improved the design and automated the solution build. With his expertise came the understanding of how best to configure and manage the AWS services needed to ensure success for FLOW.
Building the Infrastructure with OSS Group and AWS Solutions
As part of the FLOW engagement, OSS Group helped design a solution that best used AWS services to be cost efficient, highly available and optimised. We built demonstration Lambda code to connect the various AWS resources together, while making sure that security policies, networking and service configuration were functional. The need for a documented, repeatable build led to the use of Terraform, providing exact and consistent Azure, AWS, MongoDB and Elasticsearch configuration across multiple environments.
OSS Group defined and built CICD pipelines, with AWS CodeBuild and deployment strategies for the various code components. Deployment included blue/green API layers allowing front-end application and API behaviours to be tested for a subset of FLOW customers. Our expertise with AWS architecture, CICD and IaC (Infrastructure as Code) ultimately allowed FLOW developers to focus on the development of application code and to have the infrastructure and application design closely linked. FLOW ended up with a feature rich and easily modifiable architecture.
Security was another essential feature to consider for this solution. Many of FLOW’s own customers require role-based access and single sign-on (SSO) for operating the devices within their own environments. OSS Group used AWS Cognito, AppSync and Azure Active Directory (AD) to design, simulate and build an application-level security model for user access. We ensured AWS service level security followed good practice with tight IAM-controlled access, management VPNs and network-level security.
At OSS Group we pride ourselves on our relationships with our customers. Having a comfortable working relationship between the two parties ensured a collaborative engagement and many productive back-and-forth discussions to find the best ways to optimise the architecture. This flexibility allowed us to change aspects of the design during the process, ultimately providing a better, more efficient end solution.
Ultimately, our solution utilised the unique benefits of a custom AWS services configuration and addressed the client’s IoT needs and desire for scalability, with minimal idle cost. As a start-up business, this allows them to scale up rapidly as they grow their customer base and onboard larger customers.