Manage your Fleet

JFrog Connect uses projects and groups as a way to manage large device fleets. This is an introduction to projects, groups, and other ways of segmenting your fleet into manageable subsets of devices.

Overview

Once you have more than a few devices in your fleet, you need a way to segment the fleet into manageable subsets of devices. This becomes even more important when your fleet numbers in the hundreds, thousands, or even hundreds of thousands of devices.

Typically, you will want to distinguish between different sets of devices such as Testing and Production. In addition, there could be many other ways to you need to separate between devices, such as different:

  • Geographical and physical locations

  • Departments and organizational divisions

  • Hardware devices (e.g., cameras vs. robots)

  • Hardware versions

  • Operating systems

  • Software applications and versions

JFrog Connect provides easy-to-use tools that enable you to segment your fleet into manageable groupings and hierarchies. Projects and Groups enable you to segment devices into hierarchical subsets, while Tags and Applications enable you to create non-hierarchical subsets of devices that can reach across different Groups. When you combine the use of all of these tools, you can have control over a large fleet with ease.

Projects

The Project is the highest organizational level in a Connect account. An account must have at least one project. The first project is defined by default when you create an account. Once the account is created, you can create additional projects.

Each project is an entirely separate environment that enables you to differentiate between users and devices that belong to a different product or use case. Therefore, each project has its own settings and properties. For example, a project can have its own users, permissions, communication cycle, and subgroups of devices which are completely separate from other projects in your account. You can view the project settings in the Project tab of the Settings page.

Some typical uses of projects could be:

  • A business that has facilities in different locations. Each location has its own project, as different people need access to the devices in those locations.

  • Two different teams working on two different solutions. They would use the same Connect account, but be separated into two separate projects.

Device Communication Cycle

This number represents the number of seconds between each keep-alive message that is sent by the devices to the Connect servers. Actions that are related to the device and initiated from the web UI, like the Remote Control and other Control Center tools, are influenced by the device communication cycle.

The communication cycle can be set per project, but is the same for all devices within a project. The default cycle time is 15 seconds. In general, smaller cycle times could lead to greater load on the Connect servers.

Manage Projects

For information about creating, configuring, and deleting projects, see Create Project. To register a device into a project, see Register a Device.

Groups

Within a project, you can divide the devices into groups. All of the groups within a project have the same project configuration, e.g., the same device communication cycle, but they are made up of different devices. A typical example would be groups that distinguish between different stages of a project, such as development, staging, and production.

When you register a new device, it is assigned by default to the Production group. If you already have additional group names defined, you can set the desired group for a device using a flag when you run the Registration command.

Devices can be assigned to groups using either the web UI or the Connect API.

Hierarchies

You can always create a new group in your project. In addition, you can create groups with a group. This enables you to create hierarchies that suit your business needs. Although there is no limit to the number of levels you can create in your group hierarchy, we recommend planning this carefully so that your structure does not go too deep. A flatter hierarchy structure makes it easier to remember where your devices are in the organization.

Manage Groups

For information about creating, rearranging, and deleting groups, see Create Group.

Tags

A tag is a user-defined parameter that enables you to identify devices with unique attributes. Tags provide an additional way that you can group devices. In particular, tags enable you to associate devices that belong to different groups. The following are some examples of how you might use tags.

  • You create a tag called Staging to indicate that a certain device is used for testing only.

  • You create a tag called headless, which indicates that the device does not have a monitor connected to it. You might have a small number of Headless devices existing in several groups.

  • You create a tag called new-gen, which you use to mark all devices that use a newer generation of hardware or software.

When you have tagged devices, you can then use the tag as a filter to select only certain devices. This enables you to perform numerous actions on a set of tagged devices such as updating software, stopping, starting, rebooting, and others.

For information about creating and removing tags, see Tag Devices.

Applications

You can use the Application feature to define Application names on sets of binaries that are deployed to the edge devices. This is, in effect, another way of grouping devices in your fleet. For example, all devices having Application X makes up a subset of devices that you can query on and perform various actions on. Like tags, applications returned in your searches could belong to a subset of devices in a group, or might belong to devices in different groups.

For more information about creating and using applications, see Set Application & Version.

What’s Next?

Learn more about:

Last updated