In a large pot of boiling water, cook orzo according to the package's directions.Meanwhile, in a large skillet set over medium heat add the butter. When the butter has melted, add the garlic and shallot, cook until fragrant and translucent, about 2-3 minutes. Whisk in flour, cook for 1 minute (whisking continuously). Slowly whisk in the milk, cook until slightly thickened, about 4 minutes.Stir in parmesan and season with salt, black pepper and cayenne pepper. Add orzo and cook for an additional minute. Garnish with parsley and serve immediately.