When an application is broken into smaller microservices, it brings in few challenges that needs to be addressed. These include abstracting producer information, handling multiple protocols, data transformation or format conversion for different consumers and so on. To handle these challenges we can use an API gateway design pattern. In this article we'll understand further about this pattern.