Deployment Environments
Last updated 14/05/2024
Five applications can be deployed either in the cloud using Kubernetes , or run locally as an application on your local computer. If you are developing locally using Five's desktop version, and you want to make your application available to users other than yourself, you will need to subscribe to a plan which will allow you to deploy your application into the cloud and can then be available to the world globally.
Types of Deployment Environments
Five has three types of deployment environments:
- Development
- Testing
- Production
Development Environment
Plan | Who can deploy to the development environment |
---|---|
Basic | Administrator user |
Team | Administrator, Control, and Developer users |
Enterprise | Administrator, Control, and Developer users |
Development deployment URL format: userID-instanceID-applicationID-sitePrefix.5au.dev
Example development deployment URL: control-default-banking-bankworld.5au.dev
Deploying to the development environment allows you to see your changes as you are developing your application. When you make a change to your application in Five and after you have deployed to development, you can run your application to see these changes immediately, effectively making it your developer's workstation.
When an application is deployed to development, a container running your application is started within the Five development environment and your application becomes available to use. These containers come with volumes attached that hold your databases. Multiple users can work concurrently together on the one application. Each user can use the same instance and deploy to development. Each user will get an instance of the application in their own container which points to a shared database held in its own container. The definition of the application will update for each user when they click the Run button for their instance.
The default instance of your application can be deployed from any view in Five. The Deploy to Development button will be available in Five's toolbar. Once your application has been deployed for the first time, you are able to use your application as an end-user would. The Deploy to Development button will be replaced with the Run, Run with Inspector, and Remove from Development buttons. If changes are made to the application, you can click the Run button to see these changes applied.
When multiple users are developing the one application, they will see each other's schema changes when they click the Run button, however, changes to the database will occur instantly as all users are using the same database.
If you wish to run another instance of your application, you will need to use the Cluster Management page on the Instance record.
Development Deployment Recap- Database server is created.
- Application container is created.
- Development is the environment to check your development as you are building your application.
- All users have their own container holding an instance of the application.
- Users will have database changes instantly.
- Users will have schema changes when they re-run the application.
- Application container is taken down when removed from development.
- Development deployment can move to testing deployment.
Testing Environment
Plan | Who can deploy to the testing environment |
---|---|
Basic | Administrator user |
Team | Administrator and Control users |
Enterprise | Administrator and Control users |
Testing deployment URL format: instanceID-applicationID-sitePrefix.5au.dev
Example testing deployment URL: default-banking-bankworld.5au.dev
Once an application is ready to be tested it can be deployed into the testing environment. This testing environment copies the latest version of the application in development and re-deploys it so that testing can be performed. Development does not need to be taken down to move to testing. You can still be working in the development environment and start the next version of your application.
The testing environment allows you to test your application and see how it will behave before deploying it to the production environment. Five will not allow your application to be deployed from development straight into production, it must go through the testing deployment before it can be hosted in production. The testing environment should closely resemble the production environment as it is the last place to find any issues before moving into production.
On initial deployment to testing, the database schema will be created and held in its own dedicated database in the database server container. A test container is deployed holding your application testing instance that will point to the database server container. Unlike development, there is only ever one test container per application.
The following will occur when transitioning a new version of your application to the testing environment.
- The Remove from Testing button needs to be pressed.
- The test container holding the application will be taken down.
- The database server container is not taken down.
- The Deploy to Testing button needs to be pressed.
- Automatic table upgrades will occur.
- A new container will hold the new version of the application to begin testing.
On a successful testing phase, the testing phase would be stopped, the test container would be taken down and you would move your application to the production phase for your end-users. If testing is unsuccessful, you would remove the testing deployment and return to development.
Changes made in the development environment will not affect the application in testing until it is stopped and re-deployed.
Testing Deployment Recap- Database server container is created on initial deployment.
- Test application container is created.
- Initial deployment to test will create the database schema.
- Automatic table upgrades on each test deployment thereafter.
- The database is no longer manipulated from the Five container.
- Only ever one test container per application instance.
Production Environment
Plan | Who can deploy to the production environment |
---|---|
Basic | Administrator user |
Team | Administrator and Control users |
Enterprise | Administrator and Control users |
Production deployment URL format: instanceID-applicationID-sitePrefix.5au.co
Example production deployment URL: default-banking-bankworld.5au.co
The production environment is where you deploy the latest version of your application to go live and allow your users to use it. This is the environment where your users see, experience, and interact with the latest version of your application.
When an application is deployed to production, the latest testing version is copied and a container is started in its own production application instance that is segregated from all other production deployments to ensure safety of your application and customer data.
On deployment to production, Five will move the current instance from testing and a new container will be made to hold the production instance. Testing does not need to be taken down to move to production. An application deployed to production will have its own container and will point to the database held in its own dedicated database server container. Unlike the testing deployment, the database is held in its own container to improve performance, ie, an application cannot be slowed down by another application.
A new version ready to deploy to production will work in the same manner as testing. The following will occur when transitioning a new version to the production environment.
- The Remove from Production button needs to be pressed.
- The production container holding the application will be taken down.
- The database server will not be taken down.
- The Deploy to Production button needs to be pressed.
- Automatic table upgrades will occur.
- A new container will hold the new version of the application.
- Database server container is created on initial deployment.
- Production application is created.
- Initial deployment to production will create the database schema.
- Automatic table upgrades on each production deployment thereafter.
- The database is not manipulated from the Five container.
- Multiple applications will all have their own application container pointing to the database server container holding the dedicated database for the application.