Software-defined infrastructure

Software-defined infrastructure (SDI) is the definition of technical infrastructure controlled by computer hardware, that is entirely under the control of software.

It operates independent of any hardware-specific dependencies and is programmatically extensible. Drive for innovation boosts demand for software-defined equipment.

In the SDI approach, an application's infrastructure requirements are defined declaratively (both functional and non-functional requirements). The hardware features enough versatility to control the infrastructure, and the software defines the functionalities, than can be changed by simply replacing the software.

Another approach to software defined systems are software defined equipment (SDE) or software defined apparatus (SDA)

Typical uses of software defined equipment are:


 * Software defined radio
 * Software defined network
 * Software defined television

In embedded design, the role of software defined equipment or apparatus (SDE/SDA) can be defined by using direct firmware update (DFU) by over-the-air (OTA) action.

OTA/DFU is a process where the firmware of an embedded system can be replaced wirelessly and remotely. This feature provides a powerful tool to redefine the use of versatile hardware by simply replacing the firmware (or embedded software).

A possible embodiment of a software defined apparatus is a hardware "black box" with multiple inputs and outputs, whose functionality can be adapted to very different tasks just by replacing the software or firmware without any modification to the hardware.

The benefits of SDI/SDA/SDE is that it lowers/eliminates effort towards infrastructure maintenance, allows companies to move focus to other parts of the software, ensures consistence while also allowing for extensibility, remote deployment through configuration without downtime, and allows you to leverage the power of versioning such as git.

Advanced capabilities enable the transition from one configuration to another without downtime as mentioned before, by automatically calculating the set of state changes between one configuration and another and an automated transition step between each step, thus achieving the complete change in functionality via software.

The benefits of SDI/SDA/SDE are the economy of scale, as a single hardware equipment is used for different jobs just by replacing the software, and flexibility as a single hardware can have multiple uses.