This guide is an opinionated tentative to synthesize Cisco APIs for developers & network engineers with little to no knowledge of Cisco hardware, software and solutions. Started as a tribute to my "First Days Party" at Cisco Live Berlin Feb 15-19th 2016. Contributors welcome, CC BY 4.0 license.
- New to Cisco APIs
- Collaboration
- Data & Analytics
- DevOps, Software Tools & Automation
- IoT
- Private & Hybrid Cloud
- Programmable networks
You should definitely start with the DevNet portal, the one-stop for all development related activities with/to/from/above Cisco technologies.
Take a few minutes to create your account, it's really worth it :
- DevNet: umbrella to technical resources about IoT, Cloud Offerings, Progrommable Networks, Private & Hybrid cloud automation, Collaboration, BigData & Analytics, DevOps, DevOps, Microservices, Security
- Learning labs : step by step walkthroughs for ITPros & developers, featuring live environments to interact with Cisco programmable products
- Programming foundation : learn REST principles and how to call them via a User Interface, from the command line, or from code
- Sandbox: provision various CISCO hardware and network topologies and experiment Live APIs. Environments are provisionned for your own use from 3 hours to 7 days. APIC-EM , Cisco Open SDN Controller , Jabber , Webex , Intercloud Fabric...
- DevNet Labs : showcase of software projects built out of Cisco APIs and open technologies contributed by Cisco
Since 2009, Tropo provides Cloud Services to integrate SMS & Calls into your apps, both ways : your app can interact with incoming calls AND place outgoing calls, your app can send SMS messages AND take action at incoming messages. Worldwide availability, phone numbers in 42 countries, Text To Speech (TTS) for 80 languages and Speech Recognition (ASR), high scalability with data center facilities in the US, coming to Europe by June 2016. Groovy/Javascript/PHP/Python/Ruby scripts can also be deployed to the Hosting platform so that your custom SMS & Calls codes get backed 24x7 by Tropo Operations Teams.
- Tropo APIs : scripting, Web API & REST API documentation
- Github Samples
- DevNet Learning Lab : learn to deploy scripts on the Tropo platform
- Pricing
- Twitter @Tropo
Cisco Spark is the all-in-one Cloud Collaboration platform for the extended enterprise. In short, Cisco Spark is a multi-client platform (Phone, Mac, Windows apps), backed by Cloud Collaboration Services (persistent chat rooms, WebRTC video conferencing), enabling 1-1, 1-few, 1-many communication. Cisco Spark can be used for short-live meeting rooms, but also long-live collaborative workspaces, opened to internal co-workers, but also partners and external communities.
The overall Cisco Spark platform can be managed via REST APIs : easily bring messaging capabilities to your apps or create Spark rooms on the fly to address real-world/business needs.
- Spark APIs: REST APIs interactive documentation
- Spark for developers: the DevNet umbrella for all Spark related contents for developers
- Learning labs: Rooms and messages, Authentication, WebHooks
- Spark support room: get instant answers about Spark to speed up your devs, /join #spark4devs
- Twitter @CiscoSparkDev
- WebEx APIs
- DevNet Sandbox : explore Cisco WebEx API capabilities and start developing your proof-of-concept solution
- WebEx Developer Program
Instant Connect is a push-to-talk (PTT) communication product for Android devices & Cisco Wireless IP Phones: create instant group and private audio connectivity and collaboration, while saving money compared to carrier-based PTT services.
- DevNet Central
- API documentation : WebServices and REST API Cisco IP Interoperability and Collaboration System (IPICS) release 4.6(x) application programming interface (API)
Digitalization & IoT are challenging when it comes to data: how to store, gather, analyse, act on data. Cisco provides solutions for the emerging strategies: process data straight on the device or app, at the network edge, via an all-in-one enterprise solution and/or via a Big Data platform, which can sit either on-premises or as a as a Cloud service (Zeus).
Orchestrate the generation and collection of telemetry data inside a network, and process streaming analytics. Strategy here is to bring the analytics processing of close as possible to the Data.
The platform is model-driven, open and modular, and comes with 2 components. On top of a network controller (APIC-EM or OpenDayLight), the Analytics controller expands a YANG-based Analytics model, deploys the configuration to the agents, then collects data and correlates among agents. Analytics Agents reside on the devices, as linux containerized apps, collect data and embedd the Connected Streaming Analytics (CSA) software to ensure local data processing.
Cisco Information Server (CIS) forms the core of the Cisco Data Virtualization Platform.
At build time, the development environment helps create views and data services from multiple datasource with transformation functions. Standard adapters and automated code generators are leveraged. At run time, the query engine accesses, federates, abstracts and delivers data to business applications.
- Product Portal: Jan 2016 announcement
- Tool in action
- DevNet Central
- DevNet Sandbox
PaNDA is a networks analytics platform for both raw-operational and business-consolidation metrics, designed to scale up to consume millions of messages per second.
The platform is based on open source technologies centered on Apache Hadoop and Kafka, main processing workhorses are Apache Spark and Spark Streaming. Ingested data are to be encapsulated in an Avro schema and published on pre-defined Kafka topics.
- Cisco PaNDA
- DevNet Portal
- Data preparation
- UseCases : Network Service Assurance, IoT
- DevNet Learning lab
Zeus is a Cloud-based Logging and Monitoring Service. Use the Zeus API or standard agents (such as fluent, syslog, logstash, collectd, statsd) to push your logs and metrics to Zeus. Interactively visualize, search or analyze your data, or query / aggregate via the Zeus API.
- Zeus Portal : request access to the beta
- Github Repo : python , ruby, java and go clients
- API Documentation : Swagger UI
- Getting started guide
- [Zeus Blog](http://blogs.ciscozeus.io/
Cisco Networking operating systems, operating on millions of active systems, ranging from the small home office router to the core systems of the world's largest service provider networks.
- Product Portal
- IOS capabilities: IPv6, IP Multicast, IP Routing, IP Mobility, Instrumentation, MPLS, Security, High Availability, QoS, VPN
- Product Portal; Modular and fully distributed network operating system for service providers
- Realtime Monitoring @DevNet
- Product Portal: Supports next-generation platforms, Runs as a single daemon within a modern Linux operating system
IOx brings together Cisco IOS and Linux, giving the opportunity to deploy Linux applications on edge IOS network devices. Use cases: create IoT applications such as data aggregation, control systems, access control and have them run on the edge.
Network operating system for the Nexus-series and MDS-series Ethernet switches.
- Product Portal
- Open NX-OS: software suite that exposes APIs, data models, and programmatic constructs, introduced from NX-OS release 7.
Shipped is a CI and CD platform, built on top of best of breed technologies and opensource projects : Docker, Vagrant, Drone (a Continuous Delivery platform built on Docker, written in Go) and MANTL.
Shipped can deploy your code on any MANTL capable platforms: either run by Cisco Cloud or in your own datacenter.
- Shipped Portal
- DevNet Zone
- Documentation
- Walkthroughs : setup a project, build, deploy
MANTL reached version 1.0 in February 2016.
- MANTL : a microservices framework on top of openstack
The NeXt javascript framework presents network topologies via user friendly Web interactions. NeXt can display large and complex network topologies, aggregated network nodes, traffic/path/tunnel/group visualizations and includes several layout algorithms, map overlays, and preset user friendly interactions.
- NeXt Portal
- OpenDayLight Project Page : NeXt can work together with the OpenDayLight User Interface - DLUX
Triangulate device location using wifi, and track location via device's mac address.
- DevNet CMX Mobility Services
- Use Cases: coupons, promotions, push notifications
Over the next 7-10 years the number of smart objects will grow to be over 50 billion. To overcome the expected deluge of data, Data in Motion (DMo) is a piece of software that provides data management and first-order analysis at the edge (ie, on the network components the IoT devices are attached to). By distributing and optimizing the processing and storage of data on the edge, DMO ensure yours apps can manage flows of Data at scale.
As of March 2016, Data in Motion is supported on Cisco UCS C-series and E-series
- DevNet Data In Motion Central
- Big Picture
- REST API : restful-api with WebDAV extensions to manage
- Reference guide
- Uses cases:
- Energy Utility Companies Process: 1.1 BILLION Data Points (.5TB) per Day
- A Large Offshore Field Produces: 0.75TB of Data Weekly
- An Airplane: 10TB of Data for Every 30 Minutes of Flight
The Jasper IoT service platform - Control Center - automates IoT services across connected devices. The platform helps - more than 3500 enterprises - launch, manage, and monetize IoT services worldwide, thanks to Jasper production-ready partnerships with 27 Mobile operators.
Cisco Metapod is a production-ready private cloud infrastructure based on OpenStack. Metapod is custom-engineered, deployed, and remotely operated 24x7x365 by Cisco. Cisco provides platform and security updates, operates the platform with 99.99% SLA guarantees and supports enterprise capacity planning requirements.
- Cisco Metapod
- DevNet Metapod Center
- API compatibility: 100% API coverage for computing and storage, OpenStack APIs, AWS compatible APIs for core services, Native API support to automation and tooling platforms (Chef, Puppet, Salt, Ansible, Fog, libcloud, jclouds...) and many more)
OpenStack is a large open source software project that provides a platform for creating, operating, and consuming public and private clouds. OpenStack abstracts key elements of a datacenter - compute, storage, and networking resources, into pools of resource accessible by a unified API. As a OpenStack cloud tenant or a cloud application, you can use these APIs to provision these resources within the limits set by the administrator.
- OpenStack at Cisco: Cisco’s technical and operational involvement with OpenStack
- OpenStack on your laptop: self-paced lab to install and start using OpenStack within a virtual machine (VM)
CliQr CloudCenter is a platform to model, deploy and manage the entire lifecycle of applications onto 15 public (Amazon Web Services, Google Compute Platform, Microsoft Azure, Rackspace, IBM, NTT...) and private cloud environments (VMWare, OpenStack, Cisco UCS director...)
- Morpheus (Cisco partner): Cloud Application Management and Orchestration Platform, infrastructure agnostic (On-premises Openstack, Cisco Metapod, Amazon AWS, Microsoft Azure)
The CloudFoundry PaaS - installed onto Cisco Metapod private cloud infrastructure - enables enterprises to rapidly deploy new applications using any language/runtime and leveraging various backing services.
- Peder Ulander: Cisco’s VP of Cloud and Managed Services
Since March 2016, the umbrella terminology is Cisco DNA (Digital Network Architecture).
- DevNet Networking Portal: all about Cisco network programming for developers network engineers
-
RESTCONF : HTTP-based protocol, which provides REST-like APIs to manipulate YANG modeled data and invoke YANG modeled RPCs, using XML or JSON as payload format
-
NETCONF : XML-based RPC protocol, which provides abilities for client to invoke YANG- modeled RPCs, receive notifications and to read, modify and manipulate YANG modeled data.
OpenDaylight aims to make interoperable and programmable networks a reality, by delivering the benefits of Software Defined Networks (SDN) and Network Functions Virtualization (NFV) to networks of any size and scale. Use cases include Automated / Agile / OnDemand Service Delivery and Dynamic Network Resources Optimization.
How ? with SDN, you can achieve network programmability and abstraction, but then comes the question of managing it. Via common API frameworks, OpenDayLight helps create abstractions North or South of the controller without having to look under the hood. Several intent and policy approaches to do this include ALTO, Group Based Policy and Network Intent Composition.
Architecture: OpenDayLight employs a model-driven approach to describe the network, the functions to be performed on it and the resulting state or status achieved.
- by sharing YANG data structures in a common data store and messaging infrastructure, OpenDaylight allows for fine-grained services to be created then combined together to solve more complex problems,
- by loading in the Model Driven Service Abstraction Layer (MD-SAL) of the network controller, Services can be configured and chained together to match fluctuating needs,
Network programmability: OpenDayLight includes support OpenFlow and OpenFlow extensions such as Table Type Patterns (TTP), as well as traditional protocols including NETCONF, BGP/PCEP and CAPWAP. Additionally, OpenDayLight interfaces with OpenStack and Open vSwitch.
Security: the platform provides a framework for Authentication, Authorization and Accounting (AAA), as well as automatic discovery and securing of network devices and controllers.
- OpenDayLight Developer Guide: corresponds to the Beryllium release of OpenDayLight, Feburary 2016