 All right Next we have on stage Anshu Sharma. So he's going to talk about project flogu as Ultra weight internet of things apps framework. So the topic is connecting the edge Okay, thank you Hello everyone. My name is Anshu Sharma. I work as a solutions architect at Chipco. I've come here all the way from India to Speak at Fosdome. So before we start right, I'll just want to ask how many of you have built apps for IOT devices or Later around with your home automation with Raspberry Pi or our Dino's Okay, great quite a few. So as you all know, right, most of these devices do not have the luxury of huge computing power at their disposal They are usually equipped with very few MB of RAM and in some cases it's as low as few kbs So what I'm going to talk today in my talk connecting the edge is like how project flogu solves this problem And provides you enables you by providing a rich framework for building IOT apps So let's get started. So this is how the connectivity looks like right Everything right from your refrigerator, televisions, your cars, everything is getting connected to the internet So in 2015 itself, there were around 4.9 billion devices which were connected to internet And the estimate is around by 2020 there will be like hoping 50 billion devices connected things which will be connected to the net The problem with this is like we need to make sure like the technology challenge that how do we connect this devices But on the upside it's a huge market potential of 10 to 15 trillion dollars that is waiting for us to get for the developers to harness So what are the typical IOT use cases that we are seeing right now, right? We'll just see couple of them Industries are facing huge losses when their equipments are malfunctioning or breaking down So with IOT coming into picture these devices or the machineries are getting smart enough They are predicting enough like based on the data like when they are wearing out, when they need maintenance prehand So that we can plan the downtime accordingly Another prominent use case is connected cars right The cars are not only providing us with directional or navigational information But in the future based on your driving patterns and your habits based on the real time traffic conditions where the conditions It will also predict what is the probability of you getting into an accident and provide you useful insights Another popular use case is around smart twitters Wherein you can track your consumption of resources of electricity and water in real time And the system can provide you insights how you can save some money by adopting good habits So the architecture of today as we speak is very much cloud centric, centralized architecture All the devices are sending the data to the cloud All the heavy lifting happens in the cloud and the results are sent back to the devices The processing is almost completely happening centralized in one location that is a cloud There is an urgent need that we embrace edge computing Why do I say that? A connected car produces approximately 5 terabytes of data every hour And oil rig produces 5 to 7 terabytes of data every hour Imagine this like such huge data if you send it to the cloud, process, act and send the results back That might be too late, that is no more real time So what we need is like cloud centric IoT is not reliable in this particular case So we need to move our computing and analytics to the edge That is the point of action where in all the collection of data is happening So how do you do that? How do you embrace edge? So the answer for that is project logo, so what is it exactly? It is an ultra light edge microservices framework When I say it's ultra light, it's 50 times smaller in footprint compared to Java and NodeJS It provides you with a visual modeling tool which is your browser base You need not download any ID and you can start sketching your applications right away It is event-driven by design and provides support for AWS Lambda, that is your serverless architecture It is 100% open source with zero lock in You can start using it and developing your applications right away as we speak It also supports edge machine learning, we'll talk about all of this in detail So when I say it's ultra light right, how small it is A memory, a traditional memory footprint for a Java application is around 180 MB For a NodeJS app it's around 74 MB With Flogo, the memory footprint is as low as 3 MB And the best part is when you develop the apps to certain capabilities and deploy it on edge It also runs with applications with memory as low as 30 to KB in size So how did we get so small, right? Java and NodeJS are great, we all love them, but they are simply too large for resource constraint environments So if you see here, the way these frameworks work is you have hardware followed by your operating system sitting on top of it Then you have your VM followed by framework libraries and eventually you have your app running on this particular stack With Flogo, we are leveraging Golang where in all your dependencies are bundled together in one binary Which you can take and run it on your operating system of your choice So you need not install or pre-install any of the prerequisite or run times You just take your library, get the dependencies that you need and go to the OS of your choice and deploy it and run it So how does a better IoT blueprint looks like, right? You have your devices where in all which is a point of action Then you have your gateways when your devices communicate with the gateways And eventually the gateways communicate with the cloud So you can bifurgate your logic where in some of your micro services can run on devices, some can run on gateway And eventually if needed you can still leverage the computation power of cloud So what are the benefits of this? A. You have more control since most of these devices are placed where in there is no good connectivity You can process or compute when you are even when you are offline You consume less bandwidth and yes definitely you take fewer hops to the cloud and you reduce the latency as well This is how we have divided the framework It's like even driven by design where in an application is divided into triggers and actions A trigger is nothing but which captures the event, it can be your MQTT trigger, it can be your REST trigger And your activities collect events, process them, emit outputs for further processing So it's a completely visual modeling tool or framework which you can leverage So the best part about this is it also runs on microcontrollers Where in the footprint is very low, right? It can also run our arm intel OS systems It's 100% open source, we talked about it and it also supports statistical modeling So this is a screenshot of how the web UI looks like It's a low friction web native user interface where in you can express your app logic Not just using data but rich flows You can perform some inline data transformations There are certain set of functions available which you can reuse It has a built-in web-based debugger wherein you can debug your app before deploying And from the UI itself you can build for target platform of your choice There are multiple target platforms available, we'll talk about it in detail So as a developer all you need to focus on is building the logic of your application that is step number one Once you do that debug your flows in the web UI You can utilize the CLI or the CI CD pipeline that you can create and deploy it Basically you have multiple options, you can deploy it into a Docker container You can directly export AWS Lambda code and deploy it on your server less environment That is AWS Lambda Or you can deploy or create a binary for your Edge devices and run it on microcontrollers as well So that step is the last step wherein your coding is completely bifurcated from your devices wherein you want to run the application So what it also has is it also supports edge machine learning So by default the framework has the capability of executing TensorFlow flow models through the flow itself So the framework or the app can collect the data, it can aggregate the data and pass it to the TensorFlow models wherein you can inference some logic So why do you need machine learning at the edge, right? So with this database of data coming in, if you go to the cloud every now and then prediction is no more real time, right? We need real time prediction, so it needs to happen at the edge itself You are saving massive data transfer by performing inference on the Edge devices And the last part is connectivity is no more a hurdle, you can even process or inference when your device is offline So basically you can inference on your devices or your gateway And if you still need to store and train a model, so you can still go to the cloud and perform the functionalities out there So I'll just summarize what is the value add of project Flogo A You can build microservices faster than ever before with the web-based UI It's easy to install, it's just a Docker container that you need to run a command and you can start playing with it It's available as an open source project and the code is also available on GitHub You can leverage the serverless platforms, you can develop the code for AWS Lambda and deploy it as well through the same logic And the best part is you can deploy anywhere including Edge devices that is your on-premise, cloud, hybrid cloud or Edge devices And yes, it is extremely light as we already discussed So what next? We are continuously contributing to this open source project So these are some of the features that we have on our roadmap One is we are improving the modern lifecycle management when you can control the lifecycle of models on running devices Also push-up data models remotely We are also working on simplifying and sending asynchronously cloud metrics to the cloud devices so that you can utilize them to train your models in a better way Secondly, we are adding support for other serverless platforms and also working on remote deployment to serverless platforms And last but not the least, we are continuously working on the development experience by improving the number of activities and triggers that are available for the community And wherein you can also help and also improving the documentation around it So what can you do next? I know it's afternoon everyone wants to grab some beer but what I'll suggest is You can please go to the flowgo.io and do a docker pod and start playing with this Give it a try. It's extremely easy. It's extremely intuitive. I'm sure you all will love it You can also check out the code out here So I will be here today and tomorrow as well if you are working on any cool projects around IoT or have some ideas Then I'll be happy to chat with you guys as well. People who are online these are my social media profiles Please feel free to connect and I'd be happy to chat. Thank you Thank you for your talk. We have two minutes left for questions. That should be two or three at least So, yes? Yes, please Yeah, so firstly this one Repeat the question please for the stream Yeah, the question is more around how you handle the security and privacy around IoT devices But if you consider the framework as of now we are just focusing on building the applications around the IoT But talking about the security and features as well You can have all the encryption like the MQTT trigger that we have right it provides all the encryption that's available with MQTT So that way currently the focus is more on developing around the application development rather than The other way around So another minute left another question I don't see any hands. So I guess everybody will be talked will talk to you. Oh, there's one hand. Yes, please Yes So yeah, we have done some benchmarkings around Running it on edge devices like adrinos and all so it is basically based on the memory footprint We considered we developed a similar app on with a similar functionality and all the platforms and the benchmarking was done On that way we have some details which if you need I can share with you as well Okay, so we have 10 seconds left