One of the most significant technology developments in recent years is actually not a technology, but rather a concept in development or so we think. Many so called "software defined" technologies claim to exist, but these are either partially deployed, vendor specific or poorly understood. What is software defined? Software defined is simply vendor or technology specific configuration, that is configured automatically at run time but which is limited to that particular technology. Software defined computing takes this a step further, it is total end to end configuration of multiple technologies and multiple configurations, configuring the path and the containers for the hosted application to run in. It is in essence virtual reality infrastructure for your applications.
The benefits of software defined computing has greater significance for the future than virtualization has ever had in the past or the present. Unfortunately virtualization, although well adopted and which comes with significant benefits, has simply become a new location to store old and poorly crafted applications. It does not solve some key complexity challenges like automated deployment, time to deploy or proactive performance management. Virtualization whether on premise or a service provider does not solve application challenges, let alone, when your application is multi-tiered, multi-instance and geographically dispersed. In fact it actually complicates it.
The efficiency by a service provider in 'automating a virtual machine' should never be a decision vector for choosing a cloud provider as your new home for your critical application/s.
Welcome a new generation of software defined capabilities, game changing fabrics that allows solution architects with next generation tools to focus on designing efficient customer applications that operate within well defined layers of abstraction. The distinction between hardware, software, virtualization, application code and any supporting infrastructure is blurred. It does not exist as limiting boundaries.
Virtualization and now Containerization are simply resources use by true software defined fabrics, they are just pieces of the business application puzzle and not the end state. True software defined computing must cater for automatic manipulation of these resources with correct sequencing to deploy these in a matter of minutes, ready to use and ready for consume.
There exists no fundamental boundary between these elements that make up your application, all exist as resources whether storage, compute, networking or code within this virtual reality. Like the elusive puzzle with essential pieces, an infrastructure solution architect can now choose and piece together all of the associated elements both, physical and logical into a deployable set of instructions.
Gone are the days in managing the "unknown". This is the state of most business applications for most customers today. With its myriad of complexity, components and geographic dispersement, The true state of application efficiency is never known. The efficient configuration of hardware or hypervisors does not equate to efficient running of applications. An unknown state of any of the elements that support your application will result in a reactive responses to performance and availability.
True software defined computing removes these "unknown" states by having only 1 virtual reality for your application. all exists within that well managed ecosystem with insights into each layer. Every resource is fail safe, every tier load balanced. Even data protection is a resource.