Migrating from Kong Konnect to Apache APISIX: what the move involves
Moving from Kong Konnect to Apache APISIX is a translation and cutover project, not a copy. Konnect's control plane, its Dev Portal and its analytics do not transfer as files, and APISIX models routes, upstreams, consumers and plugins with its own schema. The usual trigger is a renewal, a licensing or pricing change, a data residency requirement or a wish to reduce lock-in, and the work is owned by the platform or API team, with a security lead signing off on authentication, TLS and access to the Admin API. Expect the effort to concentrate in the plugin mapping and in testing traffic behavior, not in standing up the gateway itself.
Start by exporting the Konnect configuration with decK so you have a complete, versioned inventory of services, routes, consumers and plugins to translate. Then map each item by hand: Kong services and routes become APISIX routes and upstreams, consumers and their credentials move to APISIX consumers, and each Kong plugin needs an APISIX equivalent or a documented decision to drop it. Confirm plugin parity for every authentication and rate limiting policy you rely on, because APISIX ships more than 100 built-in plugins but not every Kong Enterprise plugin has a direct match. Plan the translation against a fixed list of acceptance tests so the same request produces the same response on both gateways.
APISIX is licensed under Apache-2.0 and stores its configuration in etcd in traditional and decoupled modes, so routes and plugins update without restarts. If you want a file-driven model without etcd, standalone mode reads conf/apisix.yaml or conf/apisix.json and hot-reloads changes. Choose the mode before you translate, because it determines how configuration is versioned, promoted and rolled back. Replace the Konnect management UI with the APISIX dashboard or with your own pipeline, and confirm that the dashboard, authentication and audit needs of your operations team are met. Stage the cutover behind a parallel run with traffic shifted in steps, and keep the Konnect data plane available for rollback until you have verified both gateways under production load.
Which Konnect capabilities map to APISIX and which need rework
This table maps each Konnect capability you use to its nearest APISIX equivalent and marks it as clean, needs rework or gap. Read the rows against your own decK export: clean rows translate directly, rework rows need redesign or scripting, and gap rows need a decision before cutover. The main takeaway is that core routing and plugins translate well, while the Konnect developer portal and Enterprise-only features have no direct equivalent to confirm with Kong.
| Konnect capability | APISIX equivalent | Status and notes |
|---|---|---|
| Services and routes | Routes and upstreams in the Admin API or a standalone YAML file | Clean: path, host and method matching translate, but confirm each route's match priority after conversion. |
| Upstreams and targets | Upstreams with nodes, health checks and load-balancing type | Needs rework: target weights and health check settings must be re-entered in APISIX's upstream schema. |
| Consumers and credentials | Consumers with plugin-specific credentials such as key-auth or jwt-auth | Needs rework: credentials must be re-issued or migrated, and secrets must be handled outside the export file. |
| Open-source plugins | Built-in plugins covering authentication, traffic control and observability | Needs rework: map each plugin's options by hand, because names and configuration keys differ between Kong and APISIX. |
| Custom plugins | Lua plugins, or plugin runners in Java, Go or Python, plus WebAssembly | Needs rework: Lua plugins must be rewritten against APISIX's plugin interface and tested again. |
| Konnect control plane and management UI | Admin API and the APISIX dashboard, backed by etcd | Needs rework: operators must learn the dashboard and automate changes through the Admin API or configuration files. |
| Konnect developer portal and published APIs | No direct APISIX equivalent; pair with a separate portal such as Backstage or another self-hosted portal | Gap: confirm the replacement portal, API key self-service and spec publishing with the vendor before planning. |
| Analytics and Enterprise-only plugins | Observability plugins and external tooling; no direct match for every Konnect analytics view | Gap: confirm which dashboards, retention and Enterprise-only features your team relies on with Kong and rebuild the rest. |
Which configuration exports and integrations to rebuild
A Konnect move to APISIX breaks down into four pieces: the configuration you export, the translation into APISIX objects, the identity and upstream links that sit around the gateway, and the credentials that need their own plan. Work through them in that order, because each one depends on the inventory you build from the export.
Export with the decK gateway dump
The decK gateway dump is the documented path for pulling services, routes, consumers and plugins out of Konnect into a declarative file. Run it against the control plane you are leaving and keep the output under version control with a dated snapshot. Confirm the decK version you need for your Konnect region and record the control plane name, because the file reflects only what that control plane holds at the time of export.
Translate the declarative file
The exported file uses Kong's entity model: services, routes, consumers and plugins. APISIX uses routes, upstreams and plugins, so each Kong service maps to an upstream and one or more routes, and plugin settings move onto the matching APISIX route or global rule. Treat the translation as a reviewed artifact, and list every plugin that has no APISIX equivalent or needs a rewrite before cutover.
Rebuild the identity provider links
Konnect plugins that validate tokens or start login flows must be rebuilt with APISIX's openid-connect plugin, which supports Keycloak, Auth0, Microsoft Entra ID, Google and Okta. Choose the flows you need, such as authorization code with PKCE, client credentials or token introspection, and confirm each one with your identity team against a test client. Redirect URIs and client registrations will change for every environment.
Reconnect upstreams and network paths
Each Kong service points at an upstream address that may be a Kubernetes service, a load balancer or a host on a private network. Verify that every APISIX node can reach each upstream, including health check endpoints, TLS trust chains and any mutual TLS requirements. Inventory these paths from the export and from your network team's records, since Konnect itself does not show which networks your data plane traffic crossed.
Plan consumer credentials separately
Consumer credentials, API keys and plugin secrets are the items decK exports need the most care. Confirm with your Konnect administrator which values the dump includes, whether any are masked or referenced from a secret store, and how you will issue or migrate them to APISIX consumers. Write a documented handling plan covering storage, rotation, who approves the transfer and how old credentials are revoked after cutover.
The migration sequence from inventory to decommission
This sequence moves Kong Konnect configuration to Apache APISIX in controlled stages, so each stage produces evidence that the next one depends on and a rollback path stays open until traffic has run cleanly on APISIX. It ends only after Konnect is no longer needed for production traffic.
Inventory the Konnect configuration
Your platform team exports every gateway service, route, consumer, plugin and upstream from Konnect using decK, and lists what the export does not cover, such as portal content, analytics history, custom plugins and Konnect-side RBAC. Owners of each API confirm which routes carry production traffic and which are retired. The output is a dated inventory with a route-by-route owner list. You know this step is done when every production route has an owner and every item outside the decK export has a documented disposition.
Translate services and routes into APISIX
Map Kong services and routes to APISIX routes and upstreams, and Kong consumers and plugins to APISIX consumers and plugin configurations. Plugins without a direct APISIX equivalent are flagged for a redesign decision, and any custom Kong plugin is assessed for a Lua plugin or a plugin runner in another language. Your engineers produce a translation diff that shows each source object, its APISIX target and any unmapped behavior. Review by the API owners closes this step.
Pilot on a standalone or decoupled deployment
Stand up APISIX in standalone mode, which reads a YAML or JSON file and needs no etcd, or in decoupled mode, which shares one etcd cluster between data and control plane. Load the translated configuration into a non-production environment and run functional, authentication and rate-limit tests against each migrated route. Record pass and fail results per route, with latency and error comparisons against Konnect. The pilot is complete when every production route has a passing test record and the team has signed off the rollback runbook.
Run a parallel period with mirroring or split routing
Send a copy of production traffic to APISIX through traffic mirroring, or shift a small share of live requests to APISIX with weighted routing at the load balancer or DNS layer. Compare response codes, latency, logs and authentication outcomes between the two gateways for each route. Discrepancies go back into the translation diff and are fixed before the share increases. This step ends when each route has run in parallel long enough to show consistent results against the agreed acceptance criteria.
Cut over routes and keep the rollback path
Move each route to APISIX in small groups, starting with lower-risk APIs, and keep Konnect-fed Kong data planes ready to receive traffic again. Confirm that observability, alerting and credential rotation work on the APISIX side before each group moves. The rollback runbook names the trigger, the owner and the routing change needed to return traffic. The cutover step is done when all production traffic flows through APISIX and no rollback has been invoked for an agreed observation period.
Decommission Konnect and archive evidence
After the observation period, disable Konnect data plane connections, revoke Konnect API keys and service accounts, and remove Kong data planes that no longer serve traffic. Export and archive the final inventory, translation diff, test records, cutover log and access reviews for audit and incident use. Confirm with your contract owner the terms for ending the Konnect subscription and retaining any exported data. The step is done when Konnect serves no traffic, credentials are revoked and the archive is complete.
How decK-exported Kong objects translate to APISIX routes and plugins
Kong's decK export gives you services, routes, consumers and plugins in one declarative file, but APISIX has no direct import for that format, so each object needs a deliberate mapping. A Kong service that points at a backend generally becomes an APISIX upstream holding the node addresses and load balancing settings, and each Kong route becomes an APISIX route that matches the same paths, hosts and methods and forwards to that upstream. Keep a written table of source and target identifiers as you go, because the two products name fields differently and a single mismatched key can route traffic to the wrong backend without any error at load time.
Kong plugins map to APISIX plugins by name in many cases, but the configuration keys often differ, and some Kong plugin options have no equivalent with the same behavior. Treat every plugin as a translation task: read the APISIX plugin reference for each plugin you use, confirm the field names, defaults and scope (global, per route, per service or per consumer), and check how ordering and precedence work when several plugins apply to the same request. Because a plugin can be enabled on a route that Kong applied at the service level, verify behavior on every route separately with test requests that cover allowed, denied and error paths. Authentication and rate limiting deserve the most attention, since a silent difference there is a security or billing defect.
Decide the deployment mode before you test the translation, because it changes where configuration lives and how you reload it. In traditional mode APISIX runs the data and control plane together, serves client traffic on port 9080 and exposes the Admin API on port 9180, so confirm that 9180 is reachable only from your automation and operators. Decoupled mode separates the data plane from the control plane, which share one etcd cluster, and standalone mode reads configuration from conf/apisix.yaml or conf/apisix.json with no etcd, reloading changes about every second. Standalone suits a file generated from your translation, but confirm the file format and any plugin support limits against the APISIX deployment modes documentation before you choose it.
Choosing traditional, decoupled or standalone APISIX for the target
Traditional mode runs the data plane and control plane together on the same nodes, with etcd as the configuration store. Client traffic arrives on port 9080 and the Admin API listens on port 9180, so the team gets dynamic updates through the Admin API and a single deployment to maintain. This is the closest match to the way Konnect hides the control plane behind a console, but the control plane is now yours to run.
- Replacement for Konnect: Admin API calls and the dashboard replace the Konnect control plane, and you own every backup of etcd.
- Operations: One deployment unit, but gateway nodes need etcd connectivity and Admin API access is a sensitive surface.
- Scaling: Adding gateway capacity also adds control plane load, so capacity planning covers both.
- Air-gapped use: Works inside a disconnected network if the Admin API and etcd are reachable only from internal administrators.
- Network exposure: Port 9180 should never face client networks.
Confirm with the platform team whether they accept etcd and Admin API operations on the same nodes as public traffic.",
Decoupled mode separates the data plane from the control plane, and both share one etcd cluster. Gateways in each zone or environment handle traffic while a smaller set of control plane nodes handles Admin API changes. This split suits organizations that want gateways close to applications without exposing the administrative interface where traffic lands.
- Replacement for Konnect: The control plane runs in your environment as a dedicated tier, which maps more closely to the separation Konnect offers between its console and self-hosted data planes.
- Operations: Two node roles to patch and monitor, plus one shared etcd cluster whose health affects every gateway.
- Scaling: Data plane nodes scale independently of the Admin API tier.
- Air-gapped use: The etcd cluster and both planes must stay inside the disconnected network, and etcd becomes the single point of configuration truth.
- Access control: Restrict Admin API access to the control plane network only.
Confirm the etcd sizing, backup schedule and failover runbook with your database and platform teams before choosing this mode.
Standalone mode runs without etcd. APISIX reads routes, upstreams and plugins from conf/apisix.yaml or conf/apisix.json, checks the file for changes every second, and hot-reloads without restarting. Configuration becomes a versioned file that can be reviewed in a pull request, which fits teams that already manage declarative configuration in Git.
- Replacement for Konnect: Git and CI replace the Konnect console as the source of change, so there is no runtime management UI in this mode.
- Operations: Fewer moving parts, since no etcd cluster needs care, but each gateway holds its own copy of the file.
- Dashboard fit: Confirm whether the APISIX dashboard works with your chosen mode, because it depends on the Admin API.
- Air-gapped use: Often the simplest option for disconnected networks, since nothing outside the host is required at runtime.
- Rollout: Distributing the same file to every node needs a tested process.
Confirm with the team that a file-driven workflow matches how they approve and audit configuration changes.
The right mode depends on who changes configuration, how many environments exist, and whether the network can reach an etcd cluster. A small team with a few services may find standalone easiest, while a platform team serving many applications may need the dynamic Admin API that traditional or decoupled mode provides. The choice is also reversible in part, but moving between modes changes where configuration lives, so plan it before translating decK exports.
- Change frequency: Frequent self-service changes favor an Admin API; reviewed releases favor files.
- Environments: Count development, staging and production clusters and how each one is configured.
- Network posture: Disconnected networks narrow the choice toward standalone or a fully internal etcd.
- Team skills: Confirm who can operate etcd and who owns Git-based change.
- Plugin needs: Verify that the plugins you require behave identically in your chosen mode.
Confirm the final mode in writing before the translation work starts, so the team does not rebuild configuration later.
Replacing the Konnect management UI with the APISIX dashboard
The Konnect console handled several jobs at once: editing gateway services, routes and plugins, viewing traffic analytics, publishing a developer portal and managing which people and teams could change what. Before cutover, write down each of those jobs as a separate line item, because the Apache APISIX dashboard and Admin API cover the first one directly and leave the other three to decisions you make yourself. In APISIX, configuration lives in etcd and is changed through the Admin API, which listens on port 9180 in traditional mode, or through the dashboard, which is a separate project that sits on top of that same API. Your configuration exports from decK can be translated into APISIX routes, upstreams and plugins, and then applied and verified with the Admin API before anyone relies on the dashboard for day-to-day edits.
Analytics, the developer portal and team governance are not replaced by the dashboard, so treat each as its own decision. For analytics, you will need to choose a metrics and logging stack, typically built on Prometheus, Grafana and an log pipeline, and confirm which APISIX plugins export the signals your operations team uses today. For the portal, decide whether you need one at all, or whether an API catalog such as Backstage or a separate portal product will serve consumers. For access control, the dashboard's user and role model should be mapped against your identity provider and change approval process, and you should confirm whether that mapping meets your audit requirements. Check the dashboard's current feature coverage, and the Admin API's authentication and role options, in the Apache APISIX documentation against the list of Konnect functions you actually use, since coverage changes between releases.
What usually goes wrong in a Konnect to APISIX move
Most failed gateway moves break on details that were never written down: plugin defaults, credentials that were never exported, and features that only existed in the SaaS console. The cards below cover the failure points we see most often in a Konnect to APISIX move, each with a check to run before traffic shifts.
Plugin behavior drift
A plugin with the same name can behave differently in APISIX than in Kong. Default values, header names, status codes on rejection and the order in which plugins run can all change. Replay a representative set of requests through both gateways and compare responses, headers and rate-limit counters. Pay particular attention to rate limiting, CORS and request transformation, where small differences show up as client errors only after cutover.
Missing consumer credentials
A decK export contains consumer records but not the secret values behind their API keys, basic auth passwords or HMAC secrets in a form you can reuse. Consumers can be created in APISIX without their credentials, so clients get 401 errors on day one. Before cutover, confirm with the Konnect owner how each credential was issued, build an inventory of every consumer, and test one credential from each auth type against APISIX in staging.
Unmapped Konnect-only features
Some capabilities that teams rely on in Konnect, such as the developer portal, analytics dashboards, Vaults and certain Enterprise plugins, have no direct equivalent in a self-run APISIX deployment. Plugins that exist only on the commercial side will not translate in a file. List every Konnect feature in use, mark each as mapped, replaced or dropped, and get sign-off from the owners of the dropped items before the migration plan is approved.
Identity callback changes
Login flows that use the openid-connect plugin depend on exact redirect URIs, client IDs and secrets registered with the identity provider. A new gateway hostname, a different callback path or a changed session cookie will break sign-in for every user while the API itself appears healthy. Register the new callback URLs with Keycloak, Entra ID, Okta or whichever provider you use before cutover, and test the full authorization code and PKCE flows end to end.
Admin API exposure
APISIX serves its Admin API on port 9180 in traditional mode, and that API can change routes, upstreams and plugins. Teams that copy a Konnect habit of managing gateways from a browser often leave the Admin API reachable from application networks or the public internet. Restrict port 9180 to the management network, rotate the default admin key, and confirm the dashboard sits behind your SSO and access controls before any environment is exposed.
Cutover without rollback
A DNS switch with no tested way back turns a configuration error into an outage. Keep Konnect and its data planes running in parallel until APISIX has carried live traffic for an agreed period, and route a small share of traffic first. Write the rollback steps as commands the on-call engineer can run, rehearse them in staging, and define in advance the error rate or latency level that triggers the return to Kong.
What drives the cost and duration of the move
This table lists the factors that most change the effort of moving from Konnect to APISIX, with why each matters and how to keep it under control. Read each row as a lever: the more of a driver you have, the more implementation, testing and cutover time to plan for. Quotes should be built from your own inventory of these items.
| Driver | Why it changes effort | How to keep it down |
|---|---|---|
| Number of services and routes | Each Konnect service and route must be re-expressed as an APISIX route and upstream, and each one needs its own test and rollback step. | Export with decK, prune unused or duplicate routes first, and group similar APIs into shared templates where APISIX configuration allows. |
| Plugin count and fit | Each Kong plugin needs an APISIX equivalent with matching options. Plugins without a direct match need a design decision, such as a different plugin or a custom build. | Map every plugin in the export to an APISIX plugin before scoping, and drop plugins no live API uses. |
| Custom plugins | Custom code is the largest unknown. APISIX supports Lua, plugin runners in Java, Go or Python, and WebAssembly, so the language and runtime of each custom plugin change the rewrite and test work. | Inventory custom plugins by language and owner, and ask whether any can be replaced by built-in plugins before rewriting. |
| Identity integration | Consumers, OAuth or OIDC flows and token validation must be rebuilt on the APISIX openid-connect plugin or another auth plugin, and each flow needs end-to-end testing with your identity provider. | Confirm which flows each API uses, reuse the same identity provider, and test one flow per pattern rather than per API. |
| Consumer and credential volume | Consumers, keys and secrets must be moved or reissued without breaking clients. Large consumer populations raise the cost of communication, rotation and verification. | Migrate credentials in batches, keep Konnect active during overlap, and confirm with each client team how credentials will be delivered. |
| Analytics, portal and management UI needs | Konnect's analytics, developer portal and management console have no direct APISIX equivalent. The APISIX dashboard covers configuration, but reporting and portal content must be replaced by other tools. | Decide early which reports and portal functions are required, and scope the replacements (for example, a separate portal or dashboards) as their own work item. |
| Environments and deployment mode | Each environment (development, test, staging, production) and the choice between traditional, decoupled and standalone modes adds deployment, configuration sync and validation steps. | Use one configuration source for all environments, confirm the deployment mode with your operations team, and promote the same config through each stage. |
| Cutover approach | Running Konnect and APISIX side by side for traffic shifting needs DNS or load balancer changes, monitoring and a tested rollback. Big-bang cutovers concentrate the risk in one window. | Shift traffic in stages by API or domain, keep rollback paths documented, and agree the cutover criteria in writing before work starts. |
How the move differs by estate size and starting point
A small estate usually has a handful of services, a few routes per service and a short list of plugins, most of them authentication, rate limiting and request transformation. Here the translation work is bounded and the cutover can be tested end to end in a single non-production environment. The main effort goes into reviewing the exported configuration by hand, since there are few objects to check and each one matters.
- Translation is short: a decK export with a few dozen objects can be mapped to APISIX routes, upstreams, consumers and plugins by one engineer in a short working session, with a reviewer checking the result.
- Plugin mapping is the main decision: confirm for each Kong plugin whether APISIX provides a built-in equivalent, since APISIX offers more than 100 built-in plugins, and record any gap.
- Operations stay simple: a single APISIX node in traditional or standalone mode may be enough for the traffic, which keeps the number of moving parts low.
- Konnect UI is replaced by hand: with few consumers and routes, a runbook and the APISIX dashboard can cover what the Konnect console showed.
- Cutover is one step: a DNS or load balancer switch with a short rollback window is often practical.
Before you start, confirm that every plugin in use has an APISIX equivalent and that no Konnect-only feature is quietly carrying traffic.
A large estate spreads many services, consumers and plugin configurations across regions, teams and environments. The translation itself grows, but the bigger change is in operations: each region needs its own APISIX data plane, its own etcd cluster in traditional or decoupled mode, and a process for keeping configuration consistent. The Konnect control plane used to handle this centrally, so you now have to design that role yourself.
- Control plane design becomes a decision: choose between traditional, decoupled and standalone modes per region, and plan how etcd clusters are sized, backed up and monitored.
- Configuration pipelines are needed: keep the APISIX configuration in version control and apply it through automation rather than by hand in each region.
- Cutover is staged: move one region or one low-risk API group at a time, with traffic shifted gradually and a rollback path for each step.
- Plugin and identity wiring multiplies: the openid-connect plugin must be configured against your identity providers in every region that uses it.
- Ownership of the platform moves to your teams: define who on-call handles gateway incidents that Konnect previously absorbed.
Ask your team which regions and traffic classes are the most sensitive, and whether any region must stay on Kong until the others are proven.
Kong documents Dedicated Cloud Gateways as fully managed data planes on AWS, Azure or GCP. If you run on these, Kong operates the gateway infrastructure as well as the control plane, so the move to APISIX means taking over both the data plane and the control plane. This adds work that a self-hosted Kong data plane user would not face, because the runtime itself is new to your environment.
- Infrastructure is new to you: you must provision compute, load balancing, TLS certificate handling and scaling in your own cloud accounts or data centers.
- Network paths change: traffic that reached a Kong-managed gateway now reaches your APISIX nodes, so review firewall rules, private connectivity and DNS.
- Capacity needs to be measured: Kong's managed sizing does not transfer, so load test APISIX against your real traffic profile before cutover.
- Monitoring and logs are rebuilt: metrics and access logs that Kong's managed service exposed must be recreated with your own observability stack.
- Vendor-side features stop: confirm which managed-service behaviors you relied on, such as scaling and patching, and assign owners for them.
Ask Kong which Dedicated Cloud Gateway settings you use today, so your target design covers each of them.
A team that already runs self-hosted Kong data planes has the most familiar starting point. The gateway runtime, the traffic patterns and the operational habits are known, and the decK export maps closely to the configuration in use. The steps that shrink are infrastructure and testing, while the steps that grow are the cross-check against APISIX semantics, because Kong and APISIX differ in how they name and structure routes, upstreams and plugins.
- Infrastructure can be reused: the hosts, network paths and certificates used for Kong may carry over, though APISIX has its own ports, such as 9080 for client traffic and 9180 for the Admin API.
- Translation is the main task: map Kong services and routes to APISIX routes and upstreams, and confirm plugin ordering and configuration fields one by one.
- Parallel running is practical: run APISIX alongside Kong with the same traffic mirrored or split, and compare responses and logs.
- Operational tooling needs changes: scripts and dashboards that call the Kong Admin API must be rewritten for the APISIX Admin API.
- Retirement is a separate decision: keep Kong available until the rollback window closes.
Check whether your current Kong data planes use DB-less or traditional mode, because that choice shapes how you export and reproduce the configuration.
Questions buyers ask before moving from Konnect to APISIX
How much effort does moving from Konnect to APISIX involve?
Effort depends mostly on how many services, routes, consumers and custom plugins your Konnect configuration holds, and on how many of those plugins have a direct APISIX equivalent. Start by exporting the gateway configuration with decK, then count the objects and list every plugin in use. Plugins that map one to one take little time. Custom plugins, Konnect-specific features and any logic tied to the Konnect portal or analytics take the most. No supplied figure sets effort in days or staff hours, so ask any provider for an effort breakdown per object type and per plugin in the written scope before accepting a quote.
What drives the cost of a Konnect to APISIX migration?
Cost has three recurring and one-time parts. One-time costs include translation of configuration, plugin rewrites, testing, cutover and documentation. Recurring costs include the infrastructure for APISIX nodes, the etcd cluster in traditional or decoupled mode, monitoring, upgrades and on-call time. Konnect's plan fee and metered usage stop once you cut over, but the Kong-managed control plane has no direct APISIX replacement, so you take on the operating work it previously carried. Ask any quote to separate these lines, state who pays for each, and show which costs continue after cutover.
How long does a migration from Konnect to APISIX take?
The timeline follows the phases rather than a fixed duration. A typical sequence covers inventory and export, translation of routes, upstreams and plugins, building a staging environment, parallel running with traffic mirroring or canary routing, cutover, and a post-cutover review. The number of environments, the number of custom plugins and the level of change control your organization requires all extend the schedule. No supplied figure gives a duration, so ask for a phase plan with entry and exit criteria for each phase and a named owner for each one.
What does our team have to provide during the migration?
Your team must provide access to the Konnect configuration export, the list of consumers and their authentication methods, and the upstream services that APISIX will call. Security and identity teams need to confirm how the openid-connect plugin will integrate with your identity provider, such as Keycloak, Microsoft Entra ID or Okta. Operations staff must supply the target infrastructure, the etcd or standalone configuration approach, and the monitoring stack. Application owners approve test cases and cutover windows. Name these owners in the written scope so that the engagement does not stall on access or approvals.
Can our own engineers migrate from Konnect to APISIX without an outside partner?
Yes, a team with experience in NGINX-based gateways and Lua or YAML configuration can do the work in-house, and APISIX is Apache-2.0 licensed with public documentation. The main risks are an incomplete inventory of plugins, untested behavior differences, and no one owning the operating model after cutover. Compare the internal effort and skills gap with a fixed-scope engagement. DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms in your own infrastructure, and a fixed-scope engagement can cover any part of that work you choose.
What cannot be migrated from Konnect to APISIX?
Konnect-specific services do not move. These include the Kong-hosted control plane, the Konnect developer portal, Konnect analytics, Dedicated Cloud Gateways and any Enterprise-only plugins. APISIX has its own admin API and dashboard, but it does not reproduce the Konnect console, its billing model or its portal. Routes and plugins with no APISIX counterpart need a rewrite, a different plugin or removal. Consumer credentials may not transfer in a readable form, so confirm with the vendor and your own tests whether secrets can be reissued. Ask any provider for a written list of unmapped items before work begins.
Does the open-source licensing change who supports the gateway?
APISIX is Apache-2.0 licensed, so you can run it without a license fee, but support is not included in the license. Support comes from your own team, from the community, or from a commercial provider you contract separately, such as API7.ai for its enterprise offering. Plan support and upgrades before cutover. Confirm the release you plan to run, since the downloads page does not mark any release as long-term support. DeployOpen offers ongoing support, upgrades and continuous testing as retainers, billed separately from any fixed-scope migration.
What a written scope should cover before the work starts
A fixed-scope agreement for this migration should name each phase and what it produces before any cutover work begins: inventory, translation, pilot, parallel run, cutover, decommission and documentation. Scope, deliverables and timelines are agreed in writing before work starts, so the inventory phase is where the reader pins down what is actually in scope. Ask for a list of every Konnect control plane, gateway service, route, consumer, plugin, certificate, upstream and portal asset, exported with decK, and confirm which of them run on Kong Gateway data planes that are self-hosted, serverless or Dedicated Cloud Gateways, since each has a different exit path.
The translation and pilot phases need acceptance criteria written in terms the reader can test. For translation, the agreement should state how each Kong service and route maps to an APISIX route and upstream, how consumers and their key-auth or OIDC settings move, and which Kong plugins have an APISIX equivalent under the same behavior. Confirm that gaps are listed as explicit decisions, not silent drops. For the pilot, define a limited set of APIs, the traffic shape to replay, the error and latency thresholds that count as a pass, and who signs off. Parallel run and cutover criteria should name the traffic percentage or DNS change, the rollback trigger and the window in which rollback remains available.
Decommission and documentation close the scope and are often underpriced. The agreement should say whether the Konnect data planes, Konnect Dev Portal entries, analytics history and API keys are retired, who revokes credentials, and how long exported configuration is retained. Documentation should cover the APISIX deployment mode chosen (traditional, decoupled or standalone), etcd backup and restore, the Admin API access controls, and the runbook for adding routes. Ask for the acceptance evidence to be delivered with the documentation so your security and compliance reviewers can check it without relying on the implementer's word.
How DeployOpen scopes, runs and supports the APISIX migration
DeployOpen plans and implements the move from Kong Konnect to self-hosted Apache APISIX inside your own infrastructure, from cloud accounts to air-gapped networks. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. A quote follows from that written scope.
How we scope
- Inventory every Konnect service, route, consumer and plugin in the decK export before estimating any work
- Map each Kong plugin to an APISIX plugin, flagging any Enterprise-only behavior that needs a replacement or removal
- Agree in writing which APISIX deployment mode fits your network, traffic and etcd operating model
How we build
- Translate Kong services and routes into APISIX routes and upstreams, then test each mapping against live request samples
- Rebuild consumer credentials and authentication flows with the openid-connect plugin against your existing identity provider
- Replace the Konnect management UI with the APISIX dashboard and configure the admin access controls and etcd backups
How we hand over
- Deliver the translated configuration, mapping tables, test results and a staged cutover runbook with rollback steps
- Document the APISIX admin procedures, plugin inventory and any gaps against the original Konnect capabilities
- Train your platform and API teams on operating the gateway, reviewing changes and handling incidents
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover
- Retainers can cover APISIX version upgrades, plugin updates and periodic security testing of the gateway
- Ask any proposal to state which APISIX release line it targets and how upgrades will be scheduled and tested

