Why? Create an ecosystem of applications that are modular and reusable – IDEAL FOR MICROSERVICES Development teams want to use different components as building blocks to create new products. What? Think of the application first: How will the application act as a user of the API? How will you connect the applications to other services? Challenges Becuase it is application first, if you have to modify the application / build another application that needs to use the API, you will need to build a new API / modify the first one However, if you could start with the data and build one API that can provide governed access to all of it - That is what you can do with [[GraphQL]]