Cisco ACI: A Practical Deep Dive into demystifying How Application-Centric is different from Network-Centric.
Vahid Nazari
DC Consulting Engineer ? CISCO ACI ? VXLAN ? Hybrid & On-Prem Infra ? End-to-End integrated Solutions
Cisco ACI: Application Centric vs Network Centric
From the first moment you get involved with Cisco ACI in order to design a Datacenter fabric, a big issue shows up in front of you, and that is making a choice between two completely different design methods include: Application-Centric and Network-Centric. Almost everybody asks this question right now that: When should we use application-centric? And when we shouldn't? this is a question all documents try to answer and I'm also going to clarify that based on my experiences and by giving a practical example during the rest of this article. Hence, I've got to say It actually depends on two parameters :
If both of the above are available, Then welcome to the Club!?You no longer have to think Traditional network-driven and do like you used to. Some deployments such as L2 Firewall have fundamentally different stories in Cisco ACI, and also some of the obstacles that led to increased complexity will be got out of your way.
Note: Some references and explanations that cover the differences between these two approaches in ACI, have only focused on how to create and design bridge domain and EPGs in App-Centric compared to Net-Centric while in my opinion, this is incomplete. Network-Centric is all bout just mapping a traditional network infrastructure to ACI Fabric by converting constructs and objects between these two and also by following all the rules and principles that existed in the previous environment. Of course, this mapping also includes the insertion and deployment model of service appliances. So, in terms of designing fabric based on Network-Centric approach, All deployments should be the same as before. In contrast, If we start talking about App-Centric design, we need to cover the new deployment model of firewalls in addition to BD and EPG changes.
Here is a practical example to show the differences between these two methods in Datacenter Fabric design. Let's assume, We have a traditional Network in which two services (SVC1 and SVC2) are running. Both of them have a 3-tier architecture in form of Database, Frontend App, and Backend App.
Traffic flow from Outside (the Internet for instance) to SVC1's frontend App is shown in the following.
First Case: Network-Centric Approach
Let's design the ACI Fabric based on the Network-Centric approach.
As you can see, the pattern of this design is very similar to the traditional network in the example above.
领英推荐
As a summary, we don't have ACI Service graph, nor do we have PBR, no device package is required for ACI prior to 5.2, therefore all L4-L7 service appliances are connected to ACI Fabric using either L3Out or L2Out (Which is called: EGP mode). The deployment model of these service boxes is exactly the same as a traditional network. Finally, we have the same pattern as the traditional networks for creating EPG and BD within the ACI fabric based on network-centric approach. Fast implementation, along with no need for deep knowledge in L4-L7 service insertion, are the most important advantages of this method.
Second Case: Application-Centric Approach
The Application-Centric design for the given example can be a little different depending on the version of the APIC. Let's kick off based on ACI prior to release 5.2
In this approach, we use the ACI Service graph along with PBR, So that we have a completely different model of deployment for Firewalls and the load balancer. More than that, The pattern of creating bridge domains (BDs) and EPGs is exactly in accordance with the layered architecture of our services, not based on VLAN numbers we've already had. As you can see, there are only two service-related bridge domains include 'App' and 'Db' that have subnet and all EPGs are within these two. Another big point about these bridge domains is that we no longer need to enable flooding, therefore the Forwarding option can be set as 'Optimize' during the creation of them.
If you want to separate the endpoints of each service, SVC1, and SVC2 from together, the first option is to put each of them into a dedicated EPG. Then according to the figure above, you may have multiple EPGs that have names exactly the same as application components. Another option is to use Micro-segmentation.
In this design, we have only one VRF named VRF General. That's because we no longer have to use VRF sandwich to deploy the L3 Firewall while the default gateway of services is ACI fabric. In the same way, we also no longer need to use the VLAN stitching pattern to deploy the Layer 2 Firewall while the default gateway of services is ACI fabric. Even as you can see, this firewall is not actually implemented as Layer 2, from the firewall configuration point of view. It's deployed as one-arm L3, But still receives traffic between intra-subnet endpoints (consumer and provider EPGs in the same subnet) and able to enforce the policies. We follow completely different deployment methods in the App-Centric approach. both firewalls and the load balancer are integrated with Cisco ACI and since we define these appliances within Service Graph, there is no need to use L3Out or L2Out unless it requires somehow. But another option that is used along with Service Graph, is Policy-based redirect (PBR). We no longer have to use VLAN stitching and VRF sandwich thanks to PBR, that's because It can change either L2 or L3 destination wherever a contract is enforced. Also using PBR, we don't need to do SNAT on the Load Balancer. ACI Fabric can redirect traffic back to the load balancer if a PBR is configured for that.
If you have more service-related bridge domains other than 'App' and 'Db' in your fabric, It's recommended to create separate bridge domains for each internal and external leg of the L3 firewall.
Important note: The L3 firewall also needs to have an L3Out connection with ACI Fabric for north-south traffics. But there is a limitation here. Prior to ACI 5.2, a PBR policy's destination interface could only be in a bridge domain not in an L3Out. This limitation prevents us to use the same interface on the firewall for both north-south and east-west traffic. In simple terms, we have to separate east-west and north-south firewalls. In this case, you don't have to integrate the L3 north-south only firewall with ACI fabric and can make your design simpler by only having an L3Out connection to the border Leaves. that's exactly what happened and you can see that in the figure above. But this situation has been changed after ACI 5.2 introduced.
Beginning with?Cisco APIC?release 5.2(1), the Layer 4 to Layer 7 services device that is used as a destination of the PBR policy can have the interfaces in an L3Out. This allows us to use the same firewall for both East-West and North-South traffic. Therefore, our design will be in accordance with the figure above.
Conclusion
The Application-Centric approach covers both EPG-BD and deployment of service appliances considerations. this approach is definitely the best choice for large-scale and complex Data Center fabrics. But it needs to be expert on ACI especially the L4-L7 service insertion, and have appropriate and comprehensive information on the architecture of the applications.
???????????????????? ?????????????? ???????????????? | ???????? ?????????? ???????????????? | ?????????????? ???????????????? ?????? ?????????? | ?????????? ?????????????????? ???????????????????? ?????? ????????-????
2 年Congratulations for sharing excellent content.
?????? ???????????????? & ???????????????? ☆ ????????-?????? (???????????????? / ??????????)
3 年Great Share, Thanks for posting Dear Vahid Nazari