1. Technologies Technologies
  2. IoT
  3. IOx
  • Learn
  • Docs
  • Community
  • Support
iox-docs
  • IOx Overview
    • Introduction to IOx
    • Getting Started
      • Getting started with IOx
      • Phase 1 - Unboxing, Installing, and Connecting the Router
      • Phase 2 - Understanding the Cisco IOS Command Line Interface (CLI)
      • Phase 3 – Configuring Cisco IOS to Enable Access to Cisco IOx
      • Phase 4 – Connecting to Cisco IOx Local Manager
      • Phase 5 – Loading and Running a Pre-Built Sample Cisco IOx Application
    • IOx Architecture
    • Fog Director API documentation
  • IOx Application Developer Guide
    • Concepts
      • Application Development Concepts
      • Application Types
      • Application Networking
      • Package Information
        • Package Descriptor
        • Package Format
        • Package Signature
      • Resource Profiles
    • Quickstart
      • Quickstart Overview
      • Docker Application Quickstart
      • Native Application Quickstart
      • PaaS Application Quickstart
    • Platforms
      • Supported Platforms
      • Platform Information
        • IE 4000-series
        • IR 800-series
        • ISR 4000-series
        • ISR 800-series
        • DevNet Sandbox
        • UCS Platforms
        • CGR 1000 Compute Module
    • Application Development
      • ioxclient Reference
        • Overview
        • Profiles
        • App management
        • App file management
        • App console
        • Service management
        • Platform management
        • Getting CAF Metrics
        • Manage devices
        • Managing logical networks
        • Manage platform log files
        • Manage package signature validation
        • Cartridge management
        • Troubleshooting
        • Messaging service
        • Docker commands
        • Docker Layers
      • Docker Applications
        • Getting Started
        • Docker images and packages repository
        • Demo Apps
          • Overview
          • Python simple app
          • C based simple app
          • Python with C app
          • C++ based simple app
          • Nodejs based http server using Alpine base image
      • LXC Applications
      • PaaS Applications
        • Overview
        • Java Echo Server Example
        • Python REST Example
        • Python Serial Example
      • USB Storage and Serial Device
        • USB Device Usage
        • Sample
      • App Visualization Dashboard
      • Key Value Datastore
      • Data in Motion
      • Troubleshooting
        • Troubleshooting Issues
        • Debugging
    • IOx Service Developer Guide
      • Cisco IOx Services Developer Guide
      • Service Concepts
        • Why Micro Services
        • Overview
        • Core Services
      • Service Development
        • Introduction
        • Service SDK
        • Service Discovery
        • Service Packaging
          • Concepts
          • PaaS Packaging
          • Container Packaging
          • Tutorial
            • Docker Style Packaging
        • Downloads
          • Core Services
          • C SDK
          • Java SDK
      • Protocol Handlers
        • Overview
        • Common Data Models
        • Provisioning Service
        • Reference Implementations
          • Native Style
            • Modbus
            • DNP3
          • PaaS Style
            • Modbus
            • CoAP
      • Service SDK
        • C SDK
          • Service APIs
            • PubSub API
            • RPC API
            • Metrics API
            • Logging API
          • PH APIs
            • Device Models
            • PH API
            • Tuple API
          • Utility APIs
            • Map
            • List
            • Timer
            • JSON
          • Tutorials
            • Hello World Tutorial
              • RPC
              • PubSub
            • PubSub Tutorial
              • Publish
              • Subscribe
            • Metrics Tutorial
              • Service Metrics
            • RPC Tutorial
              • RPC
            • PH Tutorial
              • Simple PH
              • Simple PH Application
        • Java SDK
          • Service SDK
            • Getting Started
            • Step 1 - Create And Register Service
            • Step 2 - Implement Service Operations
            • Step 3 - Define Northbound REST Interface
            • Step 4 - Define Service Config and Package Descriptors
            • Step 5 - Deploy And Test
          • Store And Forward
            • Concepts
            • Supported Destinations
              • MQTT
            • Custom Destination
          • SDK Usage
            • RPC
            • Publish-Subscribe
            • Accessing Environment Variables
            • Defining RAML
            • Error Messages Support
            • Node API
            • Quick Start - Modbus
            • Quick Start - Data Acquisition Application
        • Lua SDK (Work in Progress)
        • Python SDK (Coming Soon)
      • Application Development
        • Messaging
          • Topic APIs
          • Publish
          • Subscribe
        • Metrics
          • Metrics APIs
        • Data Models
          • Provisioning APIs
          • Device Data APIs
          • FAQ
          • Tutorial
        • GPS Service (Alpha)
          • Overview
          • Configuration
          • Tutorial
  • Downloads
  • Frequently Asked Questions (FAQ)
  • Glossary
  • Community

Introduction to IOx

Introduction

IOx is Cisco’s implementation of “Fog Computing”. IOx enables hosting of applications and services developed by Cisco, it’s partners and third party developers in the network edge devices in a seamless fashion across diverse and disparate hardware platforms.

IOx provides a seamless application enablement framework and compute platform across various devices operating at the network edge with the ability to host applications and services, connecting them securely and reliably to applications in the cloud. The term Application enablement covers all life cycle aspects of applications including development, distribution, deployment, hosting, monitoring and management.

High level architecture

Following picture depicts high-level architecture of IOx.

IOx Architecture

Fog Nodes

These are the devices that provides compute and runtime resources for applications.

CAF

Cisco application hosting framework (CAF) is responsible for orchestrating and managing applications on Fog nodes. At a high level, it provides:

  • Application lifecycle management (Install, Start, Stop, Monitor, Uninstall, Upgrade)
  • Resource provisioning and management (cpu, memory, network, storage etc.,)
  • Application monitoring and metrics collection
  • Provides mechanisms for troubleshooting and debugging (Access to application and platform logs, access to application console etc.,)

IOx Middleware services

IOx middleware services provide high-level abstractions and APIs to accelerate the development of IOx applications.

Apps

Apps embody the logic that has to run on a Fog node. IOx supports different application types that cater to wide variety of use cases.

Local Manager

Local manager is the embedded web UI supported by CAF geared towards application lifecycle management for a single node.

Fog Director

Fog Director provides centralized management services to manage all life cycle aspects of applications and services on thousands of fog nodes enabling operations at scale. Fog Director provides centralized management services to manage all life cycle aspects of applications and services on thousands of fog nodes enabling operations at scale.

Fog director also provides uniform north bound RESTful APIs which can be used by client programs to integrate application management into their workflows. The Fog Director RESTful API documentation are available here

Fog director usage and reference guide is available here

IOx SDK

The IOx SDK is a set of tools and software packages used by 3rd party developers to build applications that can be hosted by CAF on Cisco's IOx enabled platforms.

ioxclient

ioxclient is a cross platform command line utility primarily meant for assisting application development for Cisco's IOx platforms. It aims to increase developer productivity by providing easy to use CLIs for all application lifecycle tasks.

Fog Portal

Fog portal is the primary interface for developers to interact with Cisco IOx ecosystem. A single stop portal that provides all the developer resources for the developer to develop, test their application and make them available for deployment via Fog director.

Next