Who Says Elephants Can’t Cook? How IBM and Opscode are changing the role of code in defining next generation infrastructures