To make soup:.
1. Heat butter and oil in a large, heavy saucepan set over medium heat. When hot, add shallots and cook, stirring, until softened and translucent, 3 to 4 minutes or so.
2. Add potatoes and garlic, and cook and stir 1 minute more.
3. Add 2 1/4 cups each of broth and milk, and bring mixture to a simmer. Reduce heat and cook at a simmer until potatoes and shallots are tender, about 15 minutes.
4. Gradually whisk in 3/4 cup cheese ad stir until it has melted. remove pan from heat and whisk in cayenne pepper. Taste and season with salt. If you use low-sodium broth, you'll need a teaspoon or more salt. If soup is too thick stir in 1/4 each additional broth and milk. (Soup can be prepared 1 day ahead; cool, cover and refrigerate. Reheat over medium heat, stirring).
To make garnishes:.
1. Heat 1 tablespoon olive oil until hot in a medium, heavy skillet set over medium heat. Add prosciutto and saute, turning often until crisp, 3 to 4 minutes. Remove and drain on paper towels.
2. To the same skillet set over medium heat, add 1 tablespoon more olive oil. When hot, add bread crumbs and cook, tossing constantly, until golden and crispy, 3 to 4 minutes. remove crumbs to a plate. (Prosciutto and crumbs can be prepared 4 hours ahead; leave uncovered at cool room temperature).
3. Ladle soup into 4 soup bowls and sprinkle each serving with some parmesan, prosciutto, bread crumbs and parsley.