Migrate from Akamai to Azion

A platform migration from Akamai usually starts with an inventory problem. Delivery properties, behaviors, hostnames, Cloudlets, EdgeWorkers, EdgeKV data, security policies, DNS zones, traffic steering rules, storage, and observability streams may be managed across multiple products and operational processes.

For teams using Akamai Ion, App & API Protector, EdgeWorkers, EdgeKV, Cloudlets, Edge DNS, Global Traffic Management, NetStorage, DataStream, mPulse, Prolexic, Image & Video Manager, or related delivery products, Azion provides equivalent capabilities through Applications, Rules Engine, Functions, KV Store, Object Storage, Firewall, Web Application Firewall, DDoS Protection, Bot Manager, Edge DNS, Load Balancer, Data Stream, Edge Pulse, Real-Time Events, and Real-Time Metrics.

The strongest reason to migrate is not simply to replace one vendor with another. It is to consolidate application delivery, compute, storage, security, DNS, and observability into a unified platform designed for globally distributed applications.

How Akamai to Azion Migration Works

Traditional platform migrations often require recreating delivery properties, rebuilding origin behavior, replacing security policies, and changing DNS under pressure. That approach increases operational risk and makes rollback harder.

The Azion migration approach preserves application behavior while moving each Akamai workstream into a unified platform model:

  1. Incremental migration path. Start with one representative Akamai property, validate delivery and security behavior on Azion, and expand only after the migration pattern is proven.

  2. Preserved application behavior. Hostnames, origins, cache rules, redirects, headers, Cloudlets, EdgeWorkers logic, security controls, storage access, DNS, and observability patterns map to Azion Applications, Workloads, Connectors, Rules Engine, Functions, Firewall, Store, and Observe products.

  3. Unified platform model. Instead of operating delivery, compute, security, storage, DNS, and observability as disconnected products, Azion brings these capabilities together with consistent APIs, Console workflows, and deployment patterns.

Feature Mapping

The following table provides a practical mapping of Akamai products and configuration areas to their Azion equivalents. A dash (-) indicates that Azion does not currently offer a direct equivalent.

Akamai Product or FeatureDescriptionAzion Equivalent
IonWeb performance, reliability, and user experience optimization at scale.Applications + Application Accelerator + Cache
API AccelerationAPI performance and reliability optimization.Application Accelerator + Cache
Adaptive Media DeliveryLarge-scale online video delivery.Applications + Cache + Object Storage
Download DeliveryOptimized delivery for large files, software, games, and media assets.Applications + Cache + Object Storage
Dedicated DeliveryHigh-volume media delivery with origin offload requirements.Applications + Cache + Tiered Cache
Image & Video ManagerImage and video optimization for devices and network conditions.Image Processor
Media Services LiveLive video ingest and delivery workflows.Applications + Cache + Live ingest best practices
CloudletsPredefined policy applications for redirects, load balancing, traffic control, phased releases, and request handling.Rules Engine for Applications + Functions + Load Balancer + Firewall
Cloud WrapperPrivate caching layer for origin offload and reduced egress.Tiered Cache + Origin Shield + Cache
EdgeWorkersJavaScript functions that customize request and response behavior.Functions for Applications
Akamai FunctionsDistributed serverless execution for application and AI workloads.Functions
EdgeKVDistributed key-value data for EdgeWorkers applications.KV Store
API GatewayAPI registration, routing, delivery, and protection.Applications + Rules Engine + Functions + Firewall
App PlatformManaged containerized application deployment.Orchestrator
Akamai Inference CloudDistributed AI inference platform.AI Inference
App & API ProtectorApplication and API protection against vulnerabilities, abuse, and distributed threats.Firewall + Web Application Firewall + DDoS Protection + Bot Manager
Firewall for AIProtection for LLM and AI-driven applications.Firewall + AI Inference
API SecurityAPI discovery, monitoring, and protection workflows.Firewall + Web Application Firewall + Applications
Bot ManagerBot detection and automated traffic response.Bot Manager
Account ProtectorProtection for account abuse and credential attacks.Bot Manager + Firewall
Content ProtectorProtection against content scraping and abusive automated access.Bot Manager + Firewall + Rules Engine for Applications
Input Validation CloudletForm and request validation controls.Firewall + Rules Engine for Firewall
Request Control CloudletFast access control and request filtering.Firewall + Rules Engine for Firewall
Cloud FirewallNetwork security controls for cloud workloads.Network Shield + Firewall
Prolexic SolutionsDDoS protection for infrastructure, cloud, hybrid, and on-premises environments.DDoS Protection + Network Shield
Forward Rewrite CloudletURL rewrite logic for clean and semantic URLs.Rules Engine for Applications + Functions
Phased Release CloudletGradual release and rollback control.Rules Engine for Applications + Applications
API Prioritization CloudletAPI traffic prioritization.Rules Engine for Applications + Application Accelerator
Application Load Balancer CloudletApplication load balancing for performance and availability.Load Balancer
Audience Segmentation CloudletCookie-based segmentation, A/B testing, and session affinity patterns.Rules Engine for Applications + Applications
Edge Redirector CloudletCentralized redirect management.Rules Engine for Applications + Applications
NodeBalancersLayer 4 and Layer 7 load balancing for compute instances.Load Balancer
DNS InfrastructureDNS services for provider and enterprise environments.Edge DNS
Edge DNSHighly available authoritative DNS.Edge DNS
Global Traffic ManagementTraffic steering for performance optimization and outage avoidance.Load Balancer + Edge DNS
DNS ManagerDNS record management interface.Edge DNS
NetStorageReplicated storage for content delivery.Object Storage
Object StorageDurable object storage for data and distribution use cases.Object Storage
Managed DatabasesManaged relational database workloads.SQL Database
Akamai TrafficPeakObservability for operations and security visibility.Real-Time Metrics + Real-Time Events + Data Stream
DataStreamLow-latency data feed to third-party monitoring tools.Data Stream
mPulseReal-user monitoring and digital experience analytics.Edge Pulse + Real-Time Metrics

Migration Strategy

The migration is organized around Azion’s product categories, with DNS and traffic management treated as a controlled cutover workstream:

  • Build: migrate Akamai properties, origins, cache behavior, Cloudlets, EdgeWorkers, Image & Video Manager, API acceleration, media, and download delivery patterns.
  • Secure: migrate hostnames, certificates, App & API Protector policies, WAF rules, bot controls, Prolexic assumptions, access control, and DDoS workflows.
  • Store: migrate NetStorage, Object Storage, EdgeKV, and managed database dependencies to Azion storage services.
  • Observe: migrate TrafficPeak, DataStream, mPulse, dashboards, events, alerting, and external log destinations.
  • DNS and traffic management: migrate Edge DNS, DNS Manager, Global Traffic Management, and load balancing rules only after delivery and security behavior is validated.

Build

The Build category covers application deployment, property migration, request and response logic, compute, routing, cache, media, image optimization, API acceleration, and origin protection. Start here to recreate the behavior users see before moving security, storage, DNS, and observability layers.

1. Project Setup on Azion

The first step brings one Akamai property into Azion in a controlled way. If your team uses Akamai Property Manager, EdgeWorkers, Cloudlets, and CLI/API activation workflows, the migration pattern is familiar: define configuration, deploy, validate behavior, and move traffic when ready.

Azion follows a similar workflow but consolidates application delivery, Functions, rules, security, and observability in the same platform context.

Key Differences

AspectAkamaiAzion
Primary delivery resourcePropertyApplication + Workload
Hostname routingProperty hostnames and edge hostnamesWorkloads and custom domains
Origin configurationOrigin server behaviorsConnectors
Request logicProperty rules, behaviors, Cloudlets, EdgeWorkersRules Engine + Functions
ObservabilityTrafficPeak, DataStream, mPulse, reportsReal-Time Metrics, Real-Time Events, Data Stream, Edge Pulse

Connect Your Repository

  1. Open Azion Console.
  2. Click + Create > Import from GitHub.
  3. Authorize the Azion GitHub App.
  4. Select the repository you want to migrate.

Configure Your Build

Azion auto-detects your framework and configures build settings. Override the detected preset in azion.config.js when needed:

import { defineConfig } from 'azion'
export default defineConfig({
name: 'my-akamai-migration',
preset: 'nextjs', // Override auto-detection if needed
})

Deploy and Verify

Deploy from the Azion Console or CLI. Your temporary Azion URL follows this pattern:

https://xxxxxxxxxx.map.azionedge.net/

Validate the deployment before moving production hostnames:

Terminal window
curl -I https://xxxxxxxxxx.map.azionedge.net/
curl https://xxxxxxxxxx.map.azionedge.net/health

Reference documentation

2. Converting Property and Build Configuration

An Akamai migration can look complete when the first request returns 200, but fail later when cache behavior, redirect logic, origin routing, headers, or security enforcement differs from the original property. Review active property versions and product dependencies before treating the migration as a simple DNS change.

CLI Quick Reference

TaskAkamai WorkflowAzion CLI
InstallAkamai CLI package and product CLIscurl -fsSL https://cli.azion.app/install.sh | bash
LoginAkamai API credentials and CLI authenticationazion login
Local devEdgeWorkers sandbox or local application toolingazion dev
DeployProperty activation, EdgeWorkers activation, or CI/CD pipelineazion deploy
View logsDataStream, reporting, or product dashboardsazion logs
PurgeAkamai purge by URL, CP code, cache tag, or APIazion purge

Configuration Inventory

Before recreating the property in Azion, inventory:

  • Active Akamai properties and property versions.
  • Property hostnames, edge hostnames, certificates, and DNS records.
  • Origin servers, failover settings, health checks, and shielding patterns.
  • Cache keys, TTLs, stale behavior, CP codes, cache tags, and purge workflows.
  • Property rules, behaviors, variables, match criteria, and advanced metadata.
  • Cloudlets, policies, match rules, and activation dependencies.
  • EdgeWorkers bundles, EdgeKV namespaces, and runtime configuration.
  • App & API Protector policies, bot controls, API protections, and Prolexic assumptions.
  • Edge DNS zones, DNS Manager records, and Global Traffic Management policies.
  • DataStream streams, TrafficPeak dashboards, mPulse tags, alerts, and external monitoring dependencies.

Reference documentation

3. Migrating Ion and Delivery Properties to Applications

Akamai Ion properties deliver websites, applications, APIs, and mobile traffic through hostnames, origins, property rules, cache behavior, and performance optimizations. Azion Applications provide equivalent delivery capabilities with integrated Rules Engine, Cache, Functions, Connectors, and Workloads.

Key Differences

AspectAkamai Ion and Property ManagerAzion Applications
Delivery resourceProperty and property versionApplication
HostnamesProperty hostnames and edge hostnameWorkloads and custom domains
OriginsOrigin server behaviorConnectors
Behavior logicRules, behaviors, variables, Cloudlets, EdgeWorkersRules Engine and Functions
Cache controlProperty cache behaviors, CP codes, cache tagsCache Settings, Advanced Cache Key, Rules Engine, Real-Time Purge

Configuration Steps

  1. Access Azion Console.
  2. Navigate to Build > Applications.
  3. Click Add Application.
  4. Configure your Main Settings.
  5. Create Connectors for each Akamai origin server.
  6. Configure Cache Settings and Rules Engine.
  7. Add custom domains through Workloads when ready for cutover.

Application Configuration Example

import { defineConfig } from 'azion'
export default defineConfig({
name: 'akamai-property-migration',
applications: [{
name: 'main-app',
origins: [{
name: 'primary-origin',
type: 'http',
addresses: [{
address: 'origin.example.com',
weight: 1
}]
}],
cache: {
ttl: 3600,
staleWhileRevalidate: 300
},
rules: {
request: [{
name: 'API routes bypass cache',
criteria: [{
variable: 'uri',
operator: 'starts_with',
argument: '/api/'
}],
behavior: {
bypassCache: true,
setOrigin: 'primary-origin'
}
}]
}
}]
})

Reference documentation

4. Migrating Rules, Behaviors, Cloudlets, and Headers

Akamai properties often contain business-critical logic in property rules, behaviors, variables, Cloudlets, and EdgeWorkers. Migrate simple logic to Rules Engine and reserve Functions for behavior that needs code, external lookups, custom algorithms, or signed token validation.

Key Differences

AspectAkamaiAzion
Simple redirectsEdge Redirector Cloudlet, property behaviors, EdgeWorkersRules Engine redirect behavior
URL rewritesForward Rewrite Cloudlet or property rulesRules Engine + Functions
Header changesModify Incoming Request Header and Modify Outgoing Response Header behaviorsRules Engine request/response behavior
Traffic segmentationAudience Segmentation CloudletRules Engine criteria and Functions
Complex logicEdgeWorkers or advanced property rulesFunctions

Redirect Migration Example

# Akamai-style intent
If the request path matches ^/old/(.*)$, redirect permanently to /new/{capture}.
# Azion Rules Engine
Criteria: ${uri} matches ^/old/(.*)$
Behavior: Redirect To (301): /new/%{capture[1]}

Security Header Migration Example

import type { AzionConfig } from 'azion/config';
const config: AzionConfig = {
applications: [{
name: 'my-app',
rules: {
response: [{
name: 'Security Headers',
active: true,
criteria: [{
variable: 'uri',
conditional: 'if',
operator: 'starts_with',
argument: '/'
}],
behavior: {
addResponseHeader: [
'X-Frame-Options: SAMEORIGIN',
'X-Content-Type-Options: nosniff'
]
}
}]
}
}]
};
export default config;

Cloudlet Migration Checklist

  • Convert Edge Redirector rules to Rules Engine redirect behaviors.
  • Convert Forward Rewrite logic to Rules Engine or Functions when path reconstruction requires code.
  • Convert Audience Segmentation criteria to cookie, header, path, and device criteria in Rules Engine.
  • Convert Phased Release policies to Rules Engine, Functions, and controlled workload routing.
  • Convert Application Load Balancer Cloudlet behavior to Connectors and Load Balancer.
  • Convert API Prioritization patterns to Rules Engine, Application Accelerator, and cache policies.

Reference documentation

5. Migrating EdgeWorkers and Akamai Functions to Functions

EdgeWorkers execute JavaScript to customize requests and responses. Azion Functions provide distributed JavaScript execution for request handling, API orchestration, personalization, redirects, authentication, and integration logic.

Key Differences

AspectAkamai EdgeWorkersAzion Functions
Deployment unitEdgeWorker ID and versionFunction and Function Instance
Runtime modelAkamai EdgeWorkers JavaScript runtimeAzion JavaScript runtime
Function signatureEvent handlers such as onClientRequest and onClientResponseexport default { async fetch(request) {} }
Configuration dataEdgeKV, property variables, product-specific APIsKV Store, Object Storage, Variables
AssociationProperty behaviorRules Engine behavior and Function Instance

Update Function Signature

// Before: Akamai EdgeWorkers style
export function onClientRequest(request) {
const path = request.path;
request.setHeader('x-migration-source', 'akamai');
}
// After: Azion Functions
export default {
async fetch(request) {
const url = new URL(request.url);
const headers = new Headers(request.headers);
headers.set('x-migration-source', 'azion');
return fetch(new Request(url, {
method: request.method,
headers,
body: request.body
}));
}
};

Update Configuration Access

// Before: Akamai configuration access varies by EdgeWorkers implementation
const apiToken = 'read-from-property-variable-or-secure-store';
// After: Azion Functions
const apiToken = Azion.env.get('API_TOKEN');

Migration Guidance

Code AreaMigration Guidance
Request parsingUse the standard Request and URL APIs.
Response creationUse the standard Response API.
HeadersUse request.headers and response headers.
Environment valuesUse Azion.env.get().
Key-value dataUse Azion.KV.
External servicesUse fetch().

Reference documentation

6. Migrating Load Balancing, Origin Failover, and Cloud Wrapper

Akamai origin configuration can include multiple origin servers, Cloud Wrapper, Origin Shield-like patterns, health checks, failover, and Global Traffic Management dependencies. Azion uses Connectors, Load Balancer, Origin Shield, Tiered Cache, and Rules Engine to recreate origin routing and origin protection behavior.

Key Differences

AspectAkamaiAzion
Origin resourceOrigin server behaviorConnector
Load balancingApplication Load Balancer Cloudlet, NodeBalancers, GTM patternsLoad Balancer and Rules Engine
Health checksProduct-specific health checksConnector health checks
Origin protectionCloud Wrapper and caching hierarchyTiered Cache and Origin Shield
FailoverProperty rules, GTM, or product configurationLoad Balancer and Rules Engine

Configuration Steps

  1. Access Azion Console.
  2. Go to Products menu > Connectors.
  3. Create a Connector for each origin server.
  4. Configure health checks.
  5. Configure origin weights and failover behavior.
  6. Enable Tiered Cache or Origin Shield when origin offload is required.
  7. Associate Connectors with your Application rules.

Reference documentation

7. Migrating Cache Configuration and Purge

Caching configuration determines how content is stored, revalidated, and purged. Akamai cache behavior often combines property behaviors, CP codes, cache tags, advanced metadata, Cloud Wrapper, and purge APIs. Azion provides Cache Settings, Advanced Cache Key, Rules Engine, Tiered Cache, Origin Shield, and Real-Time Purge.

Key Differences

AspectAkamai CacheAzion Cache
Cache policyProperty cache behaviors and advanced metadataCache Settings and Rules Engine
Cache keyProperty behavior and advanced metadataAdvanced Cache Key
Origin offloadCloud Wrapper and cache hierarchyTiered Cache and Origin Shield
PurgeURL, CP code, cache tag, or API purgeURL, Cache Key, and Wildcard purge
Stale contentProperty cache behaviorStale-while-revalidate settings

Configuration Steps

  1. Access Azion Console.
  2. Edit your Application.
  3. Navigate to Cache Settings.
  4. Configure default cache TTL.
  5. Enable Tiered Cache when origin load reduction is required.
  6. Add custom cache rules through Rules Engine.
  7. Validate purge workflows before production cutover.

Akamai Purge to Azion Purge

Terminal window
# After: Azion purge by URL
curl -X POST 'https://api.azion.com/v4/workspace/purge/url' --header 'Authorization: Token YOUR_TOKEN' --header 'Content-Type: application/json' --data '{
"items": ["https://www.example.com/images/logo.png"],
"layer": "cache"
}'
# After: Azion purge by wildcard
curl -X POST 'https://api.azion.com/v4/workspace/purge/wildcard' --header 'Authorization: Token YOUR_TOKEN' --header 'Content-Type: application/json' --data '{
"items": ["https://www.example.com/images/*"],
"layer": "cache"
}'

Reference documentation

8. Migrating Image, Media, and Download Delivery

Akamai Image & Video Manager, Adaptive Media Delivery, Download Delivery, and Media Services Live are used for bandwidth-heavy and media-rich workloads. Migrate each pattern based on the traffic model: cacheable media, image transformation, live streaming, video-on-demand, or large file delivery.

Capability Mapping

Akamai CapabilityAzion Migration Path
Image & Video ManagerImage Processor + Applications
Adaptive Media DeliveryApplications + Cache + Object Storage
Download DeliveryApplications + Cache + Object Storage
Dedicated DeliveryApplications + Cache + Tiered Cache
Media Services LiveApplications + Cache + live ingest best practices
Cloud Wrapper for mediaTiered Cache + Origin Shield

Image URL Format Comparison

# Akamai image transformation patterns vary by implementation
https://www.example.com/image.jpg?width=400&quality=85
# Azion Image Processor
https://www.example.com/image.jpg?ims=400x400

Transformation Parameters

SyntaxDescriptionExample
?ims=WxHResize to width x height?ims=400x300
?ims=WxResize to width with automatic height?ims=400x
?ims=xHResize to height with automatic width?ims=x300
?ims=WxH:fillCrop to exact dimensions?ims=400x300:fill
?ims=WxH:fitFit within dimensions?ims=400x300:fit

Reference documentation

9. Migrating API Gateway, API Acceleration, and AI Inference Patterns

Akamai API Gateway and API Acceleration patterns can be recreated with Applications, Rules Engine, Functions, Cache, Firewall, and Application Accelerator. AI inference workloads can combine AI Inference, Functions, Cache, Real-Time Events, and Data Stream depending on whether the goal is inference execution, traffic control, observability, or response caching.

Key Differences

AspectAkamaiAzion
API routingAPI Gateway and property rulesApplications + Rules Engine
API logicEdgeWorkers, Akamai Functions, or upstream servicesFunctions
API protectionApp & API Protector and API SecurityFirewall + WAF + Bot Manager
API accelerationAPI AccelerationApplication Accelerator + Cache
AI executionAkamai Inference Cloud or external providersAI Inference or external AI APIs called from Functions

Function Integration Example

export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname.startsWith('/api/')) {
const response = await fetch('https://api-origin.example.com' + url.pathname, {
method: request.method,
headers: {
'Authorization': 'Bearer ' + Azion.env.get('API_TOKEN')
},
body: request.body
});
return response;
}
return fetch(request);
}
};

Reference documentation

Secure

The Secure category covers hostnames, certificates, firewall rules, WAF, bot controls, DDoS protection, network controls, DNS, and traffic steering. Plan these migrations as controlled cutovers because they affect how users reach your application and how traffic is protected in production.

1. Migrating Hostnames, Custom Domains, and TLS

Hostname migration is one of the most sensitive parts of an Akamai-to-Azion migration. It affects users, SEO, brand trust, certificate coverage, and production availability. Plan hostname migration as a controlled cutover, not as a last-minute DNS change.

Migration Strategies

StrategyBest ForDNS Control
CNAMEQuick subdomain migrationKeep your current DNS provider
NameserverFull DNS control and apex domainsTransfer DNS to Azion

Create the Certificate

Create your SSL/TLS certificate before pointing your hostname to Azion. This ensures users can access the application securely over HTTPS when the domain starts resolving to the new infrastructure.

Azion provides free Let’s Encrypt certificates with automatic renewal.

Configure the Domain

Create a workload in Azion Console and associate your custom domain. See Workloads Documentation.

Point the Domain to Azion

Point the subdomain to the Azion-generated domain:

www CNAME xxxxxxxxxx.map.azionedge.net

This keeps your current DNS provider while routing traffic through Azion.

Verify Propagation

Terminal window
dig www.yourdomain.com CNAME +short
curl -I https://www.yourdomain.com/

Reference documentation

2. Migrating App & API Protector to Web Application Firewall

App & API Protector protects applications and APIs against malicious traffic, vulnerabilities, automated abuse, and distributed attacks. Migrating WAF rules requires careful mapping of match conditions, managed protections, tuning, exceptions, API paths, and enforcement modes.

Key Differences

AspectAkamai App & API ProtectorAzion WAF and Firewall
Managed protectionManaged rules and protectionsWAF Rule Sets
Custom logicMatch targets, custom rules, and policy settingsRules Engine for Firewall
ActionsAlert, deny, challenge, or product-specific actionsAllow, deny, drop, redirect, custom HTML, hold connection
TuningPolicy tuning and exceptionsLearning and Blocking modes, sensitivity settings, allowed rules
AssociationSecurity policy and protected hostnameFirewall associated with workloads

Migration Steps

  1. Access Azion Console.
  2. Go to Products menu > Firewall.
  3. Select or create a Firewall instance.
  4. Navigate to WAF.
  5. Enable the desired managed rule sets.
  6. Configure sensitivity per rule set.
  7. Create custom rules in Rules Engine.
  8. Associate the Firewall with your workload.

Rule Migration Example

# Akamai-style intent
Block requests to /admin unless the client IP is in an approved network.
# Azion criteria
Variable: ${uri}
Operator: matches
Argument: /admin
AND
Variable: ${remote_addr}
Operator: does not match
Argument: 10.0.0.0/8
Behavior: Deny (403)

Reference documentation

3. Migrating Bot, Account, and Content Protection

Akamai Bot Manager, Account Protector, and Content Protector address automated abuse, credential attacks, scraping, and abusive access patterns. Azion Bot Manager provides detection and response controls, and Bot Manager Lite is available through Marketplace for simpler use cases.

Key Differences

AspectAkamaiAzion Bot Manager
DetectionBot, account, and content protection signalsMachine learning, behavioral analysis, fingerprinting, reputation intelligence
ActionsAllow, deny, challenge, or product-specific actionsAllow, deny, drop, redirect, custom HTML, random delay, hold connection
Rule integrationSecurity policy controlsFirewall Rules Engine
Lightweight optionProduct-specific configurationBot Manager Lite from Marketplace

Custom Bot Rules

Criteria: ${user_agent} contains "BadBot"
Behavior: Deny (403)
Criteria: ${user_agent} contains "Googlebot"
Behavior: Allow

Verification

Terminal window
curl -A "BadBot/1.0" https://yourdomain.com/
curl -A "Mozilla/5.0" https://yourdomain.com/

Reference documentation

4. Migrating Prolexic and DDoS Protection

DDoS protection guards against volumetric attacks, protocol attacks, and application-layer floods. Azion provides automatic DDoS protection and Network Shield capabilities for network-layer controls.

Key Differences

AspectAkamai Prolexic and DDoS ProductsAzion DDoS Protection
ActivationProduct and traffic steering configurationAutomatic protection with configurable security controls
Layer coverageNetwork and application-layer mitigationL3, L4, and L7 protection patterns
CustomizationProlexic and security policy controlsFirewall, Network Shield, Rules Engine
VisibilityAkamai security dashboards and logsReal-Time Metrics, Real-Time Events, Data Stream

Migration Steps

  1. Document current Prolexic assumptions, protected prefixes, routing model, support processes, and escalation paths.
  2. Confirm the Azion workload, Firewall, and Network Shield configuration.
  3. Recreate application-layer controls using Rules Engine for Firewall.
  4. Validate observability through Real-Time Metrics, Real-Time Events, and Data Stream.
  5. Keep rollback and escalation procedures ready during the cutover window.

Reference documentation

5. Migrating Access Control, Input Validation, and Request Control

Input Validation Cloudlet, Request Control Cloudlet, and related Akamai policy logic often enforce route protection, form validation, header checks, method control, and allowlists. Recreate simple rules with Firewall Rules Engine and reserve Functions for dynamic or external validation.

Key Differences

AspectAkamaiAzion
Request filteringRequest Control Cloudlet or policy rulesFirewall Rules Engine
Input validationInput Validation CloudletFirewall Rules Engine + Functions
Route protectionProperty and security rulesFirewall rules associated with workloads
Dynamic checksEdgeWorkers or product-specific controlsFunctions for Firewall

Firewall-Based Control Example

Terminal window
curl -X POST 'https://api.azionapi.net/v4/workspace/firewalls/{firewall_id}/request_rules' --header 'Authorization: Token YOUR_TOKEN' --header 'Content-Type: application/json' --data '{
"name": "Protect API Admin Routes",
"criteria": [[{"variable": "${uri}", "operator": "starts_with", "argument": "/api/admin"}]],
"behaviors": [
{"type": "deny", "attributes": {"status_code": 403}}
]
}'

Reference documentation

6. Migrating Edge DNS and Global Traffic Management

Akamai Edge DNS, DNS Manager, and Global Traffic Management control authoritative DNS and traffic steering. Migrate DNS after the target Azion Applications, Workloads, certificates, and security policies are ready.

Key Differences

AspectAkamaiAzion
Authoritative DNSEdge DNS and DNS ManagerEdge DNS
Traffic steeringGlobal Traffic ManagementLoad Balancer + Edge DNS
Application routingDNS records and GTM propertiesWorkloads, Edge DNS, Load Balancer
ValidationDNS tools, GTM tests, reportingDNS tools, Real-Time Metrics, Real-Time Events

DNS Migration Checklist

  1. Export current zones, records, TTLs, DNSSEC settings, and traffic steering rules.
  2. Recreate the zone in Azion Edge DNS.
  3. Lower TTLs before the cutover window.
  4. Validate records with dig and application checks.
  5. Move nameservers or CNAME records only after Applications and Workloads are ready.
  6. Monitor Real-Time Metrics, Real-Time Events, and origin health after the switch.

Reference documentation

Store

The Store category covers data services. Migrate object, key-value, and relational data with attention to consistency, access patterns, object naming, permissions, and application compatibility.

1. Migrating NetStorage and Object Storage to Object Storage

NetStorage and object storage services power images, documents, static assets, media files, downloads, uploads, and generated content. Azion Object Storage is S3-compatible and can be used as an origin for Applications.

Key Differences

AspectAkamai NetStorage or Object StorageAzion Object Storage
ProtocolNetStorage APIs or S3-compatible workflows depending on productS3 standard
EndpointAkamai storage endpoints3.us-east-005.azionstorage.net
Delivery pathAkamai delivery propertyApplications + Connectors
Object managementProduct-specific tools or S3-compatible toolsS3-compatible tools, API, CLI, Runtime API
End-user deliveryDelivery propertyApplication with Object Storage Connector

Update Configuration

import { S3Client } from '@aws-sdk/client-s3';
const client = new S3Client({
region: 'us-east-005',
endpoint: 'https://s3.us-east-005.azionstorage.net',
credentials: {
accessKeyId: Azion.env.get('AZION_ACCESS_KEY'),
secretAccessKey: Azion.env.get('AZION_SECRET_KEY')
}
});

Migrate Data with S3-Compatible Tools

Use tools such as s3cmd, rclone, or AWS CLI to move objects when the source supports S3-compatible access. For NetStorage-specific workflows, export to a local or intermediate bucket before importing to Azion Object Storage.

TaskCommand Pattern
List bucketss3cmd ls
Upload objects3cmd put file.png s3://my-bucket/
Download objects3cmd get s3://my-bucket/file.png
Sync bucketss3cmd sync s3://source-bucket/ s3://dest-bucket/

Reference documentation

2. Migrating EdgeKV to KV Store

EdgeKV is commonly used with EdgeWorkers for configuration, feature flags, personalization, authorization metadata, and lightweight state. Azion KV Store provides distributed key-value storage accessible from Functions.

Key Differences

AspectAkamai EdgeKVAzion KV Store
Data modelNamespaces, groups, and itemsNamespaces with key-value pairs
Access patternEdgeWorkers accessFunctions through Azion.KV
Common use casesConfig, flags, session metadataConfig, flags, session metadata, lightweight state
Migration focusExport, transform, import, and validate readsNamespace creation, key import, and Function updates

API Comparison

// Before: Akamai EdgeKV-style pseudocode
const value = await edgeKv.getText({ namespace: 'config', group: 'features', item: 'checkout' });
// After: Azion KV Store
const kv = await Azion.KV.open('config');
const value = await kv.get('features:checkout');
await kv.put('features:checkout', 'enabled');

Create a KV Store Namespace

  1. Access Azion Console.
  2. Go to Store > KV Store.
  3. Create a namespace for the migrated data.
  4. Import or recreate keys using your migration script.
  5. Update Functions to use the namespace name.

Migration Checklist

  • Export namespaces, groups, items, metadata, and expiration rules from Akamai.
  • Decide how EdgeKV group and item naming maps to Azion keys.
  • Preserve key prefixes and naming conventions where possible.
  • Document default behavior for missing keys.
  • Validate value encoding, JSON serialization, and binary data handling.
  • Test read and write paths before moving production traffic.

Reference documentation

3. Migrating Managed Databases to SQL Database

Akamai managed database workloads, including workloads inherited from Linode environments, can be evaluated for migration to Azion SQL Database when the application needs a relational database close to application logic.

Key Differences

AspectAkamai Managed DatabasesAzion SQL Database
Data modelMySQL or PostgreSQL depending on source serviceSQL database service
Application accessApplication or service connection stringFunctions and application integrations
Migration focusExport schema, data, users, and connection settingsCreate database, import data, validate queries
Operational validationBackups, replicas, connection limits, query behaviorDatabase lifecycle, query behavior, Functions integration

Migration Checklist

  1. Export schema, data, indexes, users, and extension requirements from the source database.
  2. Create the target SQL Database database.
  3. Import data and validate row counts.
  4. Update application connection settings or Functions integrations.
  5. Run application-level read and write tests before cutover.

Reference documentation

Observe

The Observe category covers metrics, events, real-user monitoring, logs, and external streaming destinations. Migrating observability ensures you keep production visibility, troubleshooting capability, and compliance reporting after cutover.

1. Migrating TrafficPeak and Reporting to Real-Time Metrics

Akamai TrafficPeak and reporting workflows provide operations and security visibility. Azion Real-Time Metrics provides dashboards and GraphQL access for requests, bandwidth, status codes, latency, cache, and origin behavior.

Key Differences

AspectAkamai TrafficPeak and ReportsAzion Real-Time Metrics
ScopeTraffic, operations, and security reportingApplication, workload, cache, performance, and traffic metrics
Access methodAkamai UI and APIsConsole and GraphQL API
Use casesTraffic trends, security visibility, operationsTraffic trends, latency, cache hit ratio, errors, origin behavior
Migration focusDashboard and alert parityDashboard, filters, GraphQL queries, Grafana if needed

Available Metrics

Azion Real-Time Metrics tracks:

  • Request metrics: total requests, requests by status code, requests by HTTP method.
  • Performance metrics: response time, upstream header time, origin response time.
  • Bandwidth metrics: data transferred and data saved by cache.
  • Cache metrics: hit ratio, miss ratio, expired objects.
  • Error metrics: 4xx errors, 5xx errors, origin errors.

Access Real-Time Metrics

  1. Access Azion Console.
  2. Go to Products menu > Real-Time Metrics.
  3. Select your application or workload.
  4. Configure the time range and filters.
  5. Export or recreate dashboards if needed.

Reference documentation

2. Migrating DataStream to Data Stream

Akamai DataStream exports logs to downstream destinations. Azion Data Stream exports logs continuously to external destinations for long-term storage, analytics, SIEM, and operational monitoring.

Key Differences

AspectAkamai DataStreamAzion Data Stream
Delivery modelLog streaming to configured endpointsPush to external destinations
FormatStream and destination-specific formatsJSON and customizable templates
DestinationsExternal logging and storage servicesS3, Azure Blob, Datadog, Splunk, Kafka, BigQuery, Elasticsearch, HTTP endpoints, and more
Source selectionAkamai property or product logsApplications, WAF, Functions, and other event sources

Configure Data Stream

  1. Access Azion Console.
  2. Go to Products menu > Data Stream.
  3. Click + Stream.
  4. Configure the source, such as Applications or WAF.
  5. Select or create a template for the log format.
  6. Choose a destination.
  7. Configure destination credentials.
  8. Activate the stream.

Supported Destinations

Data Stream supports multiple destination patterns:

  • Cloud Storage: Amazon S3, Azure Blob Storage, Azion Object Storage.
  • Monitoring: Datadog, Splunk, Elasticsearch, Azure Monitor.
  • Streaming: AWS Kinesis Data Firehose, Apache Kafka.
  • Analytics: Google BigQuery.
  • Security: IBM QRadar.
  • Custom: HTTP Webhook, Standard HTTP/HTTPS POST.

Reference documentation

3. Migrating mPulse to Edge Pulse

Akamai mPulse provides real-user monitoring and digital experience analytics. Azion Edge Pulse collects navigation data and real-user performance signals through a JavaScript tag and makes the data available for analysis through Observe products.

Key Differences

AspectAkamai mPulseAzion Edge Pulse
Collection modelReal-user monitoring tagEdge Pulse JavaScript tag
Use casesUser experience, latency, availability, performance analyticsNavigation data, availability, latency, throughput, user access quality
AnalysismPulse dashboards and exportsEdge Pulse, Real-Time Events, Real-Time Metrics, Data Stream
Migration focusBeacon placement, dashboards, alert logicTag placement, data validation, dashboard and event analysis

Migration Checklist

  1. Identify every page template, tag manager rule, or application shell where mPulse is installed.
  2. Document the metrics, dimensions, dashboards, and alerts your team uses.
  3. Add the Edge Pulse JavaScript tag to representative pages.
  4. Validate navigation data in Real-Time Events.
  5. Recreate dashboards and alerts using Real-Time Metrics, Real-Time Events, Data Stream, or Grafana.

Reference documentation

4. Migrating Investigation Workflows to Real-Time Events

Log data is essential for debugging, security analysis, incident response, and compliance. Real-Time Events provides immediate log access through Console or GraphQL API for troubleshooting and investigation.

Key Differences

AspectAkamai Investigation WorkflowsAzion Real-Time Events
Access methodAkamai product dashboards, reports, and logsConsole and GraphQL API
Data modelAkamai product log fieldsHTTP, WAF, DNS, Functions, image, Edge Pulse, and other event datasets
QueryingProduct-specific filtersConsole filters and GraphQL
Use casesDebugging and security investigationDebugging, security investigation, compliance evidence

Access Real-Time Events

  1. Access Azion Console.
  2. Go to Products menu > Real-Time Events.
  3. Select the dataset, such as HTTP Requests or WAF.
  4. Configure the time range and filters.
  5. Click Search to query logs.
  6. Click a row to inspect event details.

Reference documentation

Troubleshooting

Common Issues

IssueLikely CauseSolution
Application responds differently from AkamaiProperty rules, behaviors, cache key, or origin selection were not fully mappedCompare the active Akamai property version with Azion Rules Engine and Connector configuration
EdgeWorkers code failsAkamai runtime APIs remain in the codeRewrite platform APIs using Azion Functions and Runtime APIs
Cloudlet logic missingCloudlet policies were not converted to Rules Engine, Load Balancer, or FunctionsInventory each Cloudlet policy and map it to the appropriate Azion behavior
Environment variables not foundVariables were not configured on the Function instanceConfirm variables exist and code uses Azion.env.get()
Redirects not workingCloudlet or property match rules were converted to an incorrect regexTest capture groups and verify Rules Engine criteria
Headers missingProperty header behavior was not migratedAdd request or response rules, or use a Function for dynamic headers
Cache hit ratio dropsCache key, TTL, CP code, cache tag, or Cloud Wrapper behavior changedReview Cache Settings, Advanced Cache Key, Tiered Cache, and Origin Shield
EdgeKV data missingEdgeKV export or import was incompleteRe-export keys, validate namespace mapping, and check value encoding
Object Storage access deniedS3 credentials or endpoint are incorrectVerify credentials and use s3.us-east-005.azionstorage.net
Logs missing in destinationData Stream source, template, or endpoint is misconfiguredValidate stream status, destination credentials, and selected variables
Certificate not activeDomain ownership or certificate association is incompleteConfirm certificate status and workload association before DNS cutover
DNS traffic not movingTTLs, CNAMEs, nameservers, or GTM replacement rules are incompleteValidate records with dig, confirm workload association, and monitor traffic after the switch

Key Advantages After Migration

Migrating from Akamai to Azion is strongest when the team treats the first cutover as a repeatable migration pattern. The immediate goal is continuity: users keep reaching the same domains, critical routes continue working, security controls remain active, and observability is ready before traffic moves.

The larger value comes after migration, when teams operate delivery, compute, storage, security, DNS, traffic management, and observability in one platform model.

AreaAdvantage after migrationWhat it means in practice
Migration strategyIncremental migration pathTeams can migrate one Akamai property at a time and validate each layer independently.
Platform modelUnified application platformBuild, Secure, Store, and Observe capabilities are managed through a connected platform model.
BuildModern application deploymentApplications can be deployed from GitHub or CLI with Azion configuration.
BuildRules-based application controlRules Engine can manage redirects, headers, cache behavior, routing, segmentation, and request/response logic.
BuildDistributed function executionFunctions can replace EdgeWorkers and Akamai Functions logic for authentication, personalization, APIs, and integrations.
BuildIntegrated cache and origin protectionCache, Tiered Cache, Origin Shield, and Application Accelerator reduce origin dependency.
BuildImage and media optimizationImage Processor, Cache, and Object Storage support image, media, and download delivery patterns.
SecureControlled domain and TLS cutoverWorkloads, Edge DNS, and Certificate Manager can be prepared before switching production traffic.
SecureIntegrated application securityWAF, Bot Manager, Network Shield, DDoS Protection, and Firewall rules can protect workloads together.
DNSIntegrated traffic managementEdge DNS and Load Balancer can replace DNS management and traffic steering patterns.
StoreS3-compatible Object StorageNetStorage and object storage workflows can be migrated using familiar S3-compatible tools when available.
StoreKV for low-latency application dataEdgeKV use cases can be migrated to KV Store for configuration, flags, metadata, and lightweight state.
ObserveReal-time metrics for production visibilityReal-Time Metrics replaces reporting-style views with dashboards and GraphQL access.
ObserveReal-time events for investigationReal-Time Events provides detailed logs for requests, functions, WAF, DNS, image processing, Edge Pulse, and other datasets.
ObserveData streaming to external toolsData Stream sends logs to external destinations for SIEM, analytics, storage, and compliance workflows.

With Azion, teams can build and run applications on globally distributed infrastructure while combining compute, delivery, storage, security, DNS, and observability capabilities in one environment. This reduces the fragmentation that often appears when modern applications depend on many separate services and configuration patterns.

Next Steps

After your migration is complete:

Get Started with a Small Property

The best way to begin is not with the most complex Akamai property in your portfolio. Start with a property that is meaningful enough to validate the migration path, but small enough to move quickly and safely.

Choose a property that includes representative pieces of your architecture: one or two hostnames, a few origins, cache rules, redirects, headers, maybe one Cloudlet or EdgeWorker, and one logging destination. Use that property to validate the workflow, document the process, and identify internal patterns your team can reuse.

From there, expand gradually. Migrate more complex property rules. Move additional EdgeWorkers. Bring over storage and key-value data. Add observability. Review security rules. Then prepare production cutovers with greater confidence.

Need Help?

Get help from the Azion Support team, or join our Discord community to see how others are using Azion.