Infrastructure is changing quickly.  Specifically, it’s being virtualized like everything else historically done only in hardware.  “Software-defined” is one of the biggest infrastructure trends, not just for compute, but also storage and networks.  

Developers should know something about these concepts so they understand the environment in which their applications will run.  Being familiar with these terms will also help avoid confusion when talking to IT Operations.

Following are some of the popular terms.  

Composable infrastructure –  allows an individual to “compose” infrastructure via an API so it conforms to requirements.  Developers could compose their own application-specific infrastructure to suit mobile or IoT development, for example.  Composable infrastructure pools compute, network and storage resources and makes them available as services regardless of whether the resources are physical or virtual.  Because composable infrastructure is software-defined, it can be rapidly configured, saving days, weeks or even months of time that would otherwise have been spent waiting for resources.  The flexibility, fast configuration, and scale-up/scale-down capabilities help organizations deliver modern, high-quality applications faster, consistent with and further enabling DevOps, Continuous Integration, and Continuous Delivery.  Composable infrastructures are also being used to optimize the performance and ROI of data centers.  

Converged infrastructure – provides a turnkey hardware, storage, network and virtual machine solution in a single chassis that has already been configured and tested, which means IT doesn’t have to do it.  It just works “out of the box.”

Hyperconverged infrastructure – builds upon the converged infrastructure idea, adding more software components to it, such as backup.  Hyperconverged infrastructure is software-defined, so it provides greater flexibility than converged infrastructure.  For example, instead of being limited to local storage, hyperconverged infrastructure can created a unified pool of local and external storage.

Immutable infrastructure – that which is replaced instead of changed.  The benefit of immutable architecture is stability, because changes are implemented through replacement.  The replacement can be tested and proven prior to the switch, which compares to making changes to live equipment that may result in unforeseen consequences.  Another benefit is security.  Given the number of vulnerabilities in ever-more complex software stacks, immutable infrastructure provides an elegant way to replace software with known bugs or vulnerabilities with patched software.  

Network Functions Virtualization (NFV) – virtualizes network functions, decoupling functionality from the underlying hardware such as caching, directory name service (DNS), firewalls, intrusion detection, etc.  Multiple functions can be chained together to create a service. Similarly, multiple services can be chained together to provide more complex services.

Software-defined Access Network (SDAN) – provides virtual access network control and management functions.  Broadband service providers such as AT&T use SDANs to accelerate the provisioning of services, improve operations and compete more effectively.

Software-Defined Data Center (SDDC) – virtualized data center infrastructure that is made available as a service.  While virtual machines have been used in data centers for some time, software-defined data centers take virtualization to the next level by making the entire environment software-defined.  They provide better ROI than traditional data centers because, like virtual machines, they optimize the use of resources, providing better equipment ROI.  Also, because the management of SDDCs is automated in software, it reduces the need for data-center related headcount. Further, not all organizations are moving to the cloud at the same speed.  Although some modern businesses were born in the cloud, older organizations may be keeping data in their own data center for security purposes or adopting a partial (hybrid) cloud strategy.  SDDCs make sense for both.

Software-defined network (SDN) –an umbrella term for specific types of software-defined networks that include access networks (SDANs) wide-area networks (SD-WANs) and data centers (SDDCs).  They allow administrators to change, initialize, or manage network behavior, via a software interface.  SDNs are becoming increasingly critical for enterprises that have to keep pace with the accelerating pace of business.  While there’s still hardware somewhere underneath the software-defined layer, the layer itself provides greater flexibility and agility than can be achieved with physical equipment alone.