Preheat oven to 350°. In a large bowl, cream butter and sugar until fluffy. Add eggs one at a time.
In a separate bowl, sift flour, baking soda, and salt together. Alternating, add flour mixture and sour cream to the butter mixture. Add vanilla.
Pour batter into three 9-inch prepared pans. Bake for 25-35 minutes, making sure to test doneness. Remove from oven and cool on racks for 10 minutes. Carefully remove from pans to cool completely.
For the frosting:
In a small pot, melt butter. Add brown sugar and evaporated milk. Cook 2 minutes over medium heat, stirring constantly. Remove from heat. Add vanilla. Pour the mixture over powdered sugar in a separate bowl. Beat until smooth. Let cool slightly.
Place one cake layer on a cake stand or serving plate. Frost with the caramel frosting, then repeat with the next two layers. Spread remaining frosting all over the top and sides.