What is our primary use case?
Terracotta is actually a product used for clustering. It is not used standalone in architecture but is used in the Software AG architecture to cluster the request or state the request data between integration servers.
The distributed caching mechanism helps in reducing database load and accelerating data access times for my projects by enhancing performance for the response we have. If we have a response or APIs that hit many times, we can implement caching to improve the performance. Another aspect of Terracotta is that it can state or save the session data in Terracotta, making the sessions or data remain consistent over or across all instances that we use.
What is most valuable?
The best features of Terracotta are its clustering capabilities. If we have architectures that contain two or three Integration Servers (IS), each IS instance keeps this data in its own memory. If a user session is tied to a specific IS instance and that instance fails, or the load balancer redirects the user to IS2, the session data will be lost, causing product experience issues. This is where Terracotta plays its role. Terracotta is used as distributed memory data, so all instances in architecture are connected to the Terracotta server, allowing them to share the session data between all instances of these integration servers.
The impact of Terracotta's high availability and failover capabilities on the organization's data consistency and reliability is significant. In our current architecture, we implemented two nodes of Terracotta. We have one active node and another mirror node. If we have one failed, or something happened in the first node, the request or the failover will be loaded to the other node.
For failover, we have many examples. The load balancer might fail to route the request to the first Terracotta node, we might have a network issue, or we might have a server that was down. The failover or the request will be routed to the other node.
Terracotta's ability to integrate with existing enterprise technologies and support multi-tier architecture has helped accommodate the organization's business needs by being responsible for failover and clustering the requests between the data nodes. If we have many nodes in our architecture, we can cluster the data or save the sessions between all these nodes. This helps to increase and enhance the user experience.
What needs improvement?
My total experience with Terracotta is installing it in the architecture to do the clustering in WebMethods Integration Server. This provided to tackle the memory and the processes of those servers in the same pool. Terracotta, as per my understanding, is used for caching. The first function is used for clustering the requests.
Regarding improvements, I cannot imagine what could be improved because my actual work in Integration Server is not totally restricted to Terracotta. The main function was restricted to developing services using integration servers in Software AG. The use of Terracotta is just for implementing caching. In this part, I create a cache manager for this response, and from a UI perspective, I am unable to suggest improvements.
For how long have I used the solution?
I have been using this solution for four years.
What do I think about the stability of the solution?
I haven't had any downtimes, crashes, or stability issues. If it's customized properly, we didn't find any issues using Terracotta. It performs perfectly. However, I know that we have many other solutions that do the same functionality as Terracotta. I don't recall the names of the products now, but I believe there are many products that may be better than Terracotta.
How are customer service and support?
The technical support for Terracotta from Software AG is good if we have any issues in the product itself. For example, if we have memory issues in logs or any product errors, we directly raise an incident with the vendor, and they will contact us and provide a fix. The intervention of the vendor for product errors is useful.
On a scale of one to 10, I would rate the tech support and customer service at eight.
Which solution did I use previously and why did I switch?
I have not worked with any other solutions. I am exclusively working with Terracotta.
How was the initial setup?
For the setup of Terracotta, we have contact with the vendor. Software AG is the vendor, and for this setup, they can assist us in installing and setting up the full architecture. The setup is easy and not complex to implement Terracotta in the architecture.
Which other solutions did I evaluate?
There might be better alternatives due to pricing, as we have open-source tools or products. There might also be products that are more customized or better installed than Terracotta.
What other advice do I have?
I may not be the best one to provide advice, but during my experience with Terracotta, I didn't face major issues with this product. I recommend this product to be used in any architecture. On a scale of 1-10, I rate Terracotta a 7 overall.
Which deployment model are you using for this solution?
On-premises
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other