Introduction to HPC concepts and things to consider when designing an HPC environment, originally written 2018 and updated in 2023