Technologies for identifying service functions that may be performed in parallel in a service function chain include a computing device for running one or more virtual machines for each of a plurality of service functions based on a preferred service function chain being selected. To identify which service functions may be performed in parallel, the computing device may determine which service functions are not required to be performed on a critical path of the service function chain and/or which service functions are not required to be performed in real-time. Additionally, selecting the preferred service function chain may be based on selection criteria.