Inside the Cookbook
- Development Environment
- Production Environment
- Understanding How It Works in Catalyst
- The production environment
- Deployment process: Moving from development to production
- Environment isolation: Keeping development and production separate
- Best practices for managing your environments
- Explore more
When developing applications, one of the most crucial aspects of building a scalable, maintainable system is effectively managing multiple cloud environments.
Catalyst offers a Development and Production environment to ensure you have the right tools at each phase of your app’s journey.
Whether you're testing out features or preparing for launch, Catalyst's environment management system keeps everything organized, secure, and streamlined.
But what exactly do these environments mean? And how can they benefit you as a developer? Let’s take a deep dive into the Development and Production environments in Catalyst and discover how they power your app’s journey from idea to reality.
Development Environment
A development environment is where applications are built, tested, and debugged. It allows developers to experiment safely and make changes without affecting the live application.
Characteristics:
Used for coding, testing, and debugging
Includes local servers, test databases, and debugging tools
Safe for experimentation; does not impact end-users
Production Environment
A production environment is the live version of the application that end-users interact with. It is stable, secure, and optimized for performance.
Characteristics:
Hosts the live application for real users
Focused on stability, performance, and security
Errors or downtime directly affect end-users
Understanding How It Works in Catalyst
The development environment: Your app's playground
This is the starting point for every project you create in Catalyst.
By default, all your work like creating databases, writing functions, hosting web or mobile apps, and testing APIs takes place here.
It acts like a sandbox, allowing you to build and test your app safely, without impacting the live version your users might see later.
Whether you're working through the Catalyst web console or the Catalyst CLI, all these changes stay within the development environment until you’re ready to go live.
Once your application is deployed to production, you can still return to the development environment anytime to make updates, test features, or fix bugs without affecting your live users.
When you host your web app or deploy functions in development, the URLs will follow a special format like:
https://yourprojectname.development.zohocatalyst.com
Once you deploy your project to production, new live URLs will be generated automatically.
When you first deploy a project to production, Catalyst gives you $250 worth of wallet credits for free, which can support millions of function calls ,perfect for getting started without worrying about immediate costs.
The production environment
The production environment is where your application goes live for users. After you’ve developed and tested everything in the development environment, you can deploy your app to production to make it publicly accessible.
Once your app is in production, you'll see a banner on top of the Catalyst console reminding you that you're working in the live environment.
You can easily switch between development and production. This helps you manage your live app while continuing to build and test in development.
Controlled actions for safety
To protect your live app and its users, Catalyst restricts what you can do in the production environment. For example, you cannot create new functions, tables, or configurations directly in production.
Most updates must be done in development first and then deployed to production.
However, some essential actions are still allowed, such as:
Managing users and collaborators
Uploading mobile apps (Android, iOS, Flutter)
Creating cache items in the default segment
Setting up domain mapping
Testing push notifications and AI features
Viewing logs, metrics, audit trails, and usage reports
This balance ensures your production environment remains stable and secure, while giving you the tools to monitor and manage it effectively.
Production URLs
When your app goes live, Catalyst automatically generates new URLs for your production environment.
Web App URL:
https://yourproject.catalystserverless.comBasic I/O Function URL:
https://yourproject.catalystserverless.com/baas/v1/project/project_ID/function/function_name/executeAdvanced I/O Function URL:
https://yourproject.catalystserverless.com/server/function_name/
Disabling the production environment
If you no longer need to keep your app live, you can disable the production environment anytime. This will remove all public access to your app and stop the production URLs from working.
To disable it:
Go to Settings > Environments.
Click Disable in the Production box.
Type “DISABLE” to confirm.
You can re-enable production later with just one click. Catalyst will restore your previous live version so you can pick up where you left off.
Deployment process: Moving from development to production
Transitioning from development to production is seamless in Catalyst. Once you’re satisfied with the app’s performance in development, you can deploy it to production with minimal hassle.
Catalyst supports two deployment options, development to production and production to development.
When deploying your app for the first time, you can only move it from development to production.
After that, you can deploy changes in either direction:
From development to production to push new features live.
From production to development to sync changes made directly in the production environment.
Some actions are available only in the production environment. If you make changes there, like configuration updates, you can migrate them back to development using the Production to Development deployment.
Once your app is deployed, it’s important to keep the environments synchronized. This means pulling configurations, databases, or specific data back from production to development when needed.
For more information on deployment types, visit this link: Deployment Types Docs.
Environment isolation: Keeping development and production separate
The key advantage of separating these environments is isolation. Each environment runs independently, meaning that any changes made in development won’t affect the live app until you are ready to deploy them.
Why does this matter?
No more risk: You don’t need to worry about breaking your app or accidentally pushing untested features to your users.
Precise control: You have full control over when to release new features, patch bugs, or introduce enhancements. This helps you maintain a stable user experience.
Best practices for managing your environments
To get the most out of your development and production environments, here are some best practices.
Test in development, deploy in production: Always test your changes in development first. Only deploy to production once you're confident that your features will work smoothly for users.
Track deployments: Maintain a record of deployments so you can track changes, versions, and features. Catalyst provides a detailed history of all deployments so you always know what’s running where.
Monitor usage: Pay attention to the usage metrics in production to stay within your resource limits and avoid unnecessary costs.
Keep development agile: In development, feel free to iterate quickly. If a feature fails, no harm done; just fix it and test again!
Explore more
If you’re curious to learn even more about Catalyst’s environments, check out the following official documentation:
By leveraging the development and production environments in Catalyst, you can confidently build, test, and scale your app with minimal risk. Each environment offers its own set of tools and features designed to streamline the development-to-production pipeline.