Platform Management

Overview

AppSail, being a PaaS component, provides you with the details of the platform your app is run on, when it is accessed after 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 in the points 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.

  • Memory for your app is allocated in the instance based on your configurations. The CPU is allocated proportionate to your memory automatically.

  • 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 instance, when spawned, will be active for 1 minute in the development environment and 5 minutes in production. 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 perform other platform management activities such as temporarily disabling an app or permanently deleting it. You can refer to the console help section for details about the reports generated and the steps to manage your app services.


Key Limitations

Catalyst observes certain restrictions for the AppSail services that you create, in terms of resources, instance executions, or the development environment. 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 1 minute in the development environment and 5 minutes in production.*

  • AppSail will only generate 1 instance for your app in the development environment, whereas it can scale upto 5 instances in production.*

  • Catalyst can execute 20 requests concurrently per instance in development, whereas it can execute 100 requests concurrently per instance in production.*

  • AppSail will scale and spawn a new instance when 80% of the request threshold of an active instance is utilized. In the production environment, this will equate to 80 concurrent requests. 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 by 30 seconds. Otherwise, the request will be timed out.

  • It is best to avoid operating system-specific dependencies in your app.

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 2023-09-04 17:11:45 +0530 +0530

ON THIS PAGE