思科采取了ACI来构建可编程的网络基础设施。此基础设施可作为单一系统在交换矩阵级别运行,由集中的应用策略基础设施控制器 (APIC) 进行控制。通过这种方法,数据中心网络可作为一个整体结合在一起,并用作一个可支持业务应用的智能传输系统。
ACI采用RESTful API来与更高层次的业务流程和自动化系统交流互通,包括OpenStack、Puppet、Chef、CFEngine和Python脚本。这些API还使ACI生态系统可以进行管理、业务编排、监控、虚拟化,提供网络服务以及支持存储合作伙伴,并为OpenDaylight、虚拟交换机和VXLAN开放环境。
ACI可编程性的核心组件是APIC,APIC为自动化和管理ACI矩阵、进行策略编程和监控状态提供了统一平台。它能够优化性能,支持任意地方的应用,并统一物理和虚拟基础设施的管理工作。APIC能够管理100万个终端,与传统SDN控制器不同,它独立于交换机数据和控制平面运行,不会解耦数据和控制平面,因此即使APIC离线,网络也能够对终端变化做出响应。此外,APIC还支持灵活地定义和自动化应用网络,并提供可编程性与集中管理能力。
APIC可关联物理和虚拟的4-7层网络服务,包括防火墙、应用交付控制器和IPS等,如思科的ASAv防火墙和ASA防火墙的虚拟化版本;可编程政策为多租户私有和公有云环境进行隔离,加强应用程序和租户安全;APIC的实时可见性和故障排除,可提供每个租户和应用状态的完整实时视图,包含统计数据和故障排除信息,可支持企业进行实时分析,做出应用部署决策。APIC的应用程序网络配置文件定义了应用程序的要求,通过这些配置文件,APIC动态地配置网络、服务、计算、存储和安全政策。

▲这里简单了解下思科ACI对象导向数据模型和REST API。如图:该逻辑模型是与系统的接口、管理员或上层云管理系统,通过API、CLI或GUI与该逻辑模型进行交互。然后,将逻辑模型的变化向下渗透到物理模型,通常会成为硬件配置。逻辑模型本身包含可以操控的对象(配置、策略和运行状态)以及这些对象的属性。在ACI框架中,这种模型被称为管理信息树 (MIT)。MIT中的每个节点代表一个托管对象或对象组。这些对象采用分层方式组织在一起,以创建逻辑对象容器。
在芯片的可编程性方面,思科提供了灵活的选择方式。定制思科ASIC芯片,通过APIC来使用Nexus 9516提供应用程序定义服务水平和访问权限,即ACI模式下,具有硬件加速、对应用程序交互和行为的深入可视性,以及细粒度的服务水平标准。商用芯片模式提供了思科onePK的可编程性,可支持OpenFlow和OpenDaylight控制器。