Here and welcome back.
Now in today's video, we'll have a high level overview about the content delivery networks also report
as this.
Now, before we go ahead and discuss more about what advantages this provides, let's look into a generic
scenario now.
In most of the organizations who are going through a bootstrapping stage, what they do is they'll have
a single server and everything will be part of that single server.
So that would include your application, your databases, your Web server and so on.
So this type of architecture is pretty common.
But when the website starts to grow and the popularity increases, then this thing that I've always
calculated will prove to be very challenging.
So the first major challenge would be the performance.
So with the increased in number of visitors, the overall performance can go down.
So one typical challenge with a lot of organizations is even the mid-level organizations which might
have even hundreds of servers, is related to the content caching.
So let's say that if a website has one image and a thousand users are visiting it, then the same image
will need to be sent to that thousand users.
So generally, if you take an example of popular Web sites like Amazon or news websites like BBC, those
websites will have a lot of images, maybe 50 or 100 images.
So then millions of users, they open their website.
Typically, those same images which are present will be sent to all of those users, and that decreases
the performance and increases the load on this.
The second major challenge that you will typically see is related to security.
So attackers, they love the Internet.
So a typical website, even a small website.
So let's say you have launched a website today, and if you have 22 open after two or three days, you
will see that there are thousands of attacks which are happening on that server.
So a typical Web site and Web application faces various types of attacks ranging from denial of service,
Web application attacks and so on.
So one of the challenges that we will see specifically related to the website that is serving the Internet
traffic is that not only genuine users will be connected to it, even the attacker will be able to connect
to the server, which is serving their traffic.
So based on the two High-Level challenges that we were discussing, there are certain approaches that
can be used as a solution for us.
And as you can increase the size of the server or increase the number of servers for better performance.
So this is one approach specifically related to the performance.
Second is, you can configure things like distributed denial of service, protection, web application,
firewall at a certain level so that you can be protected against the attackers.
So doing these things in each cetera is a tedious task and it cannot really scale very well.
So even if you increase the number of servers and you have millions of users, then also the overall
latency and the performance will not be that optimal.
So discussing about the better architecture, so the better architecture would be to introduce a middle
layer which has all the functionalities related to protecting the attacks, caching of common requested
objects for better performance.
So you have a middle layer all year.
So now what will happen is any users from the Internet, they can only connect to this middle tier.
They directly will not be able to connect to the backend instances.
So if the attacker he tries to goes ahead and performs distributed denial of service attacks, then
that attack will be targeted at the middle tier.
So multiple solutions can be used at best middle tier.
So one popular one would be a reverse proxy.
So a lot of observers like engineers, they work pretty well at the reverse proxy level.
Then again, at a middle layer, content delivery networks are also extensively used in organizations.
So discussing about the architecture of KDDI and you see the architecture of CBN is very similar to
the model that we were discussing, where you have a user, you have a client and you have the back
an instance.
So a client basically acts as a proxy which receives the request and then it forwards it to the back
end system.
So essentially, the user will not be able to directly connect to the back inside of a journey.
Now, one of the advantages of clients is that a lot of CDN providers, they provide features like beat
protection, web application, firewall, cashing in on those.
So even if your attacker tries to do some attacks like distributed denial of service, etc., the protection
is at the CDN level.
So the attacks will never reach the instances.
And your instance?
Is would remain safe.
So this is the very high level overview about the content delivery networks.
Now, as we were discussing, there are a lot of CBN providers available in the market.
So let's discuss some of the very popular ones.
Now, one of the popular provider is CloudFlare.
So, again, the CloudFlare works something similar to the architecture that we were discussing.
And if you see with the cloud, it also provides a building unmetered, distributed denial of service
protection.
Now, the second very popular content delivery network provider is Akamai.
In fact, a lot of organizations, they make use of Akamai.
Again, the overall concept remains to be seen.
It acts as a middle layer.
It provides a lot of features like caching.
It provides a web application, firewall related functionality, does functionality do as protection
and others.
So the next popular broider would be so it has a service called Amazon Cloud Print, which is basically
the content delivery network now similar to the others.
If you look into the use cases where clients can be used, so you have the caching related use case,
you have you related to security.
So if you see that it works with other services to provide LETELLIER for reduced mitigation and also
can integrate with either MFAT for Layer seven protection.
So there are a lot of advantages of making use of a client provider.
No one advantage that I can share, similar to the use case that we were discussing, that if there
is a imatinib website and a thousand users are visiting it, then the same image will be sent to a thousand
users.
So instead of storing the image in the server, what would happen is used to the image at the middle
layer.
So this means that there can be a reverse proxy where you can store the image in terms of static assets
or you can even store the image in CDN.
So the images which are frequently requested are stored at a certain level.
So once the images are stored at a certain level, next time, if 100 users are requesting for that
image, then the image will be provided by the CBN.
The request will not at all be forwarded to the application server and thus it reduces the overall latency.
Now, before we conclude, let me give you one interesting example.
So there used to be one static website that I used to visit since quite a long time.
And later I realized that the static website was down from three days.
However, users were able to browse that website perfectly well.
And the reason why they were able to browse the web was because of the CDN.
So the entire content related to the website was cached at the CDN level.
So even if the backend server was down, the CBN was able to serve the content of that website back
to the end user.
So for the end user, the website was working, but behind the scenes the website was down.
So that was one of the great things which a citizen can do.
So that's the high level overview of all the content delivery networks.
I hope this video has been informative for you, and I look forward to see you in the next video.