Good morning, good afternoon, good evening, everyone. Thank you for joining us today. We are here for Managing IoT Software at Scale. I have the great pleasure in introducing Amit Ezeer and Yoav Zaidman. Amit is CEO of Upswift and we have Yoav, CTO of Dreamfrog.
So I just wanted to give a quick introduction to the both of them. And versus me chatting away, I'm going to hand it over to both of them. Thank you guys so much for joining us today.
Okay. So welcome, everyone. Let me just give you a brief overview of our agenda for today. We'll give a brief introduction about JFrog, and then I'd like to speak with you about the challenges with updating connected devices. Next, we're going to move on to Amit, who will speak about the benefits of Appswift and how they solve those challenges for the world.
Of course, we're going to show you a demo and hope that will work out smoothly. And finally, we are going to speak a little bit about what's coming up next, what JFrog is going to do with AppsFly. We're going to take this domain of connected device updates in JetFold. So let's just dive right into it. So JetFrog is solving the problem of what of a vision we call liquid software.
The idea is to have continuously updated what we call version as software. Of course, every software has a version, but in the eyes of the user, the update needs to be so smooth and transparent that the version doesn't matter. And you can think about it as software flowing seamlessly from source to destination to the runtime. And since we speak about the runtime, I'd like to speak a little bit about the challenges in updated device in updating devices. So a couple of challenges here.
I'll start with the fact that the act of deploying a release to an edge is often a siloed process. So it's siloed from the traditional CICD process and it often looked at separate states, different tooling to achieve this state. JFOC customer actually approached us and asked us to allow them to continue this flow of the DevOps pipeline all the way to the connected devices to the world of IoT. So this is the first challenge. Another challenge is about securing the updates.
So you need to apply the security from two directions, right, from left to the right. First, you want to make sure that the software that you're running is secure. You want to scan it. You want to rule out any vulnerabilities or compliance issues. And then once your device is already running the update, you want to validate that it behaves the same way that you expect it to behave.
And one key differentiator from traditional software is that if you have a faulty release, it may break the device. And then fixing this is a much more acute problem than in traditional software because your device may not be so easily accessible. For instance, it may sit at the top of a communication tower or something like that. And this leads us to the security leads us also to the debt challenge, which is maintaining a chain of custody for your releases. So a strong side effect of being a disconnected flow is that you also lose and you get disconnected from the software supply chain process.
And that means that the binaries and the releases that end up running on the device cannot be easily tracked to the process that's created them. They cannot be vetted against the software supply chain and this is a miss. Non data center. Non data center is something many people kind of look over it, but updating devices is really, really different from updating software that is running on a data center, on an immutable infrastructure data center. First of all, devices, normally, they cannot be connected contacted directly.
They don't have an open port they listen on. They may be disconnected from time to time. And more often than than not, they are behind some kind of a double net. And I call this a cattle of pets, right, because you treat your devices at least the way that the scale of the devices, the number of devices is like a pattern, but each device is identified. So it's like a pattern.
It's not a non replaceable piece of runtime. You cannot just fire up a replacement device like you do with the infrastructure's code. It doesn't work for devices. So that's another challenge. Another challenge is the scale, right?
So if you are a company, even a small medium company getting success in the world of IoT, you will find yourself managing sometimes even in your early stages, 100 or even 1,000 of front end of devices, which you would otherwise not encounter as a DevOps a traditional microservice based deployment. And finally, there is the question of what's happening post update. So you can get your software on the device, but like similar to any kind of software, it doesn't end up there. You need to be able to monitor the health of the device, you need to be able to roll back a bad release if needed, you need to be able to run remote troubleshooting, get the logs and extract them, even remote control into the device to see what's going on. So this continuous feedback loop is even more challenging in the scale of 5.
And what we're saying is that and we're really seeing this exceeding trend in this fast growing domain in the market that companies are slowly becoming edge companies. Almost every company will end up using edge technology or employing edge technology in order to compete in the market, and it's kind of a new necessity for success. It's happening very, very fast. And we broadly speak about 3 types of edges or 3 types of connected environments. First is this new consumer edge.
It's used to deliver software closer to users. Think about users playing a game, basically letting the users interact with your software faster. Then there is a very growing area of regional edges. This is where you deploy your software into regional locations, such as local retail branches. And this has recently been pretty much heavily accelerated by COVID, and we don't think this trend is going anywhere.
So COVID accelerated a new type of application driven businesses. For example, this whole curbside pickup that you go to the store and people deliver the application, the merchandise to you. And we think we're going to see more and more of that application driven businesses. And finally, there is the 3rd kind of edge, which is about connected devices, from routers to wearables, think about Nike moving from an apparel company to a smart fitness company. So this is the way that you actually use connected devices to extend your time.
And many of these devices run embedded Linux, which is what Apps Script is predominantly dealing with. And we see tremendous innovation and use case variety happening across the Apps Script the customer base. So this is the 3rd kind of hedges. This is what we're seeing here is the Jeff Fogg DevOps platform. It's one of the most widely adopted DevOps platform covering all the stages of software releases, software binary release management.
Normally, you start on the left side, you have some kind of source control system like GitHub. And in most environments, the first thing you do, first, you consume some binary dependencies as you assemble your application. And then you combine and package your software and bundle it into pieces of binaries that are going to go through the different stages. So testing, release approvals and distribution and deployment to the runtime. The end state is that those binaries are going to run and end up in your runtime.
And the JetFold platform allows the development allows developers to manage binaries across all those stages. And most specifically, we have an altifactory that stores and manages the lifecycle of binary artifacts like software packages and container images. We have x-ray that scans the binaries to clear out any security and compliance issues. And we have distribution, which is about taking the binary and moving it across the physical boundaries closer to the runtime, including to devices and enabling deployment. So in summary, what JetFork offers is an end to end platform for managing the life cycle of binary releases from code to deployment to production.
And the issue with AppsFly is that it's actually a very natural extension to the DevOps platform that JFrog provides today. So while for devices today, the DevOps flow, not just that JFrog stops at the distribution. And then there is a new siloed process that is starting. This natural extension of the JFrog platform by AppSwift allows the continuous flow to be carried on to updates, to run, to monitor and back again. So it's a continuous loop.
And now I think will be a good time to pass it over to Amit. I think you're all waiting to actually see the product and see AppSwift in action. So to Amit.
All right. Thank you. I'm very excited to join this webinar today. Actually, this is the first time we share some insights about what we have done at UpSuite and how our mutual future with JFrog will look like. Thank you all for joining us today.
I hope you will find this webinar and platform demo that I'm going to show in a few moments, valuable and informative to your future projects. And feel free to reach out after this session if you have any questions. I will leave my contact information in the chat below. So I'm happy to begin with a quick intro of HubSpot's product vision and market. HubSpot's goal is to bring every edge device from robots to connected cars, to security cameras or kiosk screens to the cloud.
Bringing the Edge device to the cloud means to give IoT producers, the developers, the power of managing the device as if it's in their own office, in their own local network. Today, there are already tens of thousands of devices all over the world managed by AppSoft platform, And it's just amazing to see so many different verticals and industries that are doing this transformation for building connected devices that are being managed remotely. We see healthcare machines, agricultural devices, automotive products, and the list just goes on. Developers today prefer to manage the fleet remotely and chip software quickly and safely in each and every industry or edge device.
Great.
So let's for a minute talk about AppSoft's purpose. Our solution solves the complexity of managing devices with a plug and play design that can be integrated into any type of Linux based device in seconds. And it brings 4 major values to the developer. First and most importantly, AppSift helps to reduce or even eliminate product recalls. Take, for example, thousands of smart kiosk screens at post offices across the U.
S. That are suddenly required for a recall because of a software bug at the court. With AppSwift, these devices could be completely supervised remotely. Even if the application crashes, the developer can always have access to support and fix the issue remotely. The second point is ensure software reliability.
If it's a fleet of cars or traffic lights, the devices software must stay stable and reliable 20 fourseven. And that can be achieved by pushing daily software updates to the edge devices. And when the devices fleet is stable, we can start thinking about remaining innovative. So just like in today's cloud deployment flow, with AppSwift, your edge devices will stay updated with the latest feature releases the development team worked on, simple as that. And finally, when the product fleet is in the field, in production, it is important to always stay in control.
Here at Upsift, UpSwift is continuously monitoring the device resources and application, helping you to analyze, find device software issues, debug and fix everything before any real damage occurs. From here, let's jump to the demo of AppSheet platform.
So, I
will share my screen. Before we jump into the major features of the platform, we can notice from the categories in the left side right here that the platform includes the necessary tools to maintain a fleet of devices remotely, starting from all the of the out of the box just by installing Appsift Agent on the Edge device. It is important to notice that the agent is always running as a client side in terms of networking, which of course is great for devices that do not have public IP and running under double net. For this webinar session, I will use a Raspberry Pi device with a touch screen on it, running a blue demo application called Webinar V1. Let's go back for a moment to my camera.
Right. So right now, if you will look closely on the camera, you will see my Raspberry Pi device with the application Webinar V1. And let's go back to my UpSwift account, continuing the demo. All right. So back to my screen.
All right. That's it. We are ready to begin. Let's begin with going to our group for today, our specific Raspberry Pi device. So the device will be under a specific group called Baston right here.
And let's jump to the device stage where we will see our device today. Right, here it is. So here is the main page of Absa's platform where we can simply view the devices in different groups with name, tag, and most importantly, live status, if the device is currently online or offline. So as you can see right now, my Raspberry Pi is online and we are going to use it right now in the demo. So I will focus on 4 of the platform tools, updates, remote control, remote commands and some of the monitoring capabilities we have here at the platform.
Let's begin with the updates category.
All right.
So, AppSoft Update is a lightweight, easy to use tool to deploy software to the edge devices. It's all based on a creation of a flow right here. In the flow, you can build the steps of the deployment process. For example, you can run a bash command, deploy a file defining the rollback, integrate a gate repository or even a Docker registry. It's all very intuitive and easy to use right from here.
So for this demo, I have created 2 different update flows, both pulling different images of containers from JFold IoT factory and pushing them to the edge device, while replacing the current running container with almost 0 downtime. So for a moment, let's jump to the IoT factory right here, where we can see both of my images, V1 and V2. So V1 is right now running on the device. We have a running container on the device running webinar V1 application. And our goal for today is to deploy the container, the new container V2 to the edge device to my Raspberry Pi.
So let's go back to my to the updates category and begin the deployment. So to begin the deployment, all we need to do is just to click on the new deployment button right here under the role of webinar app V2. Choose a group of devices or a specific device. In that case, we will use the filter right here to choose a specific device and then we're going to go ahead and choose the Raspberry Pi and click on apply. Of course, we can deploy updates on a group of devices at scale.
Let's click on next. Of course, the total affected devices will be 1 and we'll click on finish, choose our webinar app for this demo and the new version that we are going to deploy. And then let's click on create deployment and go to the progress tab. So right now, we're waiting the device to receive the update in a few seconds. All right, we're going to see it in progress.
Let's quickly move to my camera again just to show you how it looks like. It's pretty amazing actually to see. So you can see right now that my Raspberry Pi screen changed to the new green application, Webinar V2, pretty amazing. Going back to my screen, right, we can see the output of the update right here. We have some metadata of the deployment like container ID, image ID, image name, it's all here.
In this case, we have just one step in the deployment, but in case you have few steps, you will see them all right here, including Wobek, for example. Let's jump to the devices page. All right. We can see here that in the Raspberry Pi device that the version has changed accordingly to webinar app version 2 and we can also see that we have a running Python application right now on the Raspberry Pi, which is, of course, the container that is running the Python application showing a green screen with the webinar V2 text on it. All right.
From here, let's quickly jump to the remote control tool. So using it, we can remotely access the device shell and debug everything inside the device. This tool is just excellent for having a better understanding of some deep support situations. So in a few moments, we will have access to the device shell. And the reason we need to wait right now is because the device and AppSift agent running on the device is always running as a client side.
So we're basically waiting for the device to communicate with AppSoft servers. Let's copy secret key here and access the device. Great. So we can now debug the device, do whatever we need to make sure that our application is running as expected. In this case, let's just run Docker and check what containers are running right now on the device.
As you can see, we do have here a container that is currently running with the Tag V2. And you can see that the uptime is 2 minutes, which is, of course, makes sense. So let's just keep the remote control open and continue to the next features at Appsys. So from here, let's jump to the remote commands tool. So in most situations, the remote command tool will be our best friend for basic remote support, just by running some commands, for example, to restart the application, maybe rebooting the device and so on.
And of course, even here, we can run commands on a group of devices as we need. All right. So the last feature we are going to show very quickly is the monitoring and alerting capabilities of the platform. So using Appsoft, it's possible to monitor the device resources, CPU, RAM and disk, as you can see right here, as well as the device running application. As you can see, I already monitor a Python 3 application running on the device.
I can define here any other application that I want to monitor. And it's all coming together to the alerting system right here, where we can define different alerts. So as you can see, I have some alerts for the resources on the device and some for the processes on the device. And I can trigger them by just defining different kind of triggers. So I do have here for my Raspberry Pi an alert that said that if the device CPU is crossing 5%, send me alerts about that.
And as you can see, I had today an alert that the cross that was echoed to a CPU alert that was echoed to 78%. So of course, I received e mail about that. That's all. I will have to stop here to continue the webinar. Before that, I will say that you are all welcome to open a free account and explore apps such features with your devices.
Again, it takes just a few seconds to register and connect the device. Thank you, and back to you, Joao.
Thank you, Amit. Great demo and great technology. Of course, there are more features to explore, but due to the timing, we cannot get any deeper at this point. So that can be said, go ahead and feel free to open a free trial. It comes with virtualized devices as part of the trial and you can explore further.
Everything is very developer friendly. And in fact, most of the adoption of Appswift today is bottom up. We're seeing a lot of developers coming onto the platform and trialing it and adopting it for the IoT scenarios. I want to speak now about what to expect from the integration of JetFrog and Amsoex in the coming future. So like you just saw, this integration basically takes us to a full round of phone calls to run time with devices.
So the update states, the run states, the monitor states, they all happen naturally as part of your regular DevOps pipeline. And the first thing that we are going to do in the near future is, of course, provide more out of the box integration of the Appswift platform with the JetFork DevOps platform, specifically with Outifactory first, and we're going to provide you this 360 view of your releases coming from Audi factory ending up in the runtime of your IoT devices. One key element here is the integration of releases or release bundles, as we call them, a jackpot. This is an easy way to consume an application. It's an SBOM that defines in those factory, both your files, your Docker containers, any additional file that accompanies them as one bundle of files that you can deploy from AppSwift in one go into your devices.
That being said, you can and you will be able to integrate AppSwift with any automation workflow. We intend to keep the open developer APIs of AppSwift and the usage of it open to any kind of integration and that's not going to change. So you can if you wish to start directly with AppSwift, you can do it right now and you can exploit even without the JetFold platform. And of course, we're also going to invest in adding more capabilities and features to Opsgen. Another type of integration that we're going to present is about the area of distribution.
So we see great synergy here with Appsuit, distribution, JFOC distribution and private distribution networks specifically. To pull from regional distribution nodes to which the Jetpack distribution is pushing releases. So you get your updates from more reliable source that is closer to the device, and it keeps a lineage to the source of software in your DevOps platform. Yes. So just to recap, we see Appswift as a very, very synergetic piece of the DevOps toolchain that SharePoint is providing.
It's a natural extension to the platform. And while also serving as an open service for integration, it allows our users to achieve fully automated developer to device deployments, to gain complete visibility to this process, to monitor, to troubleshoot, you saw the remote control and to manage the secure device update flow at scale. And finally, consolidate the DevOps processes and bridge over the previously siloed workflows for device update management. And again, like Amit said, we urge you to go on and try it. And I think this is a good point to go through some Q and A from the audience.
Courtney, do you want to
Yes. Well, I just want to first, yes, say thank you guys for That was wonderful. Again, reminder to everybody on the webinar presentation today, please don't hesitate to answer all and get all questions answered in that Q and A chat window. But we do have a couple of questions that I want to kind of release and see what you guys think about it. So the first question is, what verticals do you see mostly adapting Edge and IoT?
Amit, do you want to take it?
Yes. Well, it's actually pretty amazing to see so many industries and verticals. So it's hard to pick 1. But I will say that we see a lot of smart kiosks screens for many kind of situations and industries that just prefer to have a screen with a touch screen with running application, showing what the application is doing. And it's something that I think that we'll just see we'll see from it more and more in the couple in the next couple of years.
I can maybe expand on it. Actually, the amount of industries adopting and actually also requesting JetFrog to extend the lifecycle to IoT devices, to connected edge environment, It's very varied. So like Amit said, there are use cases of kiosks. And when we actually saw the portfolio of the apps with customers, the innovation going there and the type of things people develop and how they push the market forward with all kinds of it can be farming, it can be even taming pets, it can be automotive industries, it can be remote retail point of sales. So it's very diverse, right?
I don't think like software that is everywhere, the edge software and the type of software developed for devices is cross domain. So I don't think there is any single domain that is standing out here just to everyone.
Awesome. All right. Well, we have a second question that just came in. It's how can I take advantage of the IoT capabilities in the JFrog platform and when will they be available?
So like I said, in the what's next section, you can try it out today. It's production ready. It's not a trial platform, but there is a free trial that you can try immediately. The more the closer integration, so since the platform is very API driven and very developer open, it works with the JFo platform very easily today. It's a very decoupled connectivity if you want to integrate both platforms.
And we're going to, as I explained before, invest in more out of the box features that will also allow you to gain better visibility from Jeff or to us with Beck. A defect to make it a very seamless experience. But yes, you can try it out today and you can adopt it today. There is no need to wait for that integration.
Wonderful. And everybody, we have our technical experts here on the line. So please don't hesitate to ask your questions. Obviously, if you do have questions post event. Yoav, Amit, do you want to provide them the best way to ask those questions if they do have any after this call?
Yes, I will leave my email in the chat. I will do it right now. And again, feel free to reach out for any kind of technical question we will be happy to answer.
Great. Thank you guys so much. If you want to go ahead and just put it in our team chat there, I will go ahead and provide that to the group here. Here is the I'll provide the contact information. It's because again, I know that always post event that sometimes those questions come up and you wish you would have answered, ask them then and you think about them later.
It happens all the time. So I did go ahead and just put Amit's email into the public Q and A chat for all the attendees. So if you guys have any questions after this, please don't hesitate to reach out. Again, thank you, Amit. Thank you, Yoha, for coming, taking time today to talk about this integration and new partnership.
I really appreciate it and I know everyone on the call appreciates it. So I will close it out and everybody have a great day, a great weekend, hopefully. And then other than that, I will close it out. Thank you guys so much.
Thank you. Thank you.
All right. Bye bye.