Many web applications serve a geographically distributed user base. Site operators often utilize content delivery network (CDN) services to address performance issues that result from a globally dispersed set of users. As adoption of CDNs has increased users consistently cite challenges that are a consequence of CDN architecture. Foremost among these are:
Flexibility: Applications and content are increasingly dynamic, requiring updates on short notice and in real time. The business models and commercial terms imposed by CDN vendors can present barriers to rapid content changes and deployment of new or upgraded applications. When combined with the physical constraints of manipulating content on an infrastructure that is not under direct control, application owners often do not achieve the agility that meets the demands of their industry.
Security: To deliver content securely a CDN provider needs copies of the relevant SSL certificates stored on their SSL caching servers throughout their infrastructure, or you would have to use shared SSL certificates. Divulging this SSL information exposes your confidential data to external vulnerabilities and threats.
Ease of Management: Requirements can expand beyond the control of a single CDN provider forcing the deployment of a more costly and complex multi-vendor solution to achieve required geographic reach. As a result SLAs are needed with all these CDN providers to deliver the service levels required. However, CDNs have different business models, SLAs and pricing, making management complicated and time-consuming.
Scalability: Limited or non-existent programmatic access can limit a CDN’s ability to scale on demand and to manage the application layer that results in higher development costs. In some cases lack of programmability results in an inability to support particular applications.
Where you can go today...
The proliferation of cloud computing and the increasing sophistication of application delivery controllers (ADCs) has brought into focus new approaches to address the limitations of CDNs. Riverbed has leveraged both technologies to create a platform called the Content Delivery Cloud (CDC).
The nucleus of the CDC is Riverbed’s Stingray Traffic Manager. In addition to balancing workloads for applications and services, Stingray controls and optimizes services by inspecting, transforming, prioritizing and routing traffic. The software form factor of the product allows it to be deployed quickly in virtualized and cloud environments.
A CDC is built out starting with a Stingray cluster at the location where the application resides. Acting as a reverse proxy, Stingray terminates requests from end users and load balances traffic over optimized connections to the application. The strain placed on application infrastructure is reduced via networklevel buffering, protocol optimizations, dynamic compression and caching. The result is reduced latency, increased capacity & availability and enhanced service levels. Stingray deployment requires no change to the application so these benefits are achieved quickly and painlessly.
To expand on this architecture two advanced features of stingray come into play:
Content Caching: With this feature enabled Stingray stores data that has been requested in its local cache. Subsequent requests for the same data can be served directly from the cache, reducing the response time and reducing the load on the application servers.
Global Load Balancing (GLB): A service endpoint or URL can resolve to multiple locations. With GLB configured Stingray will route requests to the closest location, reducing the latency that may otherwise be incurred when the request is routed to the origin location and the response is sent from the origin location to the end user.
Now additional Stingray Traffic Managers can be deployed at one or more edge locations closer to end users. After GLB routes a request to the best available edge location, Stingray determines if the requested resource is available in its local content cache. If the resource is not available locally, or is dynamic, the edge Traffic Manager requests it from the origin site and stores static objects for subsequent requests. The CDC can grow and shrink as required. As demand increases, a new edge location can be quickly deployed. Similarly, an edge location can be removed as traffic levels decrease, without impacting the ability to deliver the service.
The geographical reach that cloud providers deliver means an application owner can build out a CDC for a fraction of the cost of similar CDN services. Combined with tangible improvements in flexibility, control, security and scalability, the choice becomes clear.
Riverbed has partnered with leading cloud service provider, Joyent, to make deployment even more straightforward. Their points of presence and the ability to deploy Stingray directly from the Joyent self-service portal allow a complete CDC infrastructure to be built in just hours.