Sashkin - Fotolia
Software-defined technologies have made enormous strides in recent years, buoyed by the stunning success of server virtualization, which we could easily call "software-defined servers." Today, software-defined technologies have expanded beyond servers in the data center to embrace networking and storage.
What can be "software-defined"? How far do these technologies really go in today's data center?
Software-defined networking (SDN) is a means of rethinking the way that traffic is handled. In traditional physical network devices, the switch hardware can often be visualized as a two-layer system which includes a control plane that decides how traffic is switched, along with a data plane that actually switches and forwards the network traffic to the correct port. Hardware switches are certainly fast and efficient, but setting configurations on individual switches is time-consuming and error-prone, leading to inflexible networks -- which can be inefficient as workloads and traffic types change.
Designers realized that it was possible to separate the control plane from the data plane, allowing development of a single ubiquitous control plane that could optimize traffic behavior across the greater network (all switches in the network) while also allowing the data planes of the individual switches to continue handling the local -- just using rule sets provided by the abstracted control plane. In effect, SDN allows the creation of programmable, centrally managed networks using a common protocol, like OpenFlow, to communicate between the control and data planes.
A different approach to network virtualization is the recent introduction of network functions virtualization (NFV) such as VMware's NSX software platform. NFV uses virtualization to create virtual appliances such as load balancers, firewalls, intrusion detection and network accelerators on existing servers instead of deploying dedicated hardware-based network appliances. Each virtual appliance can be logically interconnected to work together in order to provide any mix of network services which will continue to operate through underlying physical switches, routers and other network hardware devices. It's important to note that SDN and NFV are not competing technologies and can coexist in the same enterprise.
A second popular expression of software-defined computing is software-defined storage (SDS), which virtualizes the available storage from the underlying disks or disk arrays and allows rapid storage provisioning and management from the common storage pool. The SDS software may include a policy engine, along with high-level storage features like thin provisioning, snapshots, deduplication and other storage capabilities. SDS can be deployed as a software-only framework, but it may also exist as embedded capabilities of intelligent storage arrays, so it's important to investigate the way that SDS is implemented in the enterprise.
Eventually, software-defined technology promises to expand its reach into all aspects of the data center, allowing the virtualization, pooling and automation of all data center resources including storage, compute, network, security and so on -- it embraces server virtualization, SDN/NFV and SDS and other IT services. The result is dubbed a software-defined data center (SDDC), and its ultimate goal is to provide all of the data center's resources and services as a single overarching service (sometimes called IT as a service or ITaaS ). SDDC development is still in its infancy, and may evolve in any number of permutations before reaching general acceptance in the industry.
Why software-defined networking is becoming a reality
Software-defined storage might not be so radical after all
Dive into the different software-defined options
What separates software-defined technology from the rest?
Dig Deeper on Improving server management with virtualization
Related Q&A from Stephen J. Bigelow
Learn how load balancing in the cloud differs from a traditional network traffic distribution, and explore services available from AWS, Google and ... Continue Reading
Access management is critical to securing the cloud. Understand the differences between AWS IAM roles and users to properly restrict access to AWS ... Continue Reading
Containers have rapidly come into focus as a popular option for deploying applications, but they have limitations and are fundamentally different ... Continue Reading