There are more than 12 billion IoT devices globally, and IDC estimates 41 billion by 2025. IoT includes connected smart devices like industrial robots, retail kiosks, security cameras, and maker devices using Raspberry Pi (RPi). Managing IoT into real-world production can be challenging to scale and manage. JFrog Connect is a complete solution for updating, monitoring, managing and troubleshooting Linux-based devices globally.
This workshop offers several labs with step-by-step instructions. Bring an RPi or create a virtual demo device within the JFrog Connect platform. You can get a free-tier instance of JFrog Connect. Lab files will be available through GitHub. We will cover these topics:
- The Story of Chips, Sensors, and Devices
- What are IoT and edge computing?
- Industry use-cases, potentials, and risks
- Lab 1: Readying a RPi or Virtual Demo Device
- Required RPi hardware and setup
- Access a free-tier instance of Connect
- Register a device using Connect and the Connect Agent
- What is the Connect Agent?
- OTA Updates
- Lab 2: Push files to a device, compile, and run
- Lab 3: Update a device while its program runs
- At Scale
- Tips and good practices
- Security considerations
Hi, good morning, good evening, good afternoon, wherever you’re joining us. My name is Fana Jabbar, and I will be your moderator for today’s webinar workshop. Today’s workshop is the IoT Management one-on-one with JFrog Connect. Our host will be, Bill Manning, solution engineering manager at JFrog. Today, we’ll have also plenty of time for Q&A during the session, and the session will be pretty interactive, so don’t be shy and use the Q&A or the chat button at the bottom of the screen on the Zoom interface. It’s time, I guess, to leave the floor to Bill. Bill, the floor is yours.
Well, thank you so much for that. I really appreciate that. How you doing everybody? Welcome to our JFrog Connect workshop. We say the IoT workshop because IoT is such a big phrase that everybody uses these days. My name is Bill Manning as stated, or William Manning. I’ve [inaudible 00:01:15] confused between William and Bill, but that’s who I am. I’m the solution engineering manager here at JFrog. I’ve been with the company for over six years now. Just to let you know, one of the reasons why I’m also doing this little talk is, my experience in the IoT space is pretty extensive. I actually had a company that was part of that. We built a platform that was sold later on to Google and Motorola that was actually called the Connected Home before IoT was even a term. So, I was brought in to give a talk about this. Let’s get going. One of the things we’re going to talk about today is, we’re going to go a quick overview of, of course, the IoT world and where it stands, and just some of the interesting stats and things like that.
We’ll discuss what J Frog Connect connect is. I’ll also show you how JFrog connects and Artifactory if you’re an Artifactory customer, utilizing the pieces, all the binaries you put up, the build you produce, the docker images you create. Anything you do with the 32 package types are available to the Connect platform to push to your devices. We’ll talk a little bit about supply chain security. We’ll look at some of the workflows and updating devices and diagnosing devices. It’s going to be pretty straightforward, but let’s get started. Of course, we know the numbers. There’s a reason why everybody has been talking about IoT for the past over a decade now. There’s millions of devices and it’s growing and growing. The number of money that can be made from the IoT space is incredible, but also the amount of money that can be saved is insane too. If you look at this too, one of the biggest problems though, is also things like security. We’ll discuss some of the security aspect behind this. Whether it’s software supply chain security, or all the way down to the device itself.
But the thing is, is the number of devices that are growing and growing. I mean, in my place personally here, at my house that I’m doing my talk from right now, I mean, I’ve got over 50 devices in my home. Everything from lighting to smart fridge, you name it, I’ve got it. I’ve always been invested in this space. Understanding when we look at this, at the number of growing devices, having a platform that can go in and do everything that’s part of your software supply chain, your SDLC, your software development lifecycle, whatever you’re doing with your company in terms of device space, the thing is, we’ve got you covered. The JFrog platform and Connect as part of that platform, is an end-to-end DevSecOps solution that allows you to build your software and deploy it into the devices, maintain and monitor it, and everything like that. The device spaces are growing, like we keep talking about. Understanding that and understanding all these devices, and most of them are Linux based and you want to be able to put them at the edge, you also want to be able to do things where humans aren’t involved.
Or, you want to make sure that you can help if you’re a company that produces devices safe for consumers or industrial or whatnot. You want to be able to keep an eye on those devices, update those devices, monitor them, make sure they’re good. It’s everything from $30 Raspberry Pis. Now, this is the thing as I laugh is, I think $30 used to be the way it is, and then the supply chain issues happened with producing them and they rocketed to $200. Oh my god, it was ridiculous. But all the way down to servers and things like that, these are the things that we talk about. IoT is such a loaded name. It drives me crazy, because it started off with a very niche market and expanded into anything that’s connected. What’s the reason why the internet of things that everybody talks about? It always cracks me up when I hear that, because like I said, I’ve been in this space for a while, actually you can’t see behind me. I got awards for the Connected home stuff, software platform we built all the way going back to 2007.
Here I am still talking, God, it’s 16 years later. The thing is that, there’s lots of challenges still to this day. The thing is, you need ways to in ensure that you can diagnose devices to eliminate things like product recalls or ensure software reliability. Also, things is like constant updates. The thing is that, we believe in this idea of methodology here at JFrog about liquid software. Software should flow, things should be constantly updated. It’s kind of our mantra. Understanding that we’ve actually provided this to almost 8,000 customers globally, almost 100% of the Fortune 100, because the idea is that customers and consumers have now gotten to the point where they expect updates for the things they do. Whether it’s a car you drive, whether it’s the phone you have in your pocket, even now to the TV you use, or anything like that. Even your thermostats and your smoke detectors and whatever. But also too, corporations that are doing this, you want to be able to maintain some semblance control, because the thing is, diagnosing a lot of these components and these things can be very costly for a lot of companies to do.
So, you want some way and some easy methodology to do this. The thing is with Connect, it provides things like remote management, to be able to provide software updates to the device. Be able to troubleshoot the device extremely rapidly. Being able to monitor device, and actually set things like alerts for monitoring so that you get notified. On top of that, you want to make sure that those devices are safe. So even being able to do things like implement a firewall into the devices. Now you understand, so we’ll talk about this initially, right now the Connect platform is only for Linux-based devices. We do not support Windows-based devices. We might have something in the future going forward, but let’s face it, 90 plus percent of the devices in the market Linux-based, thus the reason for that. When we have this, the thing we want to know is that, right now as it stands, our connect platform is a SaaS-based platform. We will be having a self-hosted version of this platform coming soon. It’s easy to use, I’ll talk about that.
It’s easy to use it either independently as its own product, or if you’re already a JFrog customer, you can actually connect it, and especially if it’s a JFrog SaaS customer currently. But, you can connect your SaaS instance to your Connect instance. Any of the software you build and produce inside of Artifactory… I’m not going to go too deep into Artifactory. If you want to do that, we have tons of videos. I do tons of talks on that. Software supply chain security, software bill of materials, things like building Cloud Native. We are [inaudible 00:07:22] members of the Cloud Native Foundation. We are a CNA, we’re a CV number of authority. So, all these other comp things you get as part of what we are as a company, gets baked into the Connect platform. You can use it either independently, or you can utilize it with your actual JFrog platform itself. It’s based to work with, like I said, Linux-based devices, both Arm and Intel. It’s only about a four megabyte size client that I’ll show you how to install today.
Then also too, once it’s there, actually one of the nice features is, it uses a call home style feature, which is the thing is that, once this client is installed, you don’t have to worry about your customers having to open their firewalls to do this because the device itself will call outbound to the service establishing the connection, and then all connections are done based on that. The thing is, it was actually designed to be fast, efficient and also highly effective when it comes to security. So, putting all that software to the edge, this gives you the controlled maintenance monitoring and also remote diagnostics capabilities that you need. When we start going through it today, you can do things from code to device or developer to device, being able to automate everything you want, utilizing our platform all the way down to connect. Being able to actually also have things like end-to-end software supply chain security, and also software bill of materials.
Remember, actually everybody talks about software bill of materials these days, and you have to remember that software bill of materials actually got its origin in 2017 with the FDA dealing with medical devices. Understanding the software that’s on medical devices is why software bill of materials was initially done, because let’s face it, you want to know what’s on the devices that could potentially kill someone. It’s also a way for you to keep track of your releases and see what’s out there currently, where are you? Then, when using the platform in addition to that, allows you to maintain control of that end-to-end life cycle. It also allows you to do things like remediation on failures or remediation remotely from the device, either through device from the actual Connect platform, and also the idea of being able to maintain and monitor everything, even down to device state, or actually current state in terms of things like temperature or whatnot, or storage or whatever you’re doing. When we talk about Artifactory and Connect, you need to understand what we talk about when we talk about end-to-end SDLC, right?
The first step in this is of course the developer side. We have Artifactory, the universal binary repository manager. It’s a way to maintain and manage those third party transitive dependencies, the 85% to 90% of the things your company consumes to build software. But also the software you produce, the build you produce, the docker images, the Terraform templates. Whatever you’re doing, you can put that in. We support over 32 package types. Like I said, plenty of talks on that. But also too, we have things like our IDE plugins. So one of the things is we’ll talk about as part of this in some of the other discussions, is XRAY, right? So our security vulnerability license compliance, and also too, operational risk tool. We also introduced the thing recently, called the advanced security features, which include things like contextual analysis. One of the major problems that most companies have these days, is that when they see CVEs for some of the software they’re producing, is going through remediating. Actually, before they even do that, is actually doing analysis of it, then remediation. Takes time and effort.
Architectural analysis feature will actually let you know, are you susceptible to these CVEs? Are they applicable or are they not? Thus expediting your ability to go through and make sure your software is safe and secure, while not actually removing from your innovation schedule. We also have our JFrog CLI. We’ll show you that today. By the way, our JFrog CLI is also going to work with the Connect platform too. So if you’re a command line interface person, you like to do shell scripting and whatnot, you can do that also. But then also too, when we start talking about this stuff, we have the creation aspect, your CI environments. You’re going to build software, you’re going to deploy to these devices, or you might actually even have where have devices and a web service and they co-align, right? You have a web service that your devices talk to. We maintain and manage both the software on the device and the web services.
The doc images, the helm charts, the Terraform template that you use to create those services, and then using Connect to actually push the software that builds down, and then assuring that you actually can have complete end-to-end development of your entire platform yourselves. That comes down to the consumption part, which we’re going to talk about today. There’s a couple of the methodologies. We have our JFrog distribution platform, which is what you can use for those services. We have these things called Edge Nodes, which are lightweight and mutable versions of Artifactory, where you can publish those services out. Then, you have the Connect platform to maintain and manage the actual devices themselves. Just to let you know that our actual distribution platform is being utilized a lot in the industry. As I mentioned, we have a massive amount of customers, but if you ever see those commercials for like BMW where they’re like, “We update our vehicles all the time with all the latest and greatest,” well, that’s JFrog. We also handle other companies, like Tesla and others.
The thing is that, we are that company that does those device updates and we also have massive corporations that produce IoT, and devices of that nature that utilize us for this too. So understanding that, when you look at it, you have JFrog Connect, and it can be anything that you’re doing here, whether you’re using Edge Node servers to go ahead and distribute the software if they’re massive builds into things like web services. Then, you have the IoT devices that you can use Connect. Any way you’re doing this, we have a distribution platform that allows you to go in and rapidly deploy and actually maintain it, and monitor, and manage the things that you do. I think that’s enough time talking about that. So first of all, let’s talk about JFrog Connect. To get to Connect, actually all you have to do is, first of all, you can go to our webpage and look it up. It’s just going to redirect you over here to, if you want, connect.jfrog.io. What’s nice is that, the first thing it’s going to come up and do is ask you for a password.
Now, if you have to, you can go in, and by the way, if you just type in JFrog Connect, and if you go in here, and I’m not pricing, but if you just go JFrog Connect, this will actually bring you to the Connects page. Once you go in here, you’ll be able to go in and either sign up for a free trial, or actually sign in. When you go to sign in, that will actually bring you to this page. I’m going to use my JFrog ID. Now, the first thing it’s going to do is, it’s going to validate who you are. It’s going to say, “Oh, okay, you have a valid ID,” which I do. Then it’s going to ask you, do I either want to log in independently? Do I want to log in with Google? Do I want to log in with GitHub? Because we handle both, and I’m not going to do those, but in my case, I’m actually connecting mine to my JFrog platform. I’m actually connecting it to my SaaS instance, which I have right here.
I’m going to go ahead and log in, and as soon as I log in, what it’s going to do is, first of all, in my case, it’s going to go to my SaaS instance. I’m going to hit my Google O off. It’s going to allow me to go in because we handle single sign on. It’s going to redirect me back from my instance to the actual Connect page. Now, let’s take a look at the things that we have here. The first thing I’m presented with is, of course, the dashboard. All right, and then the dashboard, I get a bunch of information. First of all, my fleet. These are my devices. As you can see, I have one offline and I have one online. You can see I have three in my fleet and we’ll go there in a few minutes. You can also see live alerts. Is there any resources that are being consumed? Is there any processes that are over the top, or any data that’s being consumed? I also have a list of notifications on the side here.
They’ll let me know in this case, that maybe a device update happened or maybe one is online or offline. I got to also too, I could see out of all the devices I have, which versions of certain software I have. Because one of the things you can do is, you can create applications. What applications are, it could be either individual installed components or it could be a group of components that you actually maybe align under a single moniker. So you can say it like version 1.1, versus 1.2. Those will let you know out of all the devices you have, which ones are currently installed and which devices and which ones are not. You can get an overview of those. If you look here, you can see I’ve got one here, it was number one. I have one device with this update. You can also see how many devices have been registered over time. And because we do location data, you can also see where are these devices on the map. I’ve got devices all over the globe, and you can see that these are offline and these are online.
The next page we’re going to go to is devices, because the next thing we’re going to do is I’m going to show you how to register a device. As you can see, I have a couple of test devices that I have here. I have one device that’s currently active. I’m going to talk about the features and then we’ll register a device. So, if you take a look here, you can see in this case, I’ve selected the device. You can see that there’s the device ID which is an arbitrary value that is set at the time of registration. You can see that it’s got a name, and this name is something I just happened to give it. You can see here it’s the status of the device. It’s either online or it’s offline. It’ll be orange if it’s in the [inaudible 00:16:50] feature, where you can do things like remote control. This is actually a Raspberry Pi I have sitting somewhere else. What’s great is, if I click on here and once the client’s installed, if I want to get access directly to the device in question, I just have to click on it.
What it’s going to do now is, because of the device is calling outbound, it’s actually taking connection down to the device through this,, establishing a key exchange to make sure it’s safe and secure and then you opening a crypto connection between the devices. I click on Connect, and what’s great is, immediately it brings me up into a shell directly into the device. As you can see here, I’m just doing an LS-SLA. If I want to check the state of the device, I can always do a quick H top. I actually had think about that. I just quickly went and navigated to this device, connected to it immediately, and I can actually go in here at any time I want and run any command that I want to. I can also let you know what the last status update was. What this means is that, if I pushed an update to this device, this is, did they succeeded or did they fail? This gives me instant state on when I’m doing large group updates. You can also see what version of the application I’m currently running here. I can also monitor processes.
Now, this one is for SSH. I’ll show you later on how you can add any additional processes you want. I can go ahead and tag this if I wanted to. I can actually create a tag that I called test, I hit add, and now I’ve got a one call test. I can do searches on tags. I can also go ahead and even create groups. I can go ahead and give a group name. I can actually go ahead and say, do I want to do it based on specific group hierarchies? These are things you define. So you can say they’re testing devices, production, they can be region based, whatever you want. But also too, anytime I select a device, I get some instant information below. First of all, some generalized information about it. I can go in, I can change the name. I can do some edits to this device if I wanted to, like the device name. I can also move it from one group to another. Say I want go ahead and do a test like this, I can say I want an automatic location or a manual location.
Also too, I could say, you know what? I want to have an update trigger. What an update trigger is, that when the device may be offline and say somebody shuts it off and moves, it comes back online, it will go ahead and check for an update to the device. I can also go ahead and monitor specific processes to find out where it is. I can also get this external IP address if I wanted to. In addition to that, by the way, you can see CPU or speed. I could also go ahead, if I wanted to, and I can go grab any of the actual logs or update history that I want. If you look here, you can see I could actually get all the device information about when it was updated, and how it was updated, did it succeed, and did it fail? I can also go ahead and view API logs, right? I’m not going to do that right now. But then below this you can see, I’m actually going to go ahead and you can see if there’s any alerts. I can also show you, is there any data monitoring?
So, this allows me to go in. Then, these are things I’m going to show you where I set those later. Then there’s also, I can have the ability to set any command that I want down to a device. I can even create procedural based commands where I can go ahead and say things like, get network. I’m going to go do a quick run. This is actually going to run a remote command that’s going to send a command to the device. What it’s going to do is, soon as it sends that command to the device, the device executed that command. In this case, there’s nothing really to show here right now because I think this device… Oh, here we go. The device information came back, and here we go, these are actually all the things that I have running on the device. I actually have the ability to actually get the output that I want. Well, let’s go ahead and let’s actually go register a new device. I actually have a new Raspberry Pi that I got. Actually, I have Homebridge.
I have a lot of Alexa devices and Google devices, but I’m also an Apple fanboy, so I want to be able to actually go ahead and control those devices. So I’m actually going to go ahead and add a new device, and I’m going to show you. We’re going to do that live. Let’s see what happens. First of all, just so you know, we also have all of our docs right here. In the docs, you can actually see where we have, register device. You can either register a single device, you can also register a device at scale if you wanted to, right? We have the instructions on how to go ahead and do that. Also too, if you’re using Yocto to actually build the image for your device, you can go in here and actually we show you how to bake our client into the actual image itself. In our case, we’re going to handle it very simply. I’m going to go in and click register device. Very easy. I choose whether I want to do a root user or I want to do a regular user.
It generates a command here, which you can copy near clipboard.What it’s going to do is, it’s actually going to install the JFrog Connect client. It’s going to also going to associate a very unique ID. This is your ID for your instance. Now, I can also go in and add things like the device name. I can do the root name. I can also do the software version if I wanted to do this. So if you look here, you can see here’s an example of my device name. So, let’s do this. Let’s go as root user. I’m going to copy the clipboard, which I just did. I’m actually going to go ahead, I’m going to go over to my shell. Just to let you know, this is a real live device. This is a Homebridge server. I’m actually logged in as root in this case. I’m actually shelled into it. I’m going to go ahead and paste this command in. I’m also going to add in a flag. The flag in this case happens to be the device name. I can say equals, and in this case, I’m going to call it, Homebridge, right?
Let’s go ahead and do this. Let’s hit enter. Oh, doesn’t like my end. Is it double end? Ah, we’ll come back and do it. Oh, sorry, I did that wrong. My bad. Like I said, they changed one of the commands, but let’s go ahead. Now it’s going to go ahead. It’s actually bringing down the actual component. It’s going to go ahead and install it. It’s going to take a few minutes, but let’s go back and look, and let’s go look at my connect here. Let’s go ahead and see if the new device is going to be on here. We’ll go take a look. Oh, I hit the wrong button. Oh, you know what? I don’t think I have… Oh, it’s going to take a minute for it to connect. Here we go. We’ll come back and we’ll get it because it is going to take a minute to actually get here. Let’s see here. I can do a refresh, I believe. There we go. We’ll let it come back up, but in the meantime, let’s go ahead and we’ll continue.
Well, we also have the ability to go in here and do things like alerts. So if you take a look here, you can actually go ahead and see any alerts you have. You can actually go ahead also too, configure any new alerts. This allows you to create alert name. You can do a channel, so the email channel could be like, you want to be emailed on this, or you can actually go ahead and create your own channel on what you want to do, whether it’s email or a web hook, or something like that. What’s nice too is that, you can go in at any point in time with these. You can say what kind of alert. Was there a resource or monitoring? Then, you can also say, you can apply it to all devices or you can actually go ahead and select groups. You can do it by specific tags, you can do it by device state. I can actually go in here by tag and say, test and apply it if I wanted to.
So, now it means is that, any device that’s in this test group, I can go ahead and do a monitoring for alerts, so I can actually maybe say, CPU alert, right? I’ll put my email address in. We’ll say, in this case, email@example.com. Let’s apply that. There we go. We’re just going to create an alert, go ahead, create an alert. Now I’ve actually created a new alert that any of the devices I have there, if it’s equals to 50%, send me an email and let me know which devices are crossing that threshold. The biggest thing that people utilize us for though, is of course updates, the software updates in this case. Now, what you see here is when you first come in, is the deployments. This is where you’ve deployed an update, no matter what it is to a device. What it does is, it lets you know when it was run, the name of the actual deployment ID. You can actually see here where we’re going to let you know, is it pending? Is it in progress? Has it succeeded or has it failed?
In this case, I only did a quick update to one device, but I’ll actually show you in a minute how you can actually do this again. Like I’ll just show you, you actually can have update flows that you maybe run on a regular basis. The regular basis flow that you might have, you might want to run all the time. It might say you get the latest version of something. Let’s go create a flow, and let’s just go send something to the device itself. Let’s go ahead and let’s take a look. Let’s create a flow. Now, a flow is a way that you can create these device updates. First of all, it gives a flow a name. You can choose to reboot the device afterwards, and you can also have rollback functionality, so you can enable generalized rollback. It will store the name of the previous version, and if it fails, you can have it go ahead and reinstantiate that version. But you can also do things, like run a command. So, it would run a command. You can go in and say whatever you want to do.
This is a shell command, so it might be something like this. It says, “Hello Connect.” You could say, “Echo. Hello.” Oh, if I could type today. “Hello Connect,” right? We’ll just say, “Hello.” Now, if it fails for some reason, I can continue to update and whatever, and we’ll just save this action. So now I got one that says run, “Hello.” I can also run a script if I wanted, right? Now the script, when you do it, it allows you to go ahead and drag and drop the actual script in here. It’ll execute. You can also say how you want to execute it. Do you want to run it? Are you expecting a specific code back? Of course, have things like failure. The big one is, what we’re going to do in our case is, we’re going to go deploy a file. Now, deploy a file is the same idea, so I can go in and find something. Maybe I want to go ahead and I don’t know, let me go for a download for a second. I’ll just go and whatever. Oh, you know what I’ll do?
Here we go, let’s go into my documents for a second. We’ll go to JFrog, we’ll go to my IoT workshop. I’ll share with you this afterwards. We’ll go to code, and I’ve got a message file. There we go. Now in this case, I’m going to go ahead and deploy this into, let’s say, slash route. Let’s go there. So I’m actually going to go ahead and upload a file. I’m going to push it. If it fails, I’m going to go ahead and say, just stop it, and we’ll do that. So let’s just call it, test blah. This works, and let’s save this flow. Yeah, let’s do this. I don’t have rollbacks enabled. That’s okay. Let’s go ahead, we’re going to process the file. It’s going to upload it and store it. Let’s go ahead and let’s see if I can go ahead and deploy this. I’m going to choose a version. In this case, I’m going to say I can do the create an app. An app means I can actually aggregate a bunch of calls together. I’m going to say, in this case, I’m going to say four. I’m going to call it that.
I could schedule an out if I wanted to, so I can actually say when I want it deployed. But let’s go ahead and let’s create this parameter. Let’s see. Oh, I have the selected device. Might help if I did that. So let’s go ahead and say specific device. Let’s just say, test one. I’m going to say my test device here, I’m going to hit next. I’m going to have finish, and now I’m going to go ahead and create the deployment. Yes, so let’s go run the deployment. What’s great is that, when this deployment starts, I can go in here, click on monitor, you can see that it’s pending. It went to in progress, and it was successful. I just deployed this to this device. I can go in and show you, here’s actually what was run. I actually placed this one in text, this message dot text into route. Let’s go back and take a look.
If I go back and take a look under my overview, let’s go ahead and look at my devices, and let’s go ahead and I’m going to go into the device I actually just published to, just to show you. Let’s connect. Here we go. There we go. We’re establishing a connection. And connect. Let’s go ahead. Now, let’s establish the connection. Let’s go to CD/route. Let’s do that. Excellent. I’m going to his LS-SLA. There it is, my message about text. I just actually pushed that text to the device, right? Very simple and straightforward. What’s also nice though about these kind of updates, is that these flows, besides doing that, you can also do things like, deploy a docker image. So in other words, back in the days when I started this, a lot of the devices were initially the first set of builds that you would do with CNC plus plus. Then, it moved over to Java and OSGI. Now services on devices are rendered with low level, small versions of OCI images for Docker and using BusyBox and others.
But you can go ahead and say, because Artifactory is a docker registry, you can actually use the registry in Artifactory, which is, by the way, far superior to most other registries, or almost all registries on the market. You can either use a Docker compose function or you can actually even use a single function. So in this case, since we’re connecting to my JFrog platform, I can go over into my JFrog platform, if I wanted to. I could go find myself, and here in this case, I just happened to be at a docker image here. I can go in, and I could say, okay, well here’s my path, here’s my URL to the image I want deploy. I can go over here to connect and say, you know what? I’m going to deploy number image 151, and I’m going to say, in this case, 151 is the image I want to do.
I want to go ahead and also add maybe some additional functionality. So, when I deploy the image, I might want to restart, I might want to remove the previous image, which I can do here, right? So, free up space. Then I can go ahead also on top of that, so I could just say in this case, I’d be like, Docker, deploy, deploy app, whatever. Then if it fails, I’m just going to go ahead and continue with the flow, or I can go ahead and say, you know what? Actually, I want to go back and roll it back and I want to go ahead and say, restart the previous container, ’cause I’m going to retain it. So I can even go in here and say, well, if that’s the case, maybe I don’t want to delete the previously used image, but maybe I’ll run it after it’s actually done it, and then we could save it.
But we could also go ahead and do things like Git, right? So you can also go ahead and say you go ahead. You can add your Git account into here. You can actually say what files you want to pull out of Git or the entire thing. Send it down to the device. On top of that too, if you’re using Artifactory, right, besides the standard Docker registry kind of stuff, you can also go ahead and pull any file that you want and actually deploy it to the device too. You can add as many artifacts as you want. By the way, all this stuff is also, you can script it and make it API-able with the same level of idea. Also too, if you’re familiar with the distribution side, we have release bundles, which is a way to aggregate all those software components together, like Docker images and helm charts, blah, blah, blah.
This also allows you to go in and also pull those images out of the release bundles out of Artifactory itself, and create these workflows. What’s great is, you can make really highly complicated workflows too. Now, one of the other cool features is, is that you can actually go ahead and pull log files. So you can actually go ahead and pull the log files that you want for a device. You can specify a device, you can specify a specific path that you might want to do and hit fetch, and it’ll pull the log files off the devices at any time. We already talked about the remote control that we have here. So you can actually go ahead, select the device, and you can also see when the last time it was connected to. You could also, if you’re using, say something like VNC, or any the Web View, or anything like that, you can go ahead and open a session and use one of those.
So if you’re using VNC, set up your VNC client, this will actually go ahead. If you look here, you can see where you can go ahead and add the remote option access for VNC. You can also go ahead, and we have a series of commands. Here’s commands like I showed you before, things like here’s the F config where I went and got the information from the device itself. You know what, you can read reboot devices, you can go ahead. Here’s an example where I did a quick LS. I just wanted to see what was at the root itself, so I just send in this case, route LSLA. Anything you want like that, you can even remote reboot the devices and things like that. Then, it comes down to monitoring. So with monitoring, you can go ahead and monitor any device, single device or group device or collective.
You can look at things such as usage, ram, disc and everything like that. This is where you can go in and you can start monitoring processes. So maybe you have a process that you want to monitor on a remote device. You can go ahead and put the remote device name in. The process you want to monitor, you do it here. This will allow you to actually go in and also do it based on individuals or groups. One of the other cool things that I really love is that you can also do things, such as monitoring… Oh, my mouse seems to be stuck here. There we go. I lost connection of my mouse. There we go. You can actually go ahead and also do things, such as every sort of data, from the temperature, network or anything like that. We have a lot of those.
You can also create triggered alerts based on that. Then lastly, one of the other things that I really love, is the fact that you can create firewall rules to find out intrusion detection on these remote devices. So you can go ahead and write these rules that you might want to apply to it. So when you look at what we’re doing in terms of Connect, it’s very straightforward. It’s not a very super complicated product, but it offers a lot of functionality. Oh, if you look here, by the way, it says I’ve reached my device limit. That’s the reason why I couldn’t do it before because I actually forgot to upgrade my account. So, we can actually go in here if we wanted to, and I’ll go in later on and I can say change. Let’s do this, I’m going to go with, delete the device.
Let’s do this. Let’s see how this does, Hey, look at that. I don’t need my Frog Berry either, but let’s do this now. I should be able to go ahead and register to the device now, and I should have enough there. It might take a minute for it to actually go ahead. Let’s see, we can refresh the dashboard. Hey, look at that, here’s my new device, the one that I was just trying to do. That’s my Homebridge server, so I’ll actually go in and say Homebridge. I should have actually done the name there. There we go, let’s save the changes. Let’s do that. Yay. So now with my Homebridge server, I can go ahead, and let’s go connect to it, right? That’s the device that I stopped before, so there we go. All right, let’s connect and let’s see if I’m connected. It takes some time because this one’s actually, it’s funny, it’s sitting right here on my desk, I haven’t put it into its home yet. Here we go.
The countdown to route, and I should be in my Homebridge server. Oh, you know what? Actually, it’s still connecting. That’s okay. Oh, remote connection session is… Oh, it’s no longer. Oh, you know what? That would explain it, because actually it’s probably offline right now, ’cause I think I just accidentally kicked the power. All right, well, so much for that. Anyway, I should go plug that back in. But thank you guys so much. This is my quick overview of what you can do. Have a wonderful day. Be safe, be wonderful, be well, everyone. If you have any questions, please feel free to reach out with us. We could actually go ahead and give you a session, a deeper dive into this. We should definitely discuss things like software, supply chain, security, in terms of devices, in the next step [inaudible 00:38:03]. Have a wonderful day,