Cloud Computing
Cloud computing is a service provided by major cloud players such as google, Amazon and Microsoft that enable users and businesses to access and use computer infrastructure such as servers and networks on a pay as use model.
It offers quick, on-demand network access to a shared, flexible resource pool. With little effort or contact needed from the user or service provider, these resources may be delivered and removed quickly and simply.
In addition, the “cloud computing” can also be defined as an application category as well as a platform. The dynamic allocation, setup, and removal of servers according to demand are all parts of the platform components of cloud computing.
These servers come in both physical and virtual forms. Additional computer resources including storage area networks (SANs), network hardware, firewalls, and security tools are also included in more complex cloud settings. On the other hand, cloud computing also describes software that is made available online.
Large data centres and strong servers that support web-based services and applications host these applications. Anyone may use these cloud apps for web content if they have a reliable Internet connection and a basic web browser.
The explosive growth of web traffic has affected the efficient delivery of contents forcing it to become a major concern. Due to the huge data and usage of web servers, servers are becoming overwhelmed with the increasing number of users and escalating volume and size of contents.
This has a great impact on web service providers and organizations relying on the web. Content delivery network is an effective approach to alleviate the congestion on network and servers to improve the response to end-users. It optimizes the content delivery by replicating the contents on surrogate servers placed at the edge of Internet.
Apart from increasing web traffic, flash crowd is a new congestion phenomenon on the Internet. Flash crowd, different from Internet congestion, suddenly causes heavy workload towards particular websites. Hence, it becomes crucial to maintain web performance in such unpredictable situations.
Furthermore, streaming media contents are steadily becoming an increasing fraction of the contents transmitted on the Internet. These contents demand for higher bandwidth and consistency.
Various techniques for improving web performance
Due to tremendous increase in web content delivery especially video streaming and any form of the media objects, web contents accessibility becomes very critical for web users.
The volume of web traffic is increasing continuously which results to increase in response time and increase latency. In order to improve the web access, there are various techniques used to improve the web performance.
- Minimizing HTTP requests
Most of this time is tied up in downloading all the components such as images, style sheets, Flash, etc in the page. Minimizing the number of components in turn reduces the number of HTTP requests required. This practice makes pages to display faster. i) combining files such JavaScript files and CSS files into single file respectively can reduce the number of HTTP requests; ii) combining multiple images into single image however the total size is the same but minimizing the number of HTTP request.
- Reduce Domain Name System (DNS) lookups
DNS lookups take a meaningful amount of time to look up the IP address for a host. The browser can do anything if and only if the lookup is complete. Decreasing the number of unique hostnames may increase response times.
- Load balancing
Load balancing aims to optimize increase throughput, decrease response time, and reduce overload of any single resource. Using number of components with load balancing instead of a single component may increase reliability through redundancy. The load balancer distributes requests among the Web servers. A DNS server is one of the methods of load balancing requests to servers. DNS servers provide clients with the IP address of one of the site’s content delivery.
- Web caching
A cache is a temporary storage area that keeps data available for fast and easily accessible. For example, the files which automatically request by looking at a web page are stored on the hard disk in a cache subdirectory under your browser’s directory. When return a page that have recently accessed and viewed the browser then get those files from the cache rather than from the original server, saving time and saving the network with the burden of additional traffic. Web caching is the widely used technique, used by Internet Service Providers (ISPs) all around the world, to save bandwidth and to improve web performance. Caching is the most important and most widely used performance improvement technique for web-based systems. The main issue with caching is to maintain consistency of the cache across the web. This is the process by which cached copies are kept up-to-date with the originals.
- Content delivery network (CDN)
CDNs are a popular and effective means of increasing the performance and reliability of high traffic web requests while reducing total cost of ownership. Content delivery network is an extension of cache optimization designed to supercharge web performance aimed specifically at globally dispersed web traffic. Internet users requesting this information are directed to the nearest server within this network based on their geographic location. Content providers do not control the caches and the content is replicated as a function of user requests.
Content Delivery Network (CDN)
CDN is also a distributed network of servers that are designed to deliver content to users quickly and efficiently. The main purpose of a CDN is to reduce latency and improve the performance of websites and applications by caching and serving content from a location that is closer to the end user.
When a user requests content from a website or application that is powered by a CDN, the request is redirected to a nearby CDN server, which serves the content from its cache if it is available.
If the content is not cached, the CDN server will retrieve it from the origin server and cache it for subsequent requests. CDNs are commonly used to deliver a variety of content, including web pages, images, videos, and software downloads. The following are the features of using CDN.
- Request routing technique
The request-routing approach has a direct impact on the performance of the CDN. This method improves the response time over accessing the origin server. The best request routing strategy is to direct the web users to a CDN server that hosts the content being requested. However, if the request router does not know the content being requested, for example, if request-routing is done in the context of name resolution and then the request contains only a server name (e.g., www.abcd.com) as opposed to the full HTTP URL.
ii) Surrogate server
CDNs use surrogate server to replicate information at many different locations. Typically, clients are directed to the nearest surrogate that has a given resource. In this manner, it seems like all users are closer to the origin server. A content delivery network is a system of delivery surrogate servers (also called replica servers) to deliver web contents to end-users on behalf of the origin server. The contents of the origin server are replicated on the surrogate servers. The requests from end-users are redirected to surrogate severs closer to them. As a result load on the origin server is reduced and network bandwidth expands. Content delivery architecture consists of a set of surrogate servers that deliver copies of content to the clients. The delivery system consists of mechanisms to move contents from the origin server to the surrogates. Some web servers are slow because they generate pages dynamically and these slow web servers can be accelerated by using Surrogates.
By using a CDN, business organizations can reduce the load on their origin servers and improve the user experience for their customers, regardless of their location or the type of device they are using.
The web is evolving, the requests of video content delivery getting larger as the demand for high quality of playback increases. A fast and efficient way to transfer these large files is becoming increasingly significant for web users. Otherwise, web users may suffer from the dreadful issue of buffering and lagging. Fortunately, multi-CDN service is a proven way to address the problem effectively.
Multi-CDN
Multi CDN involves using multiple CDN providers to distribute web contents to end-users. Instead of relying on a single CDN provider, Multi CDN combines the resources of multiple CDNs to improve the reliability, performance, and resilience of content delivery.
The primary advantage of using Multi CDN is that it helps to ensure that content is delivered even if one of the CDN providers experiences an outage or slowdown. By using multiple CDN providers, content delivery is balanced across different networks, reducing the risk of congestion or failure in a single network.
In a multi-CDN architecture, the media contents are cached across multiple CDN providers in different geographic regions. The web users are redirected to CDN using DNS. With the help of the load balancing algorithms, the incoming traffic from the web clients is distributed across these multiple CDN providers, which provides greater redundancy and performance benefits. All of the related data are collected by a central rules engine or server to decide which of the CDN should serve the requests arising from a certain region.
Multi-CDN features in businesses:
- Strategy: A multi-CDN strategy involves using multiple CDN providers to distribute content and ensure fast, reliable, and secure delivery to users across the globe. This strategy enhances content availability and performance.
- Suitability for Business Enterprise: Multi-CDN is suitable for businesses that rely heavily on online content delivery and need to ensure low latency and high availability. It’s particularly important for e-commerce, media streaming, and gaming companies.
- Costs and Benefits: The cost of implementing multiple CDNs can be higher than using a single CDN, but the benefits include improved performance, better geographic coverage, and redundancy. It can reduce the risk of outages and ensure a consistent user experience, even during spikes in traffic.
Benefits of using multi-CDNs
- Avoid a single point of failure – the current CDN can be replaced with another CDN to continue to deliver web contents.
- Increased web performance – more servers and reduced latency.
- Enhanced security – web traffic can be rerouted to another server of another CDN when the cyber attack occurred such DDoS.
- Lower bandwidth costs – more affordable options offered from CDN providers.
- Scalability – more servers to distribute the load (web request) so the chance of unserved requests is practically non-existent.
- Reach remote areas – more distributed edge servers by making it possible to deliver high-quality of web content for better user experience.
On the basis of the CDN, the multi-CDN strategy works on optimizing the delivery of contents by replicating the contents on surrogate servers placed at the edge of Internet. This helps in reducing the bandwidth consumption and improving user-perceived latency. In this article, the basic techniques used for improving web performance have been discussed including insight into content delivery networks. This also shows that the design and implementation of a scalable, reliable and efficient content delivery network entails focusing on a number of technical aspects such as what contents should be replicated and where, which is the appropriate server on which the request should be redirected, how to handle the load in case of flash crowd events, what strategy should be used to deliver streaming media
Leave a Reply