In a large Dutch oven over medium heat, add bacon. Cook until crispy.
Use a slotted spoon to remove the bacon from the pot. Place on a paper towel-lined plate to drain.
Leave 2 tablespoons of bacon grease in the pot, draining the rest. Add butter and melt.
Add flour and whisk constantly for 1-2 minutes, or until the mixture turns light brown.
Remove from heat and gradually pour in the warm milk, whisking constantly.
Return the pan to heat. Whisk another 3-5 minutes, or until thickened.
Add the salt, ground mustard, garlic powder, and cayenne pepper (if using). Stir to combine. Remove from heat.
Add both kinds of cheese, stirring to melt.
Pour the cheese sauce over the top of the cooked elbow macaroni. Stir to combine.
Fold in crumbled bacon. Season with salt and paper and top with chopped parsley. Serve immediately.