Measure more than a quiet minute
Averages can hide peaks. Measure startup, normal traffic, dependency initialization, background jobs, and the busiest plausible workload. An application that usually fits into a memory budget can still fail during a deployment.
Make storage growth explicit
Uploads, logs, caches, and databases grow differently. Decide which files must persist across deployments and how they will be backed up. Set operational warnings before the quota is exhausted.
Revisit your assumptions
Start with a documented budget and review it after changes to traffic, dependencies, or architecture. A plan upgrade should be a deliberate response to measured needs, rather than a substitute for understanding a leak.
Explore the handbook or compare the sample plans.