Comparing Catalyst Serverless Functions and AppSail Services

Both Catalyst Functions and AppSail are Serverless offerings that enable you to build the backend logic of your solution containing the main functionalities.

Given below are some note-worthy points about the differences and similarities between Catalyst Serverless functions and AppSail services. You will need to understand these to ensure you use the right component for your needs.


Catalyst Serverless Functions AppSail Services
Use Catalyst serverless functions to build backend logic for basic or elaborate HTTP operations, event-driven flows, scheduled job executions, or integrations. Use AppSail services to build and deploy independent web services for any requirements.
Functions generally pack a tightly-coupled application logic that incorporate Catalyst components through language-specific SDKs. You can implement component SDKs in your AppSail applications as well. However, you will be required to manage the implementation on your own.
Catalyst functions cannot work independently outside the Catalyst platform, as they implement predefined coding structures specific to Catalyst. AppSail services are independent entities that can be engineered in any way you require, without any Catalyst-specific restrictions on the format.
Catalyst handles the implementation and maintenance of the dependencies that serverless functions are pre-engineered with. For example, the node modules that are included by default when you initialize a Node.js function are implemented by Catalyst. With AppSail, you must entirely handle all the implementation and maintenance of all frameworks, libraries, plugins, dependencies, and overheads that you might use in your code for all the supported platforms.
With Serverless functions, you incur costs when API calls are made to invoke function endpoints. The billing model works based on the number of API calls made to access a function endpoint. AppSail services incur costs based on the number of server instances that are actively running. In other words, you will be billed for instance uptime, and not for the number of requests made directly to access an app endpoint.
You will not be required to perform any infrastructure, backend, or platform management for serverless functions. You will not be able to perform any infrastructure management. However, you can manage the platform of your app instances after you deploy it.
You can deploy multiple functions of any supported stack or type in a single project through Serverless functions. You can deploy multiple apps of any supported stack or custom stack in a single project through AppSail.

Comparing Deployments of AppSail Services as Catalyst-Managed Runtimes vs Custom Runtime

The following table explains the differences between deploying AppSail services as Catalyst-managed runtime and as custom runtimes. After they are deployed on Catalyst, you can configure and manage all AppSail services and their platform in the same way, and obtain statistics and reports for all apps.

Catalyst-Managed Runtimes Custom Runtimes
Deploy the build files of your application directly on AppSail. In this method, you only ship your code to Catalyst, and we handle its execution on a platform built for Catalyst-managed runtimes. Deploy a container image of your application to host it on Catalyst. You can deploy an image from your local registry, or one that is hosted on a supported container registry service.
The runtime is completely managed by Catalyst. This means that you need not handle the runtime executable files or the stack dependencies for your app's execution. You will still need to manage the dependencies your app's codebase includes. You must manage all dependencies, including the runtime dependencies. You will need to install the binaries your application needs, and manage your runtime and OS dependencies by yourself.
You can only deploy web services that are of the natively supported runtimes of Java, Node, and Python by Catalyst. You can deploy web services of any programming environments and runtimes, such as Go or PHP, and even the runtimes of Java, Node.js, Python that are not natively supported by Catalyst.

AppSail Execution Basics

AppSail enables you to manage the execution platform of your app after its deployment. When your application is invoked, it would be running on one or many instances based on the number of requests being served.

The logic of spawning service instances for an invoked application is explained below:

  • When the first request is made to access an inactive application, AppSail has an initial cold start time to spawn a brand new server instance for it. This is a feature of serverless platforms, wherein instances are only generated on demand.

  • The memory and disk size you configure for your app’s execution are utilized after the app is invoked.

  • When 80% of the request threshold of an active instance is utilized, AppSail will automatically scale up and spawn a new instance to serve new requests. When the load reduces, AppSail will scale down and kill excess instances.

  • An app instance, when spawned, will be active for 5 minutes in total. Even if a single request is made to access the app, the instance will be active to serve it through its duration.

  • You can perform a manual override to kill server instances in situations where your app experiences bugs or malfunctions, or is stuck in a deadlock. For example, an infinite loop bug.

You can also manage your app in other ways, such as temporarily disabling an app or permanently deleting it. Refer to the console help section for details about deployment and execution logs, or the steps to manage your AppSail services.

Key Points to Remember

Catalyst observes certain restrictions for the AppSail services that you create, in terms of resources or instance executions. Given below are some of the key limitations that you must remember:

  • You can only create 5 AppSail services in a single Catalyst project.

  • Inactive app instances will be scaled down after 5 minutes of uptime*

  • AppSail will only generate 5 instances for a single app in total*

  • Catalyst can execute 100 requests concurrently per app instance.*

  • AppSail will scale and spawn a new instance when 80% of the request threshold of an active instance is utilized. That is, after an instance serves 80 requests concurrently, a new instance will be spawned.

  • Your app will need to start listening in the listening port within 10 seconds. When no process in that port is found to be active within this duration, the user instance that will be created past the threshold will be killed, and the next request will trigger a new cold start instance.

  • An app request needs to be completed in 30 seconds. Otherwise, the request will be timed out.

Note: For the limitations indicated with an *, we can increase the defined limits on a case-by-case basis, based on your requirements. Please contact Catalyst support at support@zohocatalyst.com with your specific requirements to make requests.

Last Updated 2025-11-03 20:12:13 +0530 IST