As these tools now develop, we are witnessing some common themes surfacing. Flexibility in these software functions often comes at the cost of either performance or ability to scale, or indeed both. If a toolset is tightly coupled to one language or deployment format, it is typically harder to reshape it bigger, wider, faster or fatter. Over time, there is likely to be some consolidation of platforms or some wider community-driven migration to the most efficient, most powerful, most open, most intelligent and most “trainable” toolsets.