Grease a 10 - 12 cup Bundt cake pan, using non-stick baking spray or shortening. Flour the pan, and tap excess flour. Set aside.
In a mixing bowl, beat butter and sugar at medium speed until light and fluffy. Scrape the sides and bottom of the bowl with a spatula.
Add the baking powder, baking soda and salt. Add vanilla extract, almond extract and sour cream, mixing just until combined.
With the mixer running on medium speed, add 2 eggs and beat just until combined.
Add 1/3 cup of flour and beat just until combined.
Repeat again: 2 more eggs, followed by 1/3 cup of flour and the remaining 2 more eggs, followed by 1/3 cup of flour.
Gently beat in half of the milk. Followed by half of the remaining flour, then the remaining milk. Turn off the mixer and and stir in the remaining flour.
Scrape the sides and bottom of the bowl with a spatula. Beat batter on medium-high speed for 20 to 30 seconds, until smooth.
Scoop the batter into the prepared pan, smoothing the top with a spatula.
Bake the cake for 50 to 60 minutes, until it's starting to brown and a toothpick inserted into the center comes out clean.
If the cake appears to be browning too quickly, tent it with foil for the final 15 minutes of baking.
Remove the cake from the oven, and place it onto a cooling rack. After 10-20 minutes, invert the cake onto a plate, and allow it to cool completely.
Let the cake cool completely before glazing.
Add all the Glaze ingredients to a medium bowl and stir to combine until smooth, with no lumps. If the mixture is too thin, add more confectioners sugar, 1/4 cup at a time. If the mixture is too thick, add more milk, 1 tablespoon at a time.
Spread the glaze over the cooled cake. Let it settle.
Slice and serve.
Store leftover cake, well wrapped, at room temperature for 2-3 days. Freeze for longer storage.