Preheat the oven to 350° F. Butter and flour two 8-inch round cake pans. You can also make this in two 9-inch cake pans -- the layers will just be slightly thinner.
In a large bowl or the bowl of a stand mixer, whisk together the sugar, flour, cocoa, baking powder, baking soda, and salt. Add the eggs, milk, oil, and vanilla and mix on medium speed for 2 minutes. Add in the boiling water and mix to incorporate.
Pour the batter (it will be very thin -- don't panic!) into the prepared pans. Bake for 30 to 35 minutes (start checking after 30). The cake is ready when it starts to pull away from the edges and a tester inserted into the middle comes out clean. Let cool for 10 minutes in the pan before turning the cakes out onto a rack to cool.
To make the frosting: Melt the butter, then stir it together with the cocoa in a medium bowl. Add powdered sugar and milk in alternating turns, whisking until your frosting reaches a spreadable consistency (you may need to add a touch more milk). Add the vanilla and mix well.
To assemble your cake: Add a large dollop of frosting to the first layer. Top with the second layer, add a thin crumb coat of frosting around the outside of the cake. Add your final, thicker layer of frosting. (It will help to freeze the layers briefly before frosting.)