Terminology

Familiarize yourself with these common terms associated with EdgeWorkers flexible composition.

Package management

A package management system automates the process of putting modules and dependencies in place so that the computer program can find them. EdgeWorkers uses flexible composition to create and deploy the code bundles and the dependencies defined in the bundle.json file.

Parent EdgeWorker

A parent EdgeWorker is any EdgeWorkers function that imports other EdgeWorkers code bundles as dependencies. A parent EdgeWorker can also be a child. To learn more, follow the steps in Create a parent EdgeWorker.

Child EdgeWorker

A child EdgeWorker is imported by one or more parent EdgeWorkers. Child EdgeWorkers can also contain dependencies. To learn more, follow the steps in Add a child EdgeWorker to an existing parent.

The example below illustrates the parent-child relationship.

  • EWID: 4 is the top level parent that has two direct child EdgeWorkers.
  • EWID: 4 also has one transitive child EdgeWorker. A transitive child is not a direct descendent of the parent EdgeWorker but is connected via another EdgeWorker in the dependency tree.
  • EWID: 2 is both a child EdgeWorker to EWID:4, and a parent to EdgeWorker of EWID:1.

Combined code bundle

A combined code bundle is composed of the parent code bundle and all imported child dependencies. To learn more, go to the Create a code bundle topic in this guide.

📘

You need to Create an EdgeWorker version when you want to activate a new EdgeWorkers code bundle or update an existing code bundle.

Revision

The EdgeWorkers service creates a Revision when a child EdgeWorker is updated. Revisions are dynamically submitted by the system on the same Akamai network, either staging or production, as the activation they are linked to. One activation can have many revisions. Revisions are mapped, like activations, to a specific network. If a version is activated on the staging network, the revision will also occur on the staging network.

The first revision is generated when a parent EdgeWorker is activated. Subsequent revisions are dynamically created by new child activations. To learn more, refer to the Review a dynamic reactivation example in this guide.

Activations, on the other hand, are submitted by the user on a specific Akamai network, either staging or production. You need to perform a separate activation to activate the same version on another network.

Revision ID

Each dynamic reactivation generates a unique Revision ID. The first Revision ID is created when you activate the parent EdgeWorker version. Subsequent Revision IDs are created when you activate a new version of a child EdgeWorker. To see how this works you can review the diagram in the Dynamic reactivation description.

The Revision ID consists of the activation ID and a unique ID for each reactivation, separated by a dash. For example, the first Revision ID for the Activation 1 would be 1-1. When a new version of a child is activated, the parent gets a new Revision ID, 1-2.

You can use the Revision ID to identify what was pushed to the network. The Revision ID appears in Control Center with a link to the Bill of Materials. You can also view a list of the Revision IDs in Akamai Control Center. To learn more, refer to the Review a dynamic reactivation example in this guide.

Revision pinning

Pinning an active revision locks the parent EdgeWorker to that revision. This prevents dynamic reactivation.

Direct or transitive child EdgeWorkers cannot trigger new revisions for the pinned parent EdgeWorker or any of its transitive parents. This allows you to control what is imported by the EdgeWorkers that you own. You can only pin active revisions that you have access to and not those owned by other teams. For more information see Pin a revision in this guide.

Dynamic reactivation

A new revision of the parent EdgeWorker is dynamically activated when a new version of a child EdgeWorker is activated. For more information see, Review a dynamic reactivation in this guide.

A dynamic reactivation pushes the parent EdgeWorker and its dependencies to the Akamai network. A revision includes the collection of versioned EdgeWorkers. You can use these three tools to track each revision and identify what's running on the network.

  • BOM
  • Revision ID
  • Changes between revisions

Revision activation

A revision activation lets you activate an old revision. You can only activate a revision that is part of the current activation. On the other hand, an Activation is submitted by the user on a specific network. You need to perform another activation to activate the same version on another network.

This example shows that you can select a revision that was previously activated and activate it again.

BOM

The Bill of Materials (BOM) lists the dependency tree of an activated parent EdgeWorker. It includes the EdgeWorker ID and versions of all the transitive children.