Devil's Food Cake with the Best Chocolate Frosting

One of my kids had a birthday last week.  He wanted a chocolate cake with chocolate frosting, and I knew just the cake I would make for him.  He LOVED it!  We all did and devoured it in less than two days!  Yes, we're that bad. :)  This cake is rich, moist and fluffy.  The frosting is seriously to die for!  There's also quite a bit of it, so be generous when you spread it between the cake layers.  Yum!  Enjoy!
For cake:
-1 cup buttermilk
-2 cups flour
-2 cups sugar
-2/3 cup unsweetened cocoa powder
-1/2 tsp salt
-2 large eggs
-1 cup vegetable oil or sour cream (oil works better, but the sour cream makes a good substitute)
-1 tsp vanilla extract
-1 cup boiling water
-1 tsp baking soda
For frosting:
-1/2 cup butter
-2 Tbs vegetable shortening
-1 cup unsweetened cocoa powder
-8 oz cream cheese, at room temperature
-3 cups powdered sugar
-1 tsp vanilla extract
Preheat oven to 350 F.  Coat VERY well the bottom and sides of two round 9 inch pans.  I use the baking spray (the one with flour and oil).  Set aside.
In your mixing bowl, combine the buttermilk, flour, sugar, cocoa, salt, eggs, oil and vanilla.  Mix very well.
In a small bowl, mix the boiling water with baking soda.  Once nicely dissolved, pour into cake batter.  Mix well.  The batter should be very thin.  
Pour evenly into prepared pans.  Bake in preheated oven for about 35 minutes or until toothpick comes out clean.
Remove from oven and let it cool in the pans for about 10 minutes.  After that, carefully flip it over onto wire racks and let cool completely.
While the cake is cooling, make the frosting.
Melt the butter and shortening.  Pour into mixing bowl.  Add the cocoa powder and mix until smooth.  Let it cool for a couple of minutes.
Add the cream cheese and mix until smooth.  Stir in the powdered sugar and vanilla.  Mix very well.
Put one cake layer onto serving plate.  Top with a generous portion of frosting and spread it evenly.  Cover with second cake layer.  Frost remaining cake.
Cut into slices and enjoy!  Refrigerate leftovers, if any. :)  Enjoy!