From Composable Infrastructure to Composable Applications