
You can take a look at https://learn.microsoft.com/en-us/sharepoint/administration/storage-and-sql-server-capacity-planning-and-configuration and https://learn.microsoft.com/en-us/sharepoint/administration/capacity-management-and-sizing-for-sharepoint-server-2013 (still valid for 2016/2019).
SharePoint sizing is largely a dark art -- it depends on how your users are using the farm, content set size, max concurrent users, etc. Many consultants will go with a known good baseline (i.e. 3x DC+FE, 3x App+Search) and right-size from there.