Application profiles are a key element of the Cisco Application Centric Infrastructure (ACI) architecture. They provide a flexible and powerful way to group together related applications, services, and workloads, and to apply consistent policies across these entities.
The Cisco ACI fabric is designed to be totally application-aware, and application profiles are the mechanism through which this is achieved. Application profiles are composed of a number of different objects, which are used to describe the application, its components, and the policies that should be applied to it.
Some of the key objects that make up an application profile are:
Application objects: used to represent the different components of an application, such as web servers, application servers, and databases.
Service objects: used to represent the services that are offered by an application, such as HTTP or FTP.
Contract objects: used to represent the agreements that are in place between the different components of an application, such as which components are allowed to communicate with each other, and what type of communication is allowed.
Endpoint groups: used to group together the endpoints that are associated with an application, such as the IP addresses of the servers that are running the application.
Policy objects: used to represent the policies that should be applied to an application, such as which traffic should be allowed or blocked, and how traffic should be routed.
Application profiles are created and managed using the Cisco Application Policy Infrastructure Controller (APIC), which is the central point of control for the ACI fabric. The APIC provides a graphical user interface (GUI) and a Representational State Transfer (REST) API that can be used to create, modify, and delete application profiles.
The Cisco ACI fabric is a highly scalable and flexible platform that can be used to deploy a wide variety of applications. Application profiles are a key part of this flexibility, and enable administrators to easily group together and manage related applications.