I'm surprised I didn't see application performance monitoring mentioned here. A lot of applications are complex and in those cases adding containers is only effective until you reach the next constraint.
Having two resources (such as DB and app) scale in concert can be exceedingly difficult.