Applications have become the lifeblood for businesses to generate revenue and stay competitive. It is not surprising that organizations are adopting an app-centric approach in their data centers and clouds. Microservices architectures enable continuous development and delivery, scaling, and isolation through independent services. While microservices applications offer several advantages compared to monolithic or even n-tier applications, appliance-based ADCs are not cost effective or in most cases, even viable to support the vast amount of east-west interactions between the services and provide no visibility to the application components. Developers need two common requirements: (a) they need flexibility and programmability to develop, test and deploy their apps quickly (b) they need visibility into application interactions and performance to pinpoint services that are at fault or to troubleshoot an application outage.