Skip to main content

Deployment Environments

Last updated 14/10/2024

Five applications are deployed in the cloud using Kubernetes.

info
Up until Version 2.6, you could run Five and your Five applications locally as an application on your local computer. From Version 2.7, you can only deploy Five applications in the cloud using Kubernetes.

Types of Deployment Environments

Five has three types of deployment environments:

  • Development
  • Testing
  • Production

Development Environment

PlanWho can deploy to the development environment
BasicAdministrator, Control, and Developer users
TeamAdministrator, Control, and Developer users
BusinessAdministrator, Control, and Developer users
EnterpriseAdministrator, 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.

info
While deployed to development, if your application has not been touched for over an hour, the connection will be lost and you will need to click the Remove from Development button and deploy your application again.

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

PlanWho can deploy to the development environment
BasicAdministrator and Control users
TeamAdministrator and Control users
BusinessAdministrator and Control users
EnterpriseAdministrator 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

PlanWho can deploy to the production environment
BasicAdministrator user
TeamAdministrator and Control users
EnterpriseAdministrator and Control users

Production deployment URL format: instanceID-applicationID-sitePrefix.5au.co

Example production deployment URL: default-banking-bankworld.5au.co


note
You can have your own URL completely such as abc.com.au, but this requires configuration. Contact Five's support if this required.

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.
Production Deployment Recap
  • 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.