Product limitations & usage metrics#
TeamBeam applies limitations on how the services can be used by a customer according to their contract. This page explains the involved components and their interaction.
Creating a customer#
Different options are possible how a customer can be created:
- Self-signup at free.teambeam.de. The person is using TeamBeam free of charge within the FREE service offering. From there, they purchase a TeamBeam PRO upgrade, and their own TeamBeam system is created.
- Contact through manual sales. Skalio creates a temporary customer entry and provisions a TeamBeam test system free of charge for a short amount of time. At the end of the period, the test system is removed automatically. The customer accepts the commercial offer, and their own TeamBeam system is created.
Within TeamBeam, the customer is represented by the term "organization", and every organization represents a commercial customer. The exception here is the FREE service, where Skalio is the representing owner of the organization.
In both cases above, the customer is created within the billing platform Stripe first. The PRO upgrade is handled by the Stripe web-shop, whereas Skalio sales use the Stripe dashboard when creating customers manually.
Stripe securely sends events to Skalio ID when customers are created. Skalio ID then creates the matching organization and publishes the event to the other backend services. These in turn create their entities as necessary for their operation.
Adding a subscription#
At this point, the organization is created, but service is not enabled since it is missing a subscription.
Subscriptions are created either as part of the web-shop experience of purchasing TeamBeam PRO or by the Skalio sales team using the Stripe dashboard.
Several subscription items are available. Some can be combined with others to increase the functionality, others are exclusive. Some are quantifiable, others are individual. The combined subscriptions of an organization determine, if the service is enabled and how it is limited in terms of users, storage volume and monthly transfer volume.
Examples:
Subscription item | Description | Can be combined with | Quantifiable |
---|---|---|---|
TeamBeam PRO | Enables the service, includes specific values for users, transfer- and storage volume. | none | no |
TeamBeam CORPORATE 200 / 1000 | Enables the service, includes specific values for users, transfer- and storage volume. | Additional users, transfer- or storage volume | no |
TeamBeam CORPORATE unlimited | Like CORPORATE, but with unlimited monthly transfer volume. | Additional users, storage volume | no |
Users | Grants 1 additional user. | yes | |
Transfer volume 1TB | Grants 1TB additional monthly transfer volume. | yes | |
Storage volume 5TB | Grants 5TB additional storage volume. | yes |
When a subscription item is created or updated, Stripe securely sends events to Skalio ID, where they are processed. Skalio ID aggregates all active and healthy subscription items and publishes the combined product limitations to the other backend services.
Product limitations#
Product limitations contain precise information per organization:
- Is the service enabled?
- Are specific features, such as "secure space" or "GDPR contract download" available?
- How many users can the organization have?
- What are the total limits of storage volume and monthly transfer volume?
- What rate limits are applicable to the users of the organization?
Each backend, including Skalio ID, processes the product limitations update and acts upon the information that affects it. For example: TeamBeam Drive is limited only by total storage volume. The updated value is persisted for the organization; the other quantifiable values are ignored.
Each backend rejects requests when the organization's service is disabled or when the quantifiable organization limits or individual rate-limits are exceeded.
Telemetry and usage metrics#
At irregular intervals, each backend publishes telemetry data containing the usage metrics of an organization. Other backends can subscribe and process this information if necessary. Two obvious purposes:
- Skalio ID persists telemetry data for the reported organization and provides the information as usage metrics (API). The admin frontend can present the information to the customer.
- Both the TeamBeam Transfer Archive and the TeamBeam Drive consume storage volume. The product limitation on storage volume must be assessed against the combined used space. Hence, both backends need to persist the latest storage volume usage of the other.
Delayed reporting
Telemetry data is published asynchronously, delayed and at irregular intervals. Usage metrics contain the timestamp of the most recently received telemetry update contributing to the usage metrics.
Special cases#
TeamBeam FREE#
TeamBeam FREE is operated by Skalio on their own cloud infrastructure. It is licensed by a static subscription, independent of Stripe.
TeamBeam On Premises#
On premises installations are running on customer equipment within their datacenter, separate from the Skalio cloud platform. These installations are not connected to Stripe. The user-limit is manually set by Skalio operations. Since the customer is responsible for providing network bandwidth and storage space, these limits are not enforced.
Operational support#
Manual publishing of product limitations#
Product limitations are only published automatically when the subscription changes.
The Skalio ID shell can be used to manually publish limitations for a specific or all organizations.
skalio-id> organization publish
Publish organization updates
This command triggers all other backends to update the details of an organization in their system,
including applying product limitations. This command can be run at any time.
Search for an organization by UID, external UID, name, hostname, or the email address of a member
Enter 'all' to select all organizations.
Search by: free
Found 4 entries matching the search term. Iterating over the list now ...
-----------------------------------------------------------------------------
Org UID : free-teambeam-de
Name : TeamBeam DEV FREE
Active hostname : free.teambeam.dev
Inact. hostnames: free.teambeam.ru, light.teambeam.ru, test.teambeam.ru
Locale, TimeZone: de-DE, Europe/Berlin
MFA required : no
Avatar : no
Members / Limit : 154/1,000,000
No subscriptions
Publish details & limits (y/N)? y
Organization details and limits published
Manual publishing of telemetry data#
Each backend service offers a shell command to publish telemetry data:
skp-server> telemetry publish
Publish telemetry data
This command collects telemetry data for all top-level entities (adminunit, organization) and
publishes them to other backends. No promise is made if those backends are interested in the
data, or in fact are even listening.
Confirm (y/N)? y
Organization UID | Type | Value | Timestamp
-----------------------------------------------------------------------------------
free-teambeam-de | storageVolume | 261,176,589 | 2025-01-24T08:43:16Z
free-teambeam-de | transferVolume | 26,829 | 2025-01-24T08:43:16Z
363s2uzozs5w09.5 | storageVolume | 462,337,068 | 2025-01-24T08:43:16Z
363s2uzozs5w09.5 | transferVolume | 0 | 2025-01-24T08:43:16Z
ir8nig2phmsh9ljw | storageVolume | 0 | 2025-01-01T00:00:00Z
ir8nig2phmsh9ljw | transferVolume | 0 | 2025-01-01T00:00:00Z
3_bly8ioyyg_jduf | storageVolume | 1,979,038 | 2025-01-16T08:14:11Z
3_bly8ioyyg_jduf | transferVolume | 13,009,140 | 2025-01-16T08:14:11Z
4emv9ym0zr4.y59w | storageVolume | 0 | 2025-01-01T00:00:00Z
4emv9ym0zr4.y59w | transferVolume | 0 | 2025-01-01T00:00:00Z
8fc.czj7-z4uk5g. | storageVolume | 0 | 2025-01-01T00:00:00Z
8fc.czj7-z4uk5g. | transferVolume | 0 | 2025-01-01T00:00:00Z
80ikfmt069k.6k2x | storageVolume | 0 | 2025-01-01T00:00:00Z
80ikfmt069k.6k2x | transferVolume | 0 | 2025-01-01T00:00:00Z
94are.opp0p5z0ce | storageVolume | 0 | 2025-01-01T00:00:00Z
94are.opp0p5z0ce | transferVolume | 0 | 2025-01-01T00:00:00Z
j3dvhim1v8jqeywq | storageVolume | 0 | 2025-01-01T00:00:00Z
j3dvhim1v8jqeywq | transferVolume | 0 | 2025-01-01T00:00:00Z