Terracotta 10.11 | Terracotta Installation Guide | Planning a Successful Deployment
 
Planning a Successful Deployment
A solid and proven concept of a production environment as well as adhering to best practices common to most all data storage software is the foundation of a successful deployment, free of troublesome interruptions of service.
The following sections is aimed to give crucial advice on the the dos and don'ts.
Ensure Proper, Dedicated System Resources
Terracotta Servers should be run on dedicated hardware. Software AG strongly discourages the use of virtualization (such as vmWare).
Servers should generally be resourced such that no more than 70% of memory and 50% of CPU is being utilized under "normal" peak conditions. This ensures capacity for abnormal spikes in service demand. Failure to follow these recommendations could also result in adverse actions taken by the operating system, such as the Linux OOM killer.
Avoid any deployments that over-commit the memory resources of the underlying hardware, e.g. do not use "swap" space for the processes running on the system.
When using persistence options such as FRS or Hybrid features, review and adhere to the "System Requirements" sections of the documentation related to these features.
In particular, ensure that you utilize local drives for storage.
Virtual Environments
Note:
Use of dedicated physical hosts is recommended.
If you are deploying on virtual hosts (e.g. via vmWare), the Terracotta server process must be "pinned" to given hardware (e.g. excluded from live migration processes such as vMotion). Such virtual hosts must be configured with dedicated memory and CPU resources.
Similarly, for orchestrated container environments (e.g. Docker, Kubernetes, etc.), ensure that Terracotta server processes are fixed to given hosts, and are not subject to unexpected migration.
Be aware of avoiding "noisy neighbor" problems - where processes compete for physical system resources. This can lead to poor and/or unpredictable latency spikes and other performance and stability issues.
Running Multiple Terracotta Servers on the Same Host
Note:
Running multiple instances on the same host is not recommended.
Ensure that Terracotta servers that are members of the same stripe (e.g. "active" and "mirror(s)" of the same stripe) are never assigned to the same physical host. This creates a single point of failure, and can result in data loss.
Additionally, if you do run multiple servers on the same host, it is strongly recommended that the processes run as separate users, and use separate mount points for persistence.
Leave Configuration Options at Defaults, Unless There Is a Specific Need
The default settings of Terracotta are the result of years of testing and experience in supporting customer installations of any given size.
Software AG strongly recommends not to "proactively" override default property settings unless a need is directly encountered.
Ensure Proper Selection of Persistence and High Availability Settings
Depending upon your use case, you may likely have requirements for taking extra care to make proper selections for relevant configurations such as:
*Deploying mirror servers
*Selecting a proper Failover Tuning priority
*Using persistence
*Regular backup processes
Software AG strongly recommends checking the relevant documentation sections in order to properly understand the concepts and implications.
Safe Shutdowns and Restarts
When shutting down Terracotta servers, and when restarting them, ensure that you follow the documented "Safe Cluster Shutdown and Restart Procedures". Under some configurations and situations failure to do so may result in data loss.
Ensure that the persons who are responsible for the operations of your system are familiar with these topics.