Base images are used (as the name suggests) as basis for the framework and application you want to host. They dictate which OS APIs are available for your application and it could be a large or a small set of APIs. The more APIs are available, the more binaries are needed, resulting in a larger base image. For that reason, when we started to produce these base images we had Server Core and Nano Server, with the Server image being added later to address scenarios not supported by the former images.