There are a number of disruptions going on that are very interesting to those working in the field of building web-based applications. Whether you are an application developer or a site operator, these disruptions are likely already affecting your world.
Content is getting fatter. Consumers demand content that is customized to who they are, where they are, who they're connected to, their likes and dislikes. At the same time, they want this content to be fast and rich.
Device diversity is proliferating. People are consuming more of this content on the go, on a multitude of devices of different screen sizes over some kind of wireless connection, whether is be on a smartphone, tablet or laptop, over 3G, 4G, LTE or WiFi. I heard on NPR at the start of 2014 that online retailers were reporting that for the first time over half of their holiday transactions occurred on mobile devices.
Applications are moving to the cloud. There is a move away from wholly-owned and operated application infrastructure to applications that are partially or completely hosted in the cloud. Oftentimes, to deliver the kind of personalization demanded, these apps need to integrate services on the network to deliver key parts of their capabilities. Mapping and social network connections are two obvious examples of this.
All of this has a significant effect on how your application gets delivered to your consumers. The existing content delivery infrastructure and approach starts to fragment. The legacy approach to getting your content from the datacenter to the client browser is a composition of discrete appliances, networks, middle-mile services, proxy servers and devices. Control of this is in silos, embedded inside each of these appliances and services, and requires a great deal of human middleware to make decisions about all the necessary policies around caching, network, security, QoS and content.
The problems with this approach are obvious — humans are way too involved. We are prone to make mistakes. We are slow. We sleep too much. There are too many independent control points, which makes holistic control difficult and error-prone. You need to manually worry about diversity and variability — for example, of the spec of the end point — or in some cases, key problems are simply ignored, like the latency and throughput of the access network.
It is next to impossible to deliver a unified SLA on end user experience because it is a patchwork of point solutions.
Application Architecture of the Future
What is necessary is to take this whole delivery system — from the first mile all the way through to the client — and reproduce it in software, into a single, unified system. This must include the endpoint, the last-mile and middle-mile transport, caching and proxying, and key first-mile ADC-type services. This allows us to abstract the value that this delivery system provides from the underlying hardware and networking, and separate the data delivery from control. The operator gets unified end-to-end control and central configuration. The system can be automated through a single set of APIs.
We now have control over both ends of the "pipe" and can control and address the disruptions outlined above, and in turn, do some disruptions of our own.
An end-to-end SLA is now possible. End-to-end security and performance concerns can now be realistically attacked. Taking control of the last mile and attacking the bottlenecks there is now possible. Dealing with deployment diversity in the cloud is now within reach.
And in turn, those that deploy their web applications across a system like this can have distinct competitive advantages over those who do not — much greater control and adaptability, better business agility, and better extensibility and future-proofing.
That looks to me like a disruption in its own right.
Over the coming months we will focus on each of the points of disruption outlined above and discuss in some depth what they mean for web and mobile application delivery. We're expecting an exciting series, so subscribe to our RSS feed and engage in the conversation.