# Hosting Node.js backend using Fastify and Typescript on ICP

**URL:** <https://forum.dfinity.org/t/hosting-node-js-backend-using-fastify-and-typescript-on-icp/43300>\
**Category:** JavaScript\
**Created:** [April 2, 2025, 12:38pm UTC](https://forum.dfinity.org/t/hosting-node-js-backend-using-fastify-and-typescript-on-icp/43300 "2025-04-02T12:38:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kaumudisoman](https://avatars.discourse-cdn.com/v4/letter/k/f08c70/32.png) [@kaumudisoman](https://forum.dfinity.org/u/kaumudisoman)\
**Post date:** [April 2, 2025, 12:38pm UTC](https://forum.dfinity.org/t/hosting-node-js-backend-using-fastify-and-typescript-on-icp/43300/1 "2025-04-02T12:38:07Z")

</div>

Our company’s website is currently hosted on **AWS** , with the backend built using **Node.js, Fastify, and TypeScript**. We are planning to migrate our backend to the **Internet Computer (ICP)** and would appreciate guidance on the process.

Specifically, we need help with:

- Steps to **deploy a Fastify-based Node.js backend on ICP**
- Required **configuration changes** for ICP compatibility
- Handling **database and file storage** on ICP
- Best practices for **performance, security, and scalability**

Could anyone provide a detailed guide or direct us to the best resources for this migration? Any specific considerations for **serverless execution, data persistence, or authentication** on ICP would also be helpful.

---

<div class="post-metadata">

**Author:** ![marc0olo](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/marc0olo/32/17290_2.png) [@marc0olo](https://forum.dfinity.org/u/marc0olo)\
**Post date:** [April 3, 2025, 6:28am UTC](https://forum.dfinity.org/t/hosting-node-js-backend-using-fastify-and-typescript-on-icp/43300/2 "2025-04-03T06:28:38Z")

</div>

Hey 👋

I am not aware of a good “migration path” to move your existing backend over to ICP. Is there a specific need for this migration or do you just want to explore ICP? If you just want to explore it might be better to start simple with non-critical backend services until you are more familiar with all the details.

Regarding best practices in general I recommend to take a look at the docs: [Developer best practices: General | Internet Computer](https://internetcomputer.org/docs/building-apps/best-practices/general)

Having a JavaScript background, you might want to take a look at the Azle CDK:

- [azle/examples/experimental/demo/hello\_world\_http\_server at main · demergent-labs/azle · GitHub](https://github.com/demergent-labs/azle/tree/main/examples/experimental/demo/hello_world_http_server)

Azle is still in beta though.

Regarding authentication I would also recommend to check the docs first: [Authentication services | Internet Computer](https://internetcomputer.org/docs/building-apps/authentication/overview)
