In the past week many press announcements were about stacks. Oracle saying that it is trying to have a presence in all layers and Marc Benioff saying that stacks are not relevant anymore. I agree with both of them:-)
First of all, stacks are just decomposition and layering of functionality. Do consumers care if all the layers of functionality are served by the same company? Is "one throat to choke" a real customer need? If we are concerned about just technical interoperability, we must care (some what) about getting all the layers of the stack from the same company. I say 'somewhat care' because with standards and APIs technical interoperability can still be accomplished under divided technical leadership. Business interoperability, on the other hand, is still a goal. Business requirements are hard to identify and agree upon and, hence, most products do not work together when pulled out of the shrink wrap. This is one reason we still have service companies and systems integrators. Stacks would continue to be relevant as long has we have uncertainty in business requirements. Once the requirements are well understood and non changing, integrated solutions (non-stack) will be more appealing.