Skip to main content

Infrastructure sizing recommendations

info

TL;DR : Simplicité does not provide fixed sizing recommendations for production apps. Use standard Java webapp practices and adapt to your workloads.

Factors

Sizing an infrastructure—RAM, disk, CPUs, etc.—depends mostly on the application itself rather than the platform.

A number of factors can impact resource requirements:

  • Database type and location
  • Volume and nature of data
  • Backup operations
  • Number of simultaneous users (both normal and peak)
  • Usage patterns
  • Number of business objects managed by the application
  • Heavy processing tasks, such as batch loads or large computations
  • High API traffic or unusual third-party usage
  • High availability requirements
  • Other environment-specific constraints

Development and test environments

danger

These are meant for dev/test workloads only and do not apply to production, especially where backups and scalability matter.

For small-scale environments with few users and limited datasets, rough VM sizing guidelines are:

VM SizeRAMDiskvCPUApprox. # of Dev/Test Instances
Small4 GB20 GB2~5 instances + databases
Medium8 GB40 GB4~10 instances + databases
Large16 GB80 GB8~20 instances + databases

Production environments

There’s no one-size-fits-all for production, nor is the data we have on our client's sizings sufficient to give recommendations.

Best practices:

  1. Reserve dev/test sizing for low-load environments only
  2. Use scalable infrastructure
  3. Document usage and growth expectations to support future adjustments
  4. Proceed with regular & realistic high-load benches (with expected maximal number of concurrent users + representative use case scenarii & think times) to define/maintain the appropriate sizing for your application