You're viewing **Apigee Edge** documentation.  
[Go to the
**Apigee X** documentation](http://cloud.google.com/apigee/docs). info


On Oct 10, 2019, Apigee retired support for Trireme-based
[Node.js](https://docs.apigee.com/api-platform/nodejs/node-overview#deploy_to_the_traditional_embedded_nodejs_environment) API proxies and suspended traffic on those endpoints. This feature was
[deprecated](https://docs.apigee.com/release/deprecated-features#deprecations) by announcement on
Oct 10, 2018. You should consider using Apigee
[Hosted Targets](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-overview) as an
alternative.

#### **Why did we retire Trireme?**

Since 2013, Apigee has supported the
[use of Node.js proxies within Apigee Edge](https://www.programmableweb.com/news/apigee-api-platform-now-supports-node.js-allowing-developers-to-build-highly-customized-apis-and-apps/brief/2013/10/25) through the use of
[Trireme](https://github.com/apigee/trireme). This enables you to run your Node.js
code within Apigee Edge and expose it as an API. While the Trireme-based approach makes
hosting Node.js APIs fast and simple, Trireme is limited in what versions and packages of
Node.js it supports. There are also subtle differences in behavior between the standard
Node.js environment and the Trireme/Rhino environment that runs on top of a Java Virtual
Machine (JVM).

We deprecated traditional Node.js support in favor of
[Hosted Targets](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-overview),
as customers repeatedly asked us for the ability to leverage the full power of Node.js and
use publicly available Node.js packages. Hosted Targets let you run Node.js applications
in a native runtime environment hosted by Apigee and add business logic to your APIs.

#### **What what happens to my existing Trireme-based API proxies?**

Effective Oct 10, 2019, your Node.js-based API proxies will be undeployed and won't be able to
serve your API traffic anymore. You can still view them in the API proxy UI or use the
management API to get your proxy definition and any dependencies, but you will not be able
to modify or deploy your API proxies or Node.js dependencies.

#### **What actions do I need to take?**

- Inventory your existing Trireme-based Node.js proxies. To help locate the API proxies that use Trireme-based Node.js, an open source [apigee-trireme-finder](https://github.com/ssvaidyanathan/apigee-trireme-finder) utility is available.
- Download the API proxy bundles. (See [How do I get my data exported (cloud customers)](https://docs.apigee.com/release/notes/trireme-nodejs-eol#export) in this FAQ.)
- Review the [Hosted Targets FAQ](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-faq) for commonly asked questions, which includes alternatives to the also-retired `apigee-access` NPM.
- Create your new API proxies (Hosted Targets) from the old source code for your Node.js proxies and deploy them (see [tutorials](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-tutorials#migrating-an-existing-node.js-proxy-to-a-hosted-targets-proxy) for more details).

#### **What are the options/alternatives to consider?**

Consider one of the following alternatives:

- [Hosted Targets](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-overview) provide enterprises with a simple way to add more business logic to their APIs than previously possible. Hosted Targets let you run Node.js applications in a native runtime environment hosted by Google. That means you can leverage the full power of Node.js and use various Node.js packages in your app. Review the [Hosted Targets FAQ](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-faq) for more details.
- Migrate to an alternative service to host your API target backends, such as [Google App Engine](https://cloud.google.com/appengine/), [Cloud Run](https://cloud.google.com/run/), or [Cloud Functions](https://cloud.google.com/functions/).

#### **How do I get my data exported (cloud customers)?**

You can download your Node.js proxy bundles in one of the following ways:

- **UI** : Download the zip file from the API proxy editor, as described in [Download API proxies](https://docs.apigee.com/api-platform/fundamentals/download-api-proxies) in the documentation.
- **API** : Use the Apigee API to [export your proxy bundle](https://apidocs.apigee.com/management/apis/get/organizations/%7Borg_name%7D/apis/%7Bapi_name%7D/revisions/%7Brevision_number%7D). Use the [Get NPM dependencies](https://apidocs.apigee.com/management/apis/get/organizations/%7Borg_name%7D/apis/%7Bapi_name%7D/revisions/%7Brevision_num%7D/npm) API to list the Node.js dependencies for the API proxy revision.

#### **Are there any tools or support available to help with migration of Trireme to
Hosted Targets?**

Google does not provide any automated tools to migrate existing Node.js proxies to
Hosted Targets. See the tutorials in the documentation for instructions on
[Migrating an existing Node.js proxy to a Hosted Targets proxy](https://docs.apigee.com/api-platform/hosted-targets/hosted-targets-tutorials#migrating-an-existing-node.js-proxy-to-a-hosted-targets-proxy).

#### **Whom do I contact if I need more info or help?**

To request additional details, log a ticket at [Apigee Edge Support](https://docs.apigee.com/api-platform/troubleshoot/support)
(subject: Trireme EOL).