A few years ago, a large Cisco customer needed to send data from a remote device to the cloud. It was the early days of modern edge computing. To deploy new functionality to remote network devices at that time required building an app that could work with an existing device’s OS and sometimes adding a server or PC. Different operating systems on various types and brands of devices were additional complexities and added workload. Today, thanks to container applications and the acceleration of containerization technology, app hosting is lightyears from where it started.
Here’s a look at what the Cisco IOS XE team dedicated to app hosting has created. It’s an entire platform for the development, deployment, and management of apps on Cisco enterprise networking and IoT devices.
Why App Hosting is Taking Off
With a clearer understanding of what’s possible with edge computing, businesses and governments are now looking to utilize analytics to do a variety of things. They can add additional monitoring or configuration capabilities to devices at the network edge, add artificial intelligence and machine learning algorithms, and generate actionable insights for better security, efficiency, and sales opportunities.
Manufacturers can connect machines, transform sensor data, and perform real-time analytics to predict when maintenance is necessary. Mobile network operators can manage their cell tower assets remotely. Municipalities can manage their streets and roadways.
In the past, developers had to add a virtual machine to their system and install software on top of that. They also sometimes had to add hardware to provide new edge functionality. But with containers, developers can today use open-source tools like Docker and LXC to deploy apps on top of IOS XE and host them (and soon manage them using Kubernetes) on Cisco devices. Deploying an app to a Cisco switch or access point is possible with the Cisco’s app hosting infrastructure and isn’t tied to the OS or software stack.
“With this solution we were able to empower our customer to access mission-critical information quickly and reliably. The option to process police vehicle data on the edge and to send it to the existing tracking server was a plus that served critical demands by our customer.”
―Hans Ableiker, Senior Systems Engineer, Swisscom
App Hosting in Action
The app hosting architecture includes these main components:
- The Cisco Application Framework is the hosting framework for any Cisco network device or x86-based compute node. It exposes uniform APIs northbound for orchestration and lifecycle management.
- A microservices framework and out–of–the–box horizontal building blocks for composable application development.
- Cisco DNA Control Center (DNAC) for Enterprise and Cisco Gateway Management Module (GMM) for IoT can be deployed in the data center cloud and provide centralized and large-scale lifecycle management.
- Cisco DevNet Portal for developers provides development SDKs, documentation, forums, and a sandbox environment.
Developers can use the open-source Docker hub (Figure 1), build their own Docker app, package it and install it. Previously, they had to convert apps to the Cisco app hosting package. Now we’ve made it even simpler: Just build a Docker image in a container or child container and deploy it directly to Cisco devices using device controller tools like Cisco Digital Network Architecture (DNA) Center or a CLI.
This solution for app hosting leverages developer familiarity with the Docker tool chain. It’s easy to integrate app hosting deployment with the enterprise DevOps process.
“Cisco’s edge computing infrastructure enables us to deliver solutions that dramatically improve efficiency for key clients in the utility sector. We integrate traditional [Supervisory control and data acquisition] SCADA features with innovative new functionality in gateway applications that run on the edge and can be managed from the cloud. Our customers are able to replace bulky legacy equipment that required truck rolls to update, which will save them millions.” ― Radu Vasile, Director, Strategic Development, Eximprod Grup
Built-in Support for Multiple Popular Apps
Cisco app hosting supports multiple Cisco and third-party applications. These include the Cisco Cyber Vision industrial visibility and security solution, Cisco Edge Intelligence that simplifies getting enterprise data to the right applications at the right time, Cisco Unified Threat Defense, and Cisco ThousandEyes which provides visibility and assurance of Cisco Catalyst 8000 and 9000 Series switches across enterprise network, application, routing and device layers. Cisco Meraki MS390 switches also use the Cisco app hosting framework.
Cisco IOS XE developers recently added a browser bot to Cisco ThousandEyes that records and can play back all the clicks made by users. Errors can be played back to see where and when they were made to correct any part of the development, deployment, or management process.
App hosting on network devices is in demand. Also in demand are developers to help us provide more functions and features. With numerous open requirements on the IOS XE team, don’t be shy! Spread the word to your colleagues that we’re actively hiring developers who are looking for rewarding, challenging projects. Come hone your C/C++/ Python and Go programming skills and get virtualization and containerization experience developing cloud-based solutions.
Would you like to work on game-changing technology? Do you desire to join high-performing teams? We are always open for great talent. Find out more about our openings for professionals and new graduates.
Read other recent blogs on “Cisco IOS XE – Past, Present, and Future,” “How IOS XE Developers at Cisco Work Remotely and Cohesively on a 190-million-line Code Base,” and “Unlock the Potential of App Hosting on Catalyst Access Points.”
Check out our Cisco Networking video channel