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
Gophercon 2017 (Pune, Indi...
© Copyright 2000-2017 TIBCO Software Inc.
• an ultra-lightweight integration framework powered by Golang
• open source und...
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© Copyright 2000-2017 TIBCO Software Inc.
Internet of Things (IoT)
… refers to the ever-growing network of physical
object...
© Copyright 2000-2017 TIBCO Software Inc.
Integration is Key for Success of IoT Projects
Without Integration
there is no
I...
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© 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 + Transiti...
© Copyright 2000-2017 TIBCO Software Inc.
• Wire together hardware devices, APIs and online services
• Control Devices via...
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
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-o...
© Copyright 2000-2017 TIBCO Software Inc.
Fog Computing (sometimes also called Edge Computing)
http://www.slideshare.net/A...
Build Cloud-Native, Lightweight Microservices
• Public Cloud
• Containers on PaaS
• Serverless Architectures
Use Cases for...
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© Copyright 2000-2017 TIBCO Software Inc.
Why Go?
Modern programming language
Getting a lot of traction due to usage in fr...
Comparison – Resource Requirements of IoT Integration Frameworks
Eclipse Kura Node-RED Flogo
VM JVM JavaScriptV8 Golang
Ba...
Flogo Repositories on Github
flogo-lib
Core libraries.
flogo-services
Backing services required by Flogo for flow
and stat...
© Copyright 2000-2017 TIBCO Software Inc.
How to build a custom Flogo adapter
http://www.tibco.com/blog/2017/01/06/how-to-...
© Copyright 2000-2017 TIBCO Software Inc.
1) IoT Edge Applications
2) Overview about Flogo
3) Use Cases
4) Go-powered Sour...
© 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 Sour...
Amazon IoT Reference Architecture
Potential use cases
• Event-driven Flows
• Device Lifecycle Mgmt
• Orchestration
Core In...
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/...
© Copyright 2000-2017 TIBCO Software Inc.
• an ultra-lightweight integration framework powered by Golang
• open source und...
Outlook: Flogo Nanoservices on Microcontrollers
Flogo nanoservices that target
microcontrollers like ARM M0
Offload I/O ce...
Questions? Please contact me!
Kai Waehner
Technology Evangelist
kontakt@kai-waehner.de
@KaiWaehner
www.kai-waehner.de
Link...
Upcoming SlideShare
Loading in …5
×

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

3,752 views

Published on

Golang-powered open source IoT project Flogo to build ultra-lightweight integration microservices.

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 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 project Flogo: A 100% open source framework, which allows developing ultra lightweight IoT integration applications with a zero-coding web user interface or design chat bot. Coders can also rely just on code, of course. It is written in Google’s Go programming language and 20-50x more lightweight than similar Java or JavaScript frameworks. Therefore building very lightweight microservices independent of IoT is another good use case for this framework, e.g. for serverless architectures using open source frameworks such as OpenWhisk. The session focuses on live demos and shows how to build microservices and 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 Node-RED and SaaS offerings such as AWS IoT.

Please use the Flogo community to discuss or ask questions:
https://community.tibco.com/products/project-flogo

Video recording of these slides:
https://youtu.be/-ThK6BZdoxw

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 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. 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. 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. 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. 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. 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. 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. 8. © Copyright 2000-2017 TIBCO Software Inc. Available since October 2016… http://www.flogo.io
  9. 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. 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. 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. 12. Use Cases for Flogo IoT Edge Applications • Consumer IoT • Industrial IoT Initial Use Case
  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 22. © Copyright 2000-2017 TIBCO Software Inc. Live Demo Flogo in Action
  23. 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. 24. Amazon IoT Reference Architecture Potential use cases • Event-driven Flows • Device Lifecycle Mgmt • Orchestration Core Integration Agile Microservices API Management
  25. 25. Google IoT Reference Architecture Edge apps Lightweight edge apps
  26. 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. 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. 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. 29. Questions? Please contact me! Kai Waehner Technology Evangelist kontakt@kai-waehner.de @KaiWaehner www.kai-waehner.de LinkedIn

×