In previous articles of the series, we saw how to plan and start a project with eXo Platform as well as defining a reliable architecture and preparing an effective team. In this last installment, we’re going to plan for deliveries, monitor deployments and make the future of the project sustainable.
Planning deliveries and deployments
In this phase, you will have to write a document to describe:
- The delivery content of the development phase
- How to install the deliveries in each environment (development, test, integration, pre-production and production environments)
- Which tools will be used by system administrators to install deliveries
- How to backup and restore production data
- How to test a delivery on the pre-production environment using production data
- How to validate the content of a delivery by executing automatic or manual functional tests
- How to monitor resources and which tools to use
- Which resources to monitor with an automatic notification if the status of a resource is critical
You should make things automated, because this process is, in general, complex and contains a lot of steps and verifications. To avoid human error, it’s better to script all steps.
In this phase, I would like to introduce you to an add-on that can be helpful for backing up and restoring eXo content using a GUI or SSH command; please take a look at the Staging Extension.
Monitoring and benchmarking your deployment
This part avoids most of the unwanted surprises when your software is in use.
The aim is to measure the limits of your software and to know what parameters to use for every deployment component (application server, JVM, load balancer, RDBMS, network bandwidth…). This step is important. Each component in your deployment view should be monitored while you execute a functional test to determine its behavior.
In this phase, you should have around the table an expert for each component.
For eXo Platform 4, the parameters to consider are:
- Service cache sizes
- Enabled eXo Platform services
- Number of eXo Platform nodes inside a cluster
- Clustering and JGroup configuration
- Lucene indexing configuration
- Estimate of total database size
Sustaining your deployment and planning for the future
During the project phases, you may encounter issues in the process you designed. Each time you face a problem, you should study it so you can improve your processes. If you need help for any phase, you should ask an expert to guide you. You will then acquire their knowledge for all your future projects.
And remember, the eXo Tribe is here for every community member!
Join the eXo tribe by registering for the community and get updates, tutorials, support, and access to the Platform and add-on downloads!