Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Kai Wähner
Technology Evangelist
kontakt@kai-waehner.de
LinkedIn
@KaiWaehner
www.kai-waehner.de
November 2016
Open Source ...
© Copyright 2000-2016 TIBCO Software Inc.
• an ultra-lightweight integration framework powered by Golang
• open source and...
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© Copyright 2000-2016 TIBCO Software Inc.
Internet of Things (IoT)
… refers to the ever-growing network of physical
object...
© Copyright 2000-2016 TIBCO Software Inc.
Integration Key for Success of IoT Projects
Without Integration
there is no
Inte...
© Copyright 2000-2016 TIBCO Software Inc.
Processes Analytics
APIs Streams & Events
Interconnect Everything
Devices
Equipm...
© Copyright 2000-2016 TIBCO Software Inc.
Hybrid Integration Platform (HIP)
Application
Integration
Application
Integratio...
© Copyright 2000-2016 TIBCO Software Inc.
Why Project Flogo?
Much lighter to run not only in the cloud but also on devices
50X lighter than Java Dropwizard
20X lighter than IBM Node-R...
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© Copyright 2000-2016 TIBCO Software Inc.
Open Source since October 2016…
http://www.flogo.io
© Copyright 2000-2016 TIBCO Software Inc.
What is it?
Project Flogo IoT Example
Flogo Concepts to the End User
Trigger
Flow
Activity
Error Handler
Flogo App
One or more Flows
Flows
Activities + Transiti...
© Copyright 2000-2016 TIBCO Software Inc.
Live Demo
Flogo in Action à Overview
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
Build Cloud-Native, Lightweight Microservices
• Public Cloud
• Containers on PaaS
• Serverless Architectures
© Copyright 2...
© Copyright 2000-2016 TIBCO Software Inc.
Examples of IoT Edge Microservices
Typical IoT Integration Scenario
What’s wrong with
Cloud-only IoT Integration?
• Connectivity is unreliable
• Non-trivial ...
A better IoT Integration Blueprint
• Local control = more reliable
• Less traffic = LowerTCO
• Edge integration & event pr...
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
How do you build edge apps today?
Java
• Heavy (>200MB)
• Not agile
• Robust
• Licensing risk
NodeJS
• Lighter (~70MB)
• A...
© Copyright 2000-2016 TIBCO Software Inc.
Why Go?
Modern programming language
Getting a lot of traction due to usage in fr...
So what is the Difference?
Hardware
OS
VM - JVM
Framework - OSGi
App
Eclipse Kura
Hardware
OS
VM – V8
Framework – Node.js
...
Comparison – Resource Requirements of IoT Frameworks
Eclipse Kura Node-RED Flogo
VM JVM V8 Golang
Base Disk Space 59 MB 56...
Flogo Repositories on Github
flogo-lib
Core libraries.
flogo-services
Backing services required by Flogo for flow
and stat...
© Copyright 2000-2016 TIBCO Software Inc.
Live Demo
Flogo in Action à Source Code
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
Flogo Architecture
Trigger(s) Action
ActivityActivity
Activity
Flow
Your
custom
Go code
github.com/TIBCOSoftware/
flogo-li...
© Copyright 2000-2016 TIBCO Software Inc.
• Wire together hardware devices, APIs and online services
• Integrate and orche...
© Copyright 2000-2016 TIBCO Software Inc.
• Open source framework (permissive BSD license)
• Ultra-light footprint (powere...
Web-Native Step-Back Debugger
• Step back in a flow
• Interactively design/debug
your process
• Simulate sensor events
• C...
© Copyright 2000-2016 TIBCO Software Inc.
Live Demo
Flogo in Action à Features
Outlook: Flogo Nanoservices on Microcontrollers
Flogo nanoservices that target
microcontrollers like ARM M0
Offload I/O ce...
Outlook: Conversational User Experience with Design Bots
Conversational
Design Experience
Flow-based
User Interface
…comin...
© Copyright 2000-2016 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
Intel IoT Reference Architecture
Potential Flogo use cases
• Event-driven flows & rules
• Device Lifecycle Mgmt
• User Exp...
Amazon IoT Reference Architecture
Potential Flogo use cases
• Event-driven Flows
• Device Lifecycle Mgmt
• Orchestration
C...
Google IoT Reference Architecture
© Copyright 2000-2016 TIBCO Software Inc.
Serverless Architecture with IBM’s OpenWhisk (Open Source)
https://apiguy.tokyo/...
© Copyright 2000-2016 TIBCO Software Inc.
• an ultra-lightweight integration framework powered by Golang
• open source and...
Questions? Please contact me!
Kai Wähner
Technology Evangelist
kontakt@kai-waehner.de
@KaiWaehner
www.kai-waehner.de
Linke...
Upcoming SlideShare
Loading in …5
×

Open Source IoT Project Flogo - Introduction, Overview and Architecture

14,211 views

Published on

Go-powered Open Source Project Flogo for Lightweight IoT and Edge Integration:


The Internet of Things (IoT) brings up 50 billion devices until 2020, which have to be connected somehow. Challenges include low bandwidth, high latency, non-reliable connectivity and the need for low network costs. Therefore, a gateway at the edge is needed remotely on site of the devices to filter, aggregate and send just relevant data into the cloud or data center.

This session introduces open source project Flogo, which allows developing ultra-lightweight IoT edge applications with a zero-coding web user interface. Coders can also rely just on Go code if they want. It is written in Go programming language and therefore 20-50x more lightweight than similar Java or JavaScript frameworks.

The session focuses on live demos and shows how to develop ultra-lightweight microservices and how to integrate IoT devices using standards such as MQTT, WebSockets, CoaP or REST. The last part of the session compares Project Flogo to other open source IoT projects like Eclipse Kura or Node-RED and cloud offerings such as AWS IoT.

Check out www.flogo.io and https://community.tibco.com/products/project-flogo for more information and community.

Published in: Technology

Open Source IoT Project Flogo - Introduction, Overview and Architecture

  1. 1. Kai Wähner Technology Evangelist kontakt@kai-waehner.de LinkedIn @KaiWaehner www.kai-waehner.de November 2016 Open Source Project Flogo for Integration of the Internet of Things and Ultra-Lightweight Microservices
  2. 2. © Copyright 2000-2016 TIBCO Software Inc. • an ultra-lightweight integration framework powered by Golang • open source and easily extendable • used to develop IoT edge apps or cloud-native / serverless microservices • complementary to other integration solutions and IoT cloud platforms Key Takeaways Flogo is …
  3. 3. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  4. 4. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  5. 5. © Copyright 2000-2016 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. 6. © Copyright 2000-2016 TIBCO Software Inc. Integration 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. 7. © Copyright 2000-2016 TIBCO Software Inc. Processes Analytics APIs Streams & Events Interconnect Everything Devices Equipment CORE Run the Business EDGE Change the Business People
  8. 8. © Copyright 2000-2016 TIBCO Software Inc. Hybrid Integration Platform (HIP) Application Integration Application Integration (on a PaaS) iPaaS Integration Platform as a Service iSaaS Integration Software as a Service Cloud-Ready Cloud-Native API Management On Premise Public Cloud Public Cloud Public Cloud On Premise Public Cloud Process Integration Business Process Management Platform Streaming Analytics Fog Computing Edge Devices Edge Integration Analysts are sure: HIP is “the new default” in most enterprises!
  9. 9. © Copyright 2000-2016 TIBCO Software Inc. Why Project Flogo?
  10. 10. Much lighter to run not only in the cloud but also on devices 50X lighter than Java Dropwizard 20X lighter than IBM Node-Red
  11. 11. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  12. 12. © Copyright 2000-2016 TIBCO Software Inc. Open Source since October 2016… http://www.flogo.io
  13. 13. © Copyright 2000-2016 TIBCO Software Inc. What is it?
  14. 14. Project Flogo IoT Example
  15. 15. 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
  16. 16. © Copyright 2000-2016 TIBCO Software Inc. Live Demo Flogo in Action à Overview
  17. 17. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  18. 18. Build Cloud-Native, Lightweight Microservices • Public Cloud • Containers on PaaS • Serverless Architectures © Copyright 2000-2016 TIBCO Software Inc. Use Cases for Flogo IoT Edge Apps • Consumer • Industrial IoT
  19. 19. © Copyright 2000-2016 TIBCO Software Inc. Examples of IoT Edge Microservices
  20. 20. Typical IoT Integration Scenario What’s wrong with Cloud-only IoT Integration? • Connectivity is unreliable • Non-trivial latency in hops • Networks costs add up quickly
  21. 21. A better IoT Integration Blueprint • Local control = more reliable • Less traffic = LowerTCO • Edge integration & event processing
  22. 22. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  23. 23. How do you build edge apps today? Java • Heavy (>200MB) • Not agile • Robust • Licensing risk NodeJS • Lighter (~70MB) • Agile • Not IoT robust • Clear licensing C/C++ • Lightest • Not Agile • Robust • Clear licensing
  24. 24. © Copyright 2000-2016 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
  25. 25. So what is the Difference? Hardware OS VM - JVM Framework - OSGi App Eclipse Kura Hardware OS VM – V8 Framework – Node.js App Node-RED Hardware OS App Flogo Typically 100s of dependencies – 100MB+ “All included” zero- dependency model enabled by to Golang
  26. 26. Comparison – Resource Requirements of IoT Frameworks Eclipse Kura Node-RED Flogo VM JVM V8 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)
  27. 27. 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) Web Designer coming very soon – free to download and use!
  28. 28. © Copyright 2000-2016 TIBCO Software Inc. Live Demo Flogo in Action à Source Code
  29. 29. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  30. 30. Flogo Architecture Trigger(s) Action ActivityActivity Activity Flow Your custom Go code github.com/TIBCOSoftware/ flogo-lib/core/action Custom Action App Flow Service State Service
  31. 31. © Copyright 2000-2016 TIBCO Software Inc. • Wire together hardware devices, APIs and online services • Integrate and orchestrate stateless devices and microservices • Transform / Filter / Route / Aggregate / Enrich • Error handling, Re-Try, Re-Routing, Wait, Resume, etc. • State Management via State Service and Flow Service • Device activiation and diagnostics, performance management, ... • Recover from faults, continue where a device crashed, … • Not just a dataflow pipeline • Synchronous and asynchronous communication Flogo is a Process Engine
  32. 32. © Copyright 2000-2016 TIBCO Software Inc. • Open source framework (permissive BSD license) • Ultra-light footprint (powered by Go) for edge devices (disk and memory) • Zero dependency model • Can be run on a variety of platforms (edge devices, on premise, cloud, container) • Deployable on small computers or directly on (even very small) devices • Connectivity to IoT technologies (MQTT, CoaP, REST, …) • Highly optimized for unreliable IoT environments • For developers / integration specialists / citizen integrators • Web UI for visual coding, testing, debugging • Extendable SDKs / APIs • Some innovating features and attributes • Step-back debugger • Remote Operations and Analysis • Etc. Characteristics
  33. 33. Web-Native Step-Back Debugger • Step back in a flow • Interactively design/debug your process • Simulate sensor events • Change data or configuration and run from Trigger or any Activity • Underlying technology could be used to support remote ops debugging of failed flows
  34. 34. © Copyright 2000-2016 TIBCO Software Inc. Live Demo Flogo in Action à Features
  35. 35. Outlook: Flogo Nanoservices on Microcontrollers Flogo nanoservices that target microcontrollers like ARM M0 Offload I/O centric compute farther off to the edge.
  36. 36. Outlook: Conversational User Experience with Design Bots Conversational Design Experience Flow-based User Interface …coming in 2017.
  37. 37. © Copyright 2000-2016 TIBCO Software Inc. 1) IoT Edge Applications 2) Overview about Flogo 3) Use Cases 4) Go-powered Source Code 5) Architecture and Features 6) IoT Reference Architectures Agenda
  38. 38. Intel IoT Reference Architecture Potential Flogo use cases • Event-driven flows & rules • Device Lifecycle Mgmt • User Experience Core Integration Agile Microservices API Management
  39. 39. Amazon IoT Reference Architecture Potential Flogo use cases • Event-driven Flows • Device Lifecycle Mgmt • Orchestration Core Integration Agile Microservices API Management
  40. 40. Google IoT Reference Architecture
  41. 41. © Copyright 2000-2016 TIBCO Software Inc. Serverless Architecture with IBM’s OpenWhisk (Open Source) https://apiguy.tokyo/2016/03/01/openwhisk-a-world-first-in-open-serverless-architecture/ Flogo Edge App Flogo Edge GateWay Ultra- Lightweight Serverless Flogo App
  42. 42. © Copyright 2000-2016 TIBCO Software Inc. • an ultra-lightweight integration framework powered by Golang • open source and easily extendable • used to develop IoT edge apps or cloud-native / serverless microservices • complementary to other integration solutions and IoT cloud platforms Key Takeaways Flogo is …
  43. 43. Questions? Please contact me! Kai Wähner Technology Evangelist kontakt@kai-waehner.de @KaiWaehner www.kai-waehner.de LinkedIn

×