Internet of Tomatoes: Building a Scalable Cloud Architecture

Five years ago we started on a journey of building a website monitoring tool. Little did I know that this would land up morphing into a full IoT based agriculture platform. Discussing if tomatoes need dark hours to sleep was not the type of question I had anticipated having to answer. But don't underestimate how you can innovate the agriculture world with your technology. At 30MHz we're building a data platform for the agriculture sector. It provides full insight into the climatic conditions of horticultural and agricultural produce for all stakeholders in the sector. This includes ingesting all kinds of data sources and analysing the information interactively - enabling the continuous improvement of the production process for crops, plants, seeds, and bulbs.  
In this talk I'll tell the story of our platform and how we ended up helping growers in 30 countries, deploying 3.5K sensors and process data at 4K events per minute. I'll share our architecture, how it grew, the challenges, and how we are continuing to transform it - for example - to learn how to grow the best tomatoes!  
Key takeaways:  
  • Gain insight into a concrete solution for gathering, storing and accessing big amounts of real-time time-based data.
  • Understand some of the problems that you could encounter building such a platform.
  • Get inspiration for embarking on projects related to IoT, (big) data collection or even getting into the agriculture industry.

What is the work you're doing today?

I am the CTO of 30MHz, we're an agriculture platform company. Our users are farmers and we try to gather all of the data from different systems onto one platform to enable them to work with it, to visualize it, learn, advise, communicate about it. One important part of our platform is sensing the data. From the beginning, we have been working with sensors that we connect to the platform. We collect data every minute. So sensor data is a big part of it. And this is data which is coming continuously, every minute for every sensor. These can be sensors for temperature, air humidity, soil humidity, CO2, these kinds of things.

Do you also go into the fields and put down sensors?

We integrate sensors and produce them to connect to our platform. They are wireless. As part of our offer, we provide wireless sensors which you can choose and locate in your greenhouse or even outside. We don't build the sensors ourselves, but we select them and integrate them to our platform by making them wireless and optimizing them to run on battery with very low power usage.

When you say wireless, are we talking about 3G?

I am not planning to talk much about this, but we use a proprietary wireless protocol called XBee. It's pretty efficient and allows us to send data very frequently. From all the options that we have tried, this is the one which works best.

What kinds of technology do you use internally for gathering all this streaming data? Kafka?

We don't use Kafka at the moment. It's something we consider. We started building our platform seven years ago. Our architecture, running on AWS, is based into different components, each with a very specific function. Each of these components is resilient in itself, and they communicate with each other using queues, SQS.

What are the takeaways from your talk?

I'm going to give 10 architectural patterns to build software for scale. Be ready to scale two or three times the current load is one of the things that I would advise. Monitor everything because then you know which parts you have to re-architect. If you architect for scale, your platform can adapt to new functionality.


Flavia Paganelli

CTO and Founder @30Mhz

Flavia is co-founder and CTO of 30MHz, a data platform for agriculture with a mission to grow food more sustainably and efficiently. At 30MHz, the challenges range from managing a fleet of thousands of devices to making beautiful visualizations for data, and let's not forget the terabytes of...

Read more


Whittle, 3rd flr.


Streaming Data Architectures


Interview AvailableIoT PlatformsArchitecture


Slides are not available


From the same track

SESSION + Live Q&A Interview Available

Streaming a Million likes/second: Real-time Interactions on Live Video

When a broadcaster like BBC streams a live video on LinkedIn, tens of thousands of viewers will watch it concurrently. Typically, hundreds of likes on the video will be streamed in real-time to all of these viewers. That amounts to a million likes/second streamed to viewers per live video. How do...

Akhilesh Gupta

Sr. Staff Software Engineer @LinkedIn

SESSION + Live Q&A London

Databases and Stream Processing: A Future of Consolidation

Are databases and stream processors wholly different things, or are they really two sides of the same coin? Certainly, stream processors feel very different from traditional databases when you use them. In this talk, we’ll explore why this is true, but maybe more importantly why it's...

Benjamin Stopford

Author of “Designing Event Driven Systems” & Senior Director @confluentinc

SESSION + Live Q&A Interview Available

From Batch to Streaming to Both

In this talk I walk through how the streaming data platform at Skyscanner evolved over time. This platform now processes hundreds of billions of events per day, including all our application logs, metrics and business events. But streaming platforms are hard, and we did not get it right on day...

Herman Schaaf

Senior Software Engineer @Skyscanner

SESSION + Live Q&A Silicon Valley

Machine Learning Through Streaming at Lyft

Uses of Machine Learning are pervasive in today’s world. From recommendations systems to ads serving. In the world of ride sharing we use Machine Learning to make a lot of decisions in realtime, for example: supply/demand curves are used to get an accurate ETA(estimated time of arrival) and...

Sherin Thomas

Senior Software Engineer @Lyft

UNCONFERENCE + Live Q&A Silicon Valley

Streaming Data Architectures Open Space

Details to follow.

View full Schedule