Software-defined application delivery

Software-defined Application Delivery (SDAD) is a nascent approach to web application delivery that decoupling the hardware and network from the software used to deliver web applications.
Using a network layer of a traditional content delivery network as a base, software-defined application delivery is a unified approach to delivering web content, by adding a distributed software layer, a control layer and a client to optimize performance.
Software-defined application delivery takes a massive, globally distributed system of servers, proxies, caches, transports, clients and unifies control under a single software system. Designed to solve modern content delivery problems, software-defined application delivery is a method to move web content from one edge of the internet to the other, pushing it down the access network and executing it on the client (browser). It controls the whole system (end-to-end) by recreating the whole system in software and then adding a control layer through which management can be delegated.
The controller software or the control layer that enables a SDAD system provides policy management and orchestration of feature options like streaming HTML and CSS, deduplication, transcoding, re-sizing images and caching.
The inventors and vendors of these systems claim that this approach is more efficient than traditional content delivery networks and other approaches to web application delivery, providing greater operational control and extensibility, better business agility and more powerful automation. The software that is driven by SDAD is typically delivered as a service and is expected to supplant content delivery networks over time.
How it Functions
SDAD relies on the virtualization of the web browser to provide on-the-fly control of application components that can be orchestrated in a holistic, end-to-end manner, instead of FEO and other source code rewriting based techniques.
This could be important for personalized applications where application content is specific to the end user and is programmatically determined at run-time.
A typical system that follows a Software-defined Application Delivery approach has four main components:
* Orchestrator: This is a cloud based software controller that manages the control plane for application delivery. This controller manages policy, catalog configurations and applies service features.
* Distributed Software : The cloud component of service features are delivered via a distributed software system. Each service feature is implemented as a combination of client-side and cloud-side software. The cloud side software is implemented as an extensible set of ‘processors’ that handle specific services.
* Virtualization Layer : A Javascript virtualization layer is injected at run-time into the website content as it goes through the service. The client side component of each service feature is implemented as an extensible set of ‘handlers’ that plug into the layer and manage specific services.
* Global Network : Strategically placed global network of points of presence (PoPs) host service features, pre-position content and provide transport acceleration. This virtual network includes transport redundancy and high availability design to insure scalable performance.
Purpose and Advantages
The Software-defined Application Delivery approach claims to provide improvements over traditional web application delivery solutions:
* Performance : By parsing and delivering web content on a prioritized basis, delivering faster web application performance especially across wireless access networks (3G/4G/WiFi), without comprising quality of images in the interest of incremental speed improvements.
* Control and Extensibility : By enabling on-the-fly tweaking of applications and resources and providing software-driven services through an API based platform, businesses that rely on web performance can tune the performance of their web applications with fine-grained control.
Reliability and Security
Typical web application delivery systems powered by a software-defined application delivery approach are powered by a cloud-computing infrastructure that gets more reliable as multiple redundant sites are added to the system.
Security measures built into a system include web application firewall and protection from distributed denial-of-service attacks.
Limitations
* Currently the approach does not support the same fine grain control for video assets or large binary file distribution. Video content and large binary files can be served, at the same performance of traditional CDNs, but intelligent and prioritized streaming does not have an impact on them.
* Added complexity of the system leads to additional server loads.
* Being a very new approach, there are few real-world implementations and fewer vendors that provide this service.
Further Reading
* Software Defined Infrastructure
* Software as a service
* Cloud Computing
* Software-defined data center
* Software-defined networking
 
< Prev   Next >