Presentation: Internet of Tomatoes: A Real Platform for a Real Problem

Track: Streaming Data Architectures

Location: Churchill, G flr.

Duration: 10:35am - 11:25am

Day of week: Monday

Share this on:

What You’ll Learn

  1. Hear about 30Mhz’s data platform and how they collect data from a large number of agricultural sensors.
  2. Find out 10 architectural patterns that help build a platform for scale.

Abstract

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 second. 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.
Question: 

What is the work you're doing today?

Answer: 

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.

Another nice thing to mention that we are working on is the Autonomous Greenhouse Project. We are using machine learning techniques to make an application which advises the grower on the best climate conditions for their crops and even to automate the control of their climate in a greenhouse. We are participating in a competition called Autonomous Greenhouse with the challenge to grow cherry tomatoes for six months remotely using artificial intelligence or data science techniques.

Question: 

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

Answer: 

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.

Question: 

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

Answer: 

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.

Question: 

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

Answer: 

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.

This is one of the topics I want to touch on. I want to talk about the evolution of the architecture and how we started, because the original platform was built for web monitoring, and then we incorporated sensors, and later we decided to totally focus on agriculture. I'll discuss the impact of these changes and how by having a robust architecture you can adapt it without too much pain. Along the way, we have found specific issues when trying to scale or to change and in each case, we solved them by replacing specific components, a bit like playing with Legos.

Question: 

What are the takeaways from your talk?

Answer: 

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.

Speaker: 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 data that need to be always available and quickly accessible.

Before 30MHz, Flavia founded 9Apps, a cloud boutique which helped startups scaling their Amazon Web Services infrastructure. ​She gathered the experience with AWS in three books published by O’Reilly: Programming Amazon EC2​,  ​Elastic Beanstalk, and​ Resilience and Reliability with AWS,​ which she co-authored.  

Flavia also worked at TomTom, where she developed their web route planner, and then at Layar to build their mobile Augmented Reality app.      

With a background in Computer Science, Flavia has been building software in diverse industries, languages and teams for more than half her life, and she is not planning to stop.

Find Flavia Paganelli at

Similar Talks

Scaling N26 Technology Through Hypergrowth

Qcon

Software Engineer and Tech Lead @N26

Folger Fonseca

Monitoring All the Things: Keeping Track of a Mixed Estate

Qcon

Principal Engineer Operations and Reliability Programme @FT

Luke Blaney

3 Disciplines for Leading a Distributed Agile Organization

Qcon

Distributed Coach/Mentor & Community Cultivator

Mark Kilby

Why Distributed Systems Are Hard

Qcon

Software Engineer @Pivotal

Denise Yu

A Brief History of the Future of the API

Qcon

Co-Author of gRPC for WCF Developers and Creator @VisualRecode

Mark Rendle

Preparing for the Unexpected

Qcon

Principal Engineer @FinancialTimes

Samuel Parkinson

Security Vulnerabilities Decomposition

Qcon

Principal Application Security Consultant @Veracode

Katy Anton

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

  • The Future of the API: REST, gRPC, GraphQL and More

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Modern CS in the Real World

    Head back to academia to solve today's problems in software engineering.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Driving Full Cycle Engineering Teams at Every Level

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications