Tag Archives: written

CCIE Emerging Technologies – SDN APIs

CCIE Emerging Technologies

What is the glue that allows the Software Defined Networking (SDN) architecture to function so well? That communication process between the Control and Data planes? It is the Application Programming Interface or API.

What is a classic example of an API in the SDN world? The answer is OpenFlow.  Recall from other discussions here at AJSNETWORKING that the OpenFlow specification defines both a protocol between the control and data planes and an API by which the control plane can invoke the OpenFlow protocol.

 APIs are implemented by writing function calls in the program. This provides the linkage to the required subroutine for execution. An open or standardized API can ensure the portability of the application code and the vendor independence of the called service.

SDN controllers can be implemented directly on a server or on a virtual server. OpenFlow or some other open API is used to control the switches in the data plane. In addition, controllers use information about capacity and demand obtained from the networking equipment through which the traffic flows.

SDN controllers also expose northbound APIs. As we have discussed here at the blog, this allows developers and their network engineers to deploy a wide range of off-the-shelf and custom-built network applications. Obviously, many of these applications were never before possible before SDN.

As yet there is no standardized northbound API nor a consensus on an open northbound API. A number of vendors offer a REpresentational State Transfer (REST)-based API to provide a programmable interface to their SDN controller.

Also envisioned but not yet defined are horizontal APIs (east/westbound), which would enable communication and cooperation among groups or federations of controllers to synchronize state for high availability.

At the application plane are a variety of applications that interact with SDN controllers. SDN applications are programs that may use an abstract view of the network for their decision-making goals. These applications convey their network requirements and desired network behavior to the SDN controller via a northbound API. Examples of applications are energy-efficient networking, security monitoring, access control, and network management.

Want more information – check out the excellent – Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud

CCIE Evolving Technologies – OpenStack Components

Enjoy this latest installment of free training on the Evolving Technologies section of every CCIE written exam!

CCIE Evolving Technologies

OpenStack Overview

OpenStack is open source software that is designed to control your public or private cloud environment. The idea behind it is to relatively easily automate and manage your compute, network, storage , and security resources in a virtualized environment.

OpenStack runs on many of the Linux distributions. It is built of components for controlling the various aspects of your cloud. As you can see from our topic, these components and their purpose if the main point of this section of your evolving technologies blueprint.

OpenStack Components

Some of the main ideas behind OpenStack are the ability to add new capabilities through components and to use open standards. Here are some of the components currently in existence:

  • Nova – This component is to host, provision, and manage virtual machines. This is the compute component of the OpenStack solution. It functions with all kinds of hypervisors like EXSi and Hyper-V to orchestrate various hypervisors seamlessly using APIs.
  • Neutron – This component provides an API to dynamically request virtual networks. While the primary focus is on Layer 2, extensions exist to provide many other services. You can equate this component to roughly that of the Nexus 1000V.
  • Swift – This component provides a REST-based API to provide a distributed object storage system. This is very useful for backups and the storage of unstructured data.
  • Cinder – This component is all about providing block storage. The most common scenario it to provide storage to virtual machines. The actual physical storage might be provided thanks to iSCSI, NFS, or Fibre Channel.
  • Horizon – this is the GUI dashboard element for controlling other components.
  • Heat – this is the OpenStack orchestration program. The idea here is to be able to control the entire lifecycle of infrastructure and applications through text-based templates.
  • Ironic – This is the OpenStack component that provides Bare Metal Services, this enable users to manage and provision physical machines.

Cisco Integration

How might Cisco integrate with something like OpenStack? One example is how Cisco developed an open source plug-in for OpenStack Neutron that allows OpenStack tenants to transparently configure and manage a network based on Cisco ACI.

Cisco CCIE Lab Builder