SlideShare a Scribd company logo
1 of 29
Kai Wähner
Technology Evangelist
kontakt@kai-waehner.de
LinkedIn
@KaiWaehner
www.kai-waehner.de
Gophercon 2017 (Pune, India)
Golang-powered Open Source Project Flogo for IoT Integration
© Copyright 2000-2017 TIBCO Software Inc.
• an ultra-lightweight integration framework powered by Golang
• open source under the very permissive BSD license and easily extendable
• used to develop IoT edge applications and other lightweight microservices
• complementary to other integration solutions, middleware and IoT cloud platforms
Key Takeaways
Flogo is …
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
© Copyright 2000-2017 TIBCO Software Inc.
Internet of Things (IoT)
… refers to the ever-growing network of physical
objects that feature an IP address for internet
connectivity, and the communication that occurs
between these objects and other Internet-enabled
devices and systems.
© Copyright 2000-2017 TIBCO Software Inc.
Integration is Key for Success of IoT Projects
Without Integration
there is no
Internet of Things!
Gartner
Market Guide for IoT Integration
“Through 2018, half the cost of
implementing IoT solutions will be
spent on integration.“
Strategic Planning Assumption,
Benoit J. Lheureux, Massimo Pezzini, Alfonso Velosa
!
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
© Copyright 2000-2017 TIBCO Software Inc.
Available since October 2016…
http://www.flogo.io
Flogo Concepts to the End User
Trigger
Flow
Activity
Error Handler
Flogo App
One or more Flows
Flows
Activities + Transitions +
Optional error handler
Triggers
Starts those flows
© Copyright 2000-2017 TIBCO Software Inc.
• Wire together hardware devices, APIs and online services
• Control Devices via State Management (Re-Try, re-route, wait, resume, recover, …)
• Not just a dataflow pipeline
• Highly optimized for unreliable IoT environments
• Ultra-light footprint (powered by Go) for edge devices (disk and memory)
• Zero dependency model
• Web-native remote debugger
Flogo is a Process Engine
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
Use Cases for Flogo
IoT Edge Applications
• Consumer IoT
• Industrial IoT
Initial Use Case
© Copyright 2000-2017 TIBCO Software Inc.
Data Processing at the Edge in an IoT World
http://a16z.com/2017/12/16/the-end-of-cloud-computing/
© Copyright 2000-2017 TIBCO Software Inc.
Fog Computing (sometimes also called Edge Computing)
http://www.slideshare.net/Angelo.Corsaro/20141210-fog
… keep data closer
‘to the edge’
!
Benefits:
• Local control = more reliable
• Less traffic = LowerTCO
• Edge integration & event processing
& analytics / machine learning
Build Cloud-Native, Lightweight Microservices
• Public Cloud
• Containers on PaaS
• Serverless Architectures
Use Cases for Flogo
IoT Edge Applications
• Consumer IoT
• Industrial IoT
Initial Use Case Other Options
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
© Copyright 2000-2017 TIBCO Software Inc.
Why Go?
Modern programming language
Getting a lot of traction due to usage in frameworks like Docker or Kubernetes
Concurrency
Built into the language (Goroutines, channels, no explicit thread programming)
Memory management
Modern Garbage collector
Statically typed
Type-safe development with no “surprises” during runtime
“Partly” object-oriented
Simple and flexible type system, composition instead of inheritance
Zero-dependency programming model
All-included binary file, no dependent “external” libraries
Speed
Ultra fast compilation and startup time, very lightweight footprint
Comparison – Resource Requirements of IoT Integration Frameworks
Eclipse Kura Node-RED Flogo
VM JVM JavaScriptV8 Golang
Base Disk Space 59 MB 56 MB ~ 0 MB
Base Runtime Memory ~ 170 MB (with Open JDK)
~ 20 MB (with Oracle Embedded Java)
> 50 MB ~ 5 MB
Startup time Slow (~8 sec) Slow (~5 sec) Fast (~1 sec)
Application Build Slow Not Applicable Fast (~2 secs)
Flogo Repositories on Github
flogo-lib
Core libraries.
flogo-services
Backing services required by Flogo for flow
and state management.
flogo-contrib
Flogo extensions available out of the box, like
triggers or activities.
flogo-cli
A command line tool to build Flogo apps.
https://github.com/TIBCOSoftware/flogo
(very permissive open source BSD license)
Flogo Web Designer available for free as Docker Image
© Copyright 2000-2017 TIBCO Software Inc.
How to build a custom Flogo adapter
http://www.tibco.com/blog/2017/01/06/how-to-build-a-custom-flogo-adapter/
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
© Copyright 2000-2017 TIBCO Software Inc.
Live Demo
Flogo in Action
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Source Code
5) Live Demo
6) IoT Reference Architectures
Agenda
Amazon IoT Reference Architecture
Potential use cases
• Event-driven Flows
• Device Lifecycle Mgmt
• Orchestration
Core Integration
Agile Microservices
API Management
Google IoT Reference Architecture
Edge apps
Lightweight
edge apps
© Copyright 2000-2017 TIBCO Software Inc.
Serverless Architecture with IBM’s OpenWhisk (Open Source)
https://apiguy.tokyo/2017/03/01/openwhisk-a-world-first-in-open-serverless-architecture/
Edge
App
Edge
Gateway
Ultra-
Lightweight
Serverless
App
© Copyright 2000-2017 TIBCO Software Inc.
• an ultra-lightweight integration framework powered by Golang
• open source under the very permissive BSD license and easily extendable
• used to develop IoT edge applications and other lightweight microservices
• complementary to other integration solutions, middleware and IoT cloud platforms
Key Takeaways
Flogo is …
Outlook: Flogo Nanoservices on Microcontrollers
Flogo nanoservices that target
microcontrollers like ARM M0
Offload I/O centric compute
farther off to the edge.
Questions? Please contact me!
Kai Waehner
Technology Evangelist
kontakt@kai-waehner.de
@KaiWaehner
www.kai-waehner.de
LinkedIn

More Related Content

Similar to Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon)

Open Source IoT Project Flogo - Introduction, Overview and Architecture
Open Source IoT Project Flogo - Introduction, Overview and ArchitectureOpen Source IoT Project Flogo - Introduction, Overview and Architecture
Open Source IoT Project Flogo - Introduction, Overview and ArchitectureKai Wähner
 
Comparison of Open Source Frameworks for Integrating the Internet of Things
Comparison of Open Source Frameworks for Integrating the Internet of ThingsComparison of Open Source Frameworks for Integrating the Internet of Things
Comparison of Open Source Frameworks for Integrating the Internet of ThingsKai Wähner
 
IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...
IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...
IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...Kai Wähner
 
Smart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterSmart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterLuxoft
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...mCloud
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesKai Wähner
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfWlamir Molinari
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
 
Project Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseProject Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseLeon Stigter
 
FogFlow: Cloud-Edge Orchestrator in FIWARE
FogFlow: Cloud-Edge Orchestrator in FIWAREFogFlow: Cloud-Edge Orchestrator in FIWARE
FogFlow: Cloud-Edge Orchestrator in FIWAREBin Cheng
 
FIWARE Tech Summit - FogFlow - New GE for IoT Edge Computing
FIWARE Tech Summit - FogFlow - New GE for IoT Edge ComputingFIWARE Tech Summit - FogFlow - New GE for IoT Edge Computing
FIWARE Tech Summit - FogFlow - New GE for IoT Edge ComputingFIWARE
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Alaina Carter
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DHiromu Hota
 
Cloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons LearnedCloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons LearnedKai Wähner
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015Jollen Chen
 
The fight for surviving in the IoT world
The fight for surviving in the IoT worldThe fight for surviving in the IoT world
The fight for surviving in the IoT worldRadu Vunvulea
 
The fight for surviving in the IoT world - Radu Vunvulea
The fight for surviving in the IoT world - Radu VunvuleaThe fight for surviving in the IoT world - Radu Vunvulea
The fight for surviving in the IoT world - Radu VunvuleaITCamp
 
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Johan Thelin
 

Similar to Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon) (20)

Open Source IoT Project Flogo - Introduction, Overview and Architecture
Open Source IoT Project Flogo - Introduction, Overview and ArchitectureOpen Source IoT Project Flogo - Introduction, Overview and Architecture
Open Source IoT Project Flogo - Introduction, Overview and Architecture
 
Comparison of Open Source Frameworks for Integrating the Internet of Things
Comparison of Open Source Frameworks for Integrating the Internet of ThingsComparison of Open Source Frameworks for Integrating the Internet of Things
Comparison of Open Source Frameworks for Integrating the Internet of Things
 
IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...
IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...
IoT Open Source Integration Comparison (Kura, Node-RED, Flogo, Apache Nifi, S...
 
Smart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah FosterSmart Device Link Integration into Linux systems by Jeremiah Foster
Smart Device Link Integration into Linux systems by Jeremiah Foster
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Project Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the EnterpriseProject Flogo: An Event-Driven Stack for the Enterprise
Project Flogo: An Event-Driven Stack for the Enterprise
 
FogFlow: Cloud-Edge Orchestrator in FIWARE
FogFlow: Cloud-Edge Orchestrator in FIWAREFogFlow: Cloud-Edge Orchestrator in FIWARE
FogFlow: Cloud-Edge Orchestrator in FIWARE
 
FIWARE Tech Summit - FogFlow - New GE for IoT Edge Computing
FIWARE Tech Summit - FogFlow - New GE for IoT Edge ComputingFIWARE Tech Summit - FogFlow - New GE for IoT Edge Computing
FIWARE Tech Summit - FogFlow - New GE for IoT Edge Computing
 
Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020Top 10 python frameworks for web development in 2020
Top 10 python frameworks for web development in 2020
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&D
 
Drone data sync
Drone data syncDrone data sync
Drone data sync
 
Cloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons LearnedCloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons Learned
 
IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015IoT and Maker Crossover (IMCO) Conference 2015
IoT and Maker Crossover (IMCO) Conference 2015
 
The fight for surviving in the IoT world
The fight for surviving in the IoT worldThe fight for surviving in the IoT world
The fight for surviving in the IoT world
 
The fight for surviving in the IoT world - Radu Vunvulea
The fight for surviving in the IoT world - Radu VunvuleaThe fight for surviving in the IoT world - Radu Vunvulea
The fight for surviving in the IoT world - Radu Vunvulea
 
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014MachinePulse at the November Open Hardware Meetup, Mumbai 2014
MachinePulse at the November Open Hardware Meetup, Mumbai 2014
 
Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
 

More from Kai Wähner

Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)Kai Wähner
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?Kai Wähner
 
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kafka for Live Commerce to Transform the Retail and Shopping MetaverseKafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kafka for Live Commerce to Transform the Retail and Shopping MetaverseKai Wähner
 
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
The Heart of the Data Mesh Beats in Real-Time with Apache KafkaThe Heart of the Data Mesh Beats in Real-Time with Apache Kafka
The Heart of the Data Mesh Beats in Real-Time with Apache KafkaKai Wähner
 
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform MiddlewareApache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform MiddlewareKai Wähner
 
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?Kai Wähner
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureServerless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureKai Wähner
 
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...Kai Wähner
 
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryData Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryKai Wähner
 
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryApache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryKai Wähner
 
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryApache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryKai Wähner
 
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Apache Kafka for Real-time Supply Chainin the Food and Retail IndustryApache Kafka for Real-time Supply Chainin the Food and Retail Industry
Apache Kafka for Real-time Supply Chain in the Food and Retail IndustryKai Wähner
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKai Wähner
 
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0Kai Wähner
 
Apache Kafka Landscape for Automotive and Manufacturing
Apache Kafka Landscape for Automotive and ManufacturingApache Kafka Landscape for Automotive and Manufacturing
Apache Kafka Landscape for Automotive and ManufacturingKai Wähner
 
Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKai Wähner
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022Kai Wähner
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesEvent Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesKai Wähner
 
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...Kai Wähner
 
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Kai Wähner
 

More from Kai Wähner (20)

Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kafka for Live Commerce to Transform the Retail and Shopping MetaverseKafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
 
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
The Heart of the Data Mesh Beats in Real-Time with Apache KafkaThe Heart of the Data Mesh Beats in Real-Time with Apache Kafka
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
 
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform MiddlewareApache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
 
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureServerless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
 
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
 
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryData Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
 
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryApache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare Industry
 
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryApache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare Industry
 
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Apache Kafka for Real-time Supply Chainin the Food and Retail IndustryApache Kafka for Real-time Supply Chainin the Food and Retail Industry
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
 
Apache Kafka Landscape for Automotive and Manufacturing
Apache Kafka Landscape for Automotive and ManufacturingApache Kafka Landscape for Automotive and Manufacturing
Apache Kafka Landscape for Automotive and Manufacturing
 
Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology Comparison
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesEvent Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
 
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
 
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
 

Recently uploaded

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Flogo - A Golang-powered Open Source IoT Integration Framework (Gophercon)

  • 1. Kai Wähner Technology Evangelist kontakt@kai-waehner.de LinkedIn @KaiWaehner www.kai-waehner.de Gophercon 2017 (Pune, India) Golang-powered Open Source Project Flogo for IoT Integration
  • 2. © Copyright 2000-2017 TIBCO Software Inc. • an ultra-lightweight integration framework powered by Golang • open source under the very permissive BSD license and easily extendable • used to develop IoT edge applications and other lightweight microservices • complementary to other integration solutions, middleware and IoT cloud platforms Key Takeaways Flogo is …
  • 3. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 4. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 5. © Copyright 2000-2017 TIBCO Software Inc. Internet of Things (IoT) … refers to the ever-growing network of physical objects that feature an IP address for internet connectivity, and the communication that occurs between these objects and other Internet-enabled devices and systems.
  • 6. © Copyright 2000-2017 TIBCO Software Inc. Integration is Key for Success of IoT Projects Without Integration there is no Internet of Things! Gartner Market Guide for IoT Integration “Through 2018, half the cost of implementing IoT solutions will be spent on integration.“ Strategic Planning Assumption, Benoit J. Lheureux, Massimo Pezzini, Alfonso Velosa !
  • 7. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 8. © Copyright 2000-2017 TIBCO Software Inc. Available since October 2016… http://www.flogo.io
  • 9. Flogo Concepts to the End User Trigger Flow Activity Error Handler Flogo App One or more Flows Flows Activities + Transitions + Optional error handler Triggers Starts those flows
  • 10. © Copyright 2000-2017 TIBCO Software Inc. • Wire together hardware devices, APIs and online services • Control Devices via State Management (Re-Try, re-route, wait, resume, recover, …) • Not just a dataflow pipeline • Highly optimized for unreliable IoT environments • Ultra-light footprint (powered by Go) for edge devices (disk and memory) • Zero dependency model • Web-native remote debugger Flogo is a Process Engine
  • 11. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 12. Use Cases for Flogo IoT Edge Applications • Consumer IoT • Industrial IoT Initial Use Case
  • 13. © Copyright 2000-2017 TIBCO Software Inc. Data Processing at the Edge in an IoT World http://a16z.com/2017/12/16/the-end-of-cloud-computing/
  • 14. © Copyright 2000-2017 TIBCO Software Inc. Fog Computing (sometimes also called Edge Computing) http://www.slideshare.net/Angelo.Corsaro/20141210-fog … keep data closer ‘to the edge’ ! Benefits: • Local control = more reliable • Less traffic = LowerTCO • Edge integration & event processing & analytics / machine learning
  • 15. Build Cloud-Native, Lightweight Microservices • Public Cloud • Containers on PaaS • Serverless Architectures Use Cases for Flogo IoT Edge Applications • Consumer IoT • Industrial IoT Initial Use Case Other Options
  • 16. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 17. © Copyright 2000-2017 TIBCO Software Inc. Why Go? Modern programming language Getting a lot of traction due to usage in frameworks like Docker or Kubernetes Concurrency Built into the language (Goroutines, channels, no explicit thread programming) Memory management Modern Garbage collector Statically typed Type-safe development with no “surprises” during runtime “Partly” object-oriented Simple and flexible type system, composition instead of inheritance Zero-dependency programming model All-included binary file, no dependent “external” libraries Speed Ultra fast compilation and startup time, very lightweight footprint
  • 18. Comparison – Resource Requirements of IoT Integration Frameworks Eclipse Kura Node-RED Flogo VM JVM JavaScriptV8 Golang Base Disk Space 59 MB 56 MB ~ 0 MB Base Runtime Memory ~ 170 MB (with Open JDK) ~ 20 MB (with Oracle Embedded Java) > 50 MB ~ 5 MB Startup time Slow (~8 sec) Slow (~5 sec) Fast (~1 sec) Application Build Slow Not Applicable Fast (~2 secs)
  • 19. Flogo Repositories on Github flogo-lib Core libraries. flogo-services Backing services required by Flogo for flow and state management. flogo-contrib Flogo extensions available out of the box, like triggers or activities. flogo-cli A command line tool to build Flogo apps. https://github.com/TIBCOSoftware/flogo (very permissive open source BSD license) Flogo Web Designer available for free as Docker Image
  • 20. © Copyright 2000-2017 TIBCO Software Inc. How to build a custom Flogo adapter http://www.tibco.com/blog/2017/01/06/how-to-build-a-custom-flogo-adapter/
  • 21. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 22. © Copyright 2000-2017 TIBCO Software Inc. Live Demo Flogo in Action
  • 23. © Copyright 2000-2017 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Live Demo 6) IoT Reference Architectures Agenda
  • 24. Amazon IoT Reference Architecture Potential use cases • Event-driven Flows • Device Lifecycle Mgmt • Orchestration Core Integration Agile Microservices API Management
  • 25. Google IoT Reference Architecture Edge apps Lightweight edge apps
  • 26. © Copyright 2000-2017 TIBCO Software Inc. Serverless Architecture with IBM’s OpenWhisk (Open Source) https://apiguy.tokyo/2017/03/01/openwhisk-a-world-first-in-open-serverless-architecture/ Edge App Edge Gateway Ultra- Lightweight Serverless App
  • 27. © Copyright 2000-2017 TIBCO Software Inc. • an ultra-lightweight integration framework powered by Golang • open source under the very permissive BSD license and easily extendable • used to develop IoT edge applications and other lightweight microservices • complementary to other integration solutions, middleware and IoT cloud platforms Key Takeaways Flogo is …
  • 28. Outlook: Flogo Nanoservices on Microcontrollers Flogo nanoservices that target microcontrollers like ARM M0 Offload I/O centric compute farther off to the edge.
  • 29. Questions? Please contact me! Kai Waehner Technology Evangelist kontakt@kai-waehner.de @KaiWaehner www.kai-waehner.de LinkedIn