Preheat the oven to 350 degrees and grease a 7x11" baking dish with non-stick spray or butter.
In a large bowl, combine the almond flour, baking powder, and salt. Then, cut in the butter using a pastry knife, two butter knives or a food processor.
Next, stir in the eggs, mozzarella, and sour cream until the mixture is uniform.
Spread evenly into the bottom of the prepared dish and bake 20-25 minutes or until the top is lightly browned.
Remove the dish from the oven, and increase the oven temperature to 425 degrees F. Add the cubed ham to the dish. Spread it evenly over the biscuit layer, then carefully use a spoon to form 8 "nests" with the ham. (see the picture in the post) This will help to support the egg yolks.
Next, carefully crack the 8 eggs into the 'nests'. The yolks should stay put, but the whites will spill out. If you don't want runny egg yolks, use a fork to break the yolks. You can do this to some or all of the yolks.
Pour the egg whites into the center of the dish, and spread evenly.
Sprinkle the dish with salt and pepper to taste and return to the oven. Bake for 6-7 minutes for runnier eggs (close to eggs over easy or add additional time to cook the eggs to your liking.
While the casserole is cooking, prepare the Hollandaise. Add the egg yolks, lemon juice, and cayenne to the bottom of a blender or food processor. Blend on medium speed until they are uniform and have lightened a bit in color (about 30-40 seconds) Reduce the speed to medium-low and slowly pour in the melted butter. Once you have added all of the butter the hollandaise should be light and creamy. Adjust the salt to taste and remove from the blender. If you find the sauce is too thick for your liking, simply add a bit of hot water to thin it out.
Serve the casserole topped with the hollandaise. I prefer to let each person pour their own sauce, but you could also pour it over the entire casserole before serving if desired.