Established by an international team of more than 3000 software application engineers, Cisco IOS XE Software powers more than 160 Cisco enterprise platforms for gain access to, circulation, core, WAN, and wireless– with various kind aspects and combinations of hardware and software. One of the main reasons the software stack can include such a large portfolio of enterprise networking items is due to a common database and database-centric shows design throughout all platforms.
It started with the Cisco 1000 Series Aggregation Solutions Router (ASR 1000) in 2004, where every state upgrade to the data course entered into and out of an in-memory database. Since 2015 and Cisco IOS XE version 16.1.1, much more platforms have been added, due in large part to the software application stack’s combined database functions that work throughout all platforms. From one platform supported by IOS XE to 160 in 6 years is an incredible market run rate.
Here are some of the most helpful and robust database features used throughout all Cisco devices that run Cisco IOS XE.
In-memory Database Power and Capturing Application Intent
Configuration and operational data in IOS XE gadgets are kept in in-memory NoSQL chart databases. In addition to offering atomicity, consistency, isolation, and resilience (ACID) performance, IOS XE supports recognition and default values, reliance management, replication, alerts, memberships, and combination.
Application database intent– including schema, defaults, validation, and chart model– are captured in a Domain Particular Language (DSL) called The Definition Language (TDL) that was developed by Cisco. Utilizing TDL, designers can explain what they want to do, what information they want to model, and the rules for validation. Then the TDL compiler produces database interaction code in the language of choice for the application (e.g., C, Java, Python), as shown in Figure 1. If developers wish to use a new language, they can still use the intent recorded in TDL to generate code.
Figure 1. Utilizing DSL to Record Database User Intent Decoupling intent from implementation code provides remarkable architectural versatility. For IOS XE, the back end is composed in C to provide optimal efficiency. The front end uses an official query system and can be in any language. We use a custom-made compiler with a Model-View-Controller (MVC)-based architecture to carry out the magic of converting intent to front-end APIs.
This approach removes the need for data conversion for customers querying the database. As displayed in Figure 2, applications can natively interact with the database through APIs no matter the language of choice. The database can also read by other applications and/or infrastructure (e.g., Web UI, CLI-based show commands, and other tracking services).
Cisco IOS XE Applications Natively Connect with the Database Runtime Infrastructure for Cisco IOS XE Although the database infrastructure in IOS XE can utilize secondary storage as the database store, most of the applications use in-memory databases that reside in RAM. A transactional engine defines ACID assurances (e.g., a process released by some user needs to ask for modifying the database and signal when it is done modifying it). Failure to finish the process leads to the database being rolled back so it is never in an irregular state.
Figure 3. Runtime Facilities for Cisco IOS XE The raw lookup information structure layer includes the infrastructure for indexing algorithm tables (e.g., hash tables, binary search trees). The chart layer is where user-specific database configurations like table connections, default worths, and recognition enforcement are performed. For instance, a Wireless Lan Controller (WLC) tracks Access Points (AP) and customers connected to it. Customers are connected to the WLC through the AP. This wireless operational state may be designed as AP and client tables, with each record in the AP table linked to a client table. It is very important to note this is the internal state of the application. With IOS XE database runtime, this state can now be combined, exported, replicated for SSO, etcetera, while being performant sufficient to support the high-scale requirements for cordless.
Other Functions Boosted with IOS XE Database Features
- Quick reload– On reload, a relentless, version-aware, binary configuration can be read quicker than any text representation. In the past, refilling software application on Cisco platforms could take up to 7 minutes. With Extended Quick Software Upgrade (xFSU), it takes 30 seconds or less. The hardware is never ever powered off and traffic keeps streaming while the control plane is preserved in an operational state throughout the reload process.
- Stateful Process Reboot– Externalizing an IOS XE device’s configuration and functional state allows stateful restart procedures. By conserving the gadget’s state externally, it can be restarted and will continue where it left off.
- Horizontal Scaling– Consolidation of a device’s functional state allows for the flexible and horizontal scaling of processes based upon changing application traffic patterns. There might be several copies of the same process, each with its own database, however Cisco makes it possible for databases to be combined into a single database, offering an international view, that makes it simpler to generate more procedures horizontally.
- Stateful Switchover (SSO)– Databases on active and standby devices in a high availability configuration are continuously integrated through duplication to keep the standby device in a hot state, able to end up being active in case of a failure. Like stateful process restart, at the gadget level, SSO synchronizes one gadget through replication constantly.
- In-Service Software Upgrade (ISSU)– To ensure that versions of Cisco IOS XE that are running are right across supervisor engines and other devices, databases in Cisco IOS provide per-object versioning support with develop time looking for offenses. This assists guarantee a reliable ISSU. ISSU orchestrates the upgrade on standby and active processors one after the other and then changes in between them in the control aircraft so that there is no efficient downtime and absolutely no traffic loss.
- Monitoring and International Device View– A gadget running IOS XE provide a worldwide view of its complex and differed operations, based on the consolidation of databases, which enables higher real-time insights into setup and operational information. Experts can sign up for specific data sets and request to be alerted when any changes strike monitor the gadget more proactively.
Summary of Database Benefits in Cisco IOS XE
Database features in Cisco IOS XE enable devices to be refilled in seconds, to preserve a state during restart and switchover. Applications can take in database records natively with no translation required. Intent can be gathered and code produced in any development language, guaranteeing resilience to regressions. Databases utilized by each gadget are consolidated into an international view, allowing the horizontal scaling of processes. The system supports variation alter operation with per-object versioning.
It’s all relatively smooth throughout all 160+ Cisco IOS XE gadgets.
Enjoy more current Cisco IOS XE Blogs: