[No Audio]
Before we begin to understand and work with containers in general,
it is useful to take a quick look at how do we
make web applications.
Some of you might even ask what is a web application?
Since the term is quite widely used, but it is quite superficially explored.
Just take a look at some of these examples.
Productivity tools like G Suite, social media giants like
Facebook, video chatting applications like Skype, entertainment
platforms like Netflix, payment services like PayPal or even
e-learning platform like Udemy itself are all web applications
in one way or another, which means you are using web application
interface at this very moment.
If we have to define it, a web or web-based application is
any program that is accessed over a network connection using
HTTP rather than existing within a device's memory.
Of course, the definition is flexible and you may choose
to use one protocol over another. But on a broader perspective,
it is all about not using your device like PC, tablet or
mobile for computing purpose.
Instead, we let those mighty costly and reliable servers
do the heavy lifting and we just access the result of our
requested data from some web interface like HTTP.
This has so many advantages which just can't be overlooked.
First of all, the performance of the applications will not
be determined or limited by the hardware they are run on.
It also means that we can almost say goodbye to those long
list of hardware requirements that we used to check before
trying any new software.
The requirements are still there, but they are quite standard.
Web apps also improves speed.
Now you might think that speed is just another performance parameter,
but here speed can refer to non-laggy performance,
faster updates, and overall faster growth of the organization in general.
The speed is also representative of shorter product
development cycle, since rollout of updates will be faster
and user feedbacks can be taken and addressed quickly.
As we just mentioned, since the hardware requirement
to access such apps are fairly generic, like basic consumer OS
and web browsing capability,
these applications can be accessed by wider range of devices
by more and more consumers.
In fact, many of the popular social media and utility apps
also serve wearable devices.
The policy of not owning but accessing the data also improves
the overall security of both consumers and hosts,
and all of it leads to a better IT economy.
It is not just about apps becoming cheaper. After rise of web apps,
many revenue models like Freemium, Pay as you go, and ad-based
revenue generation have grown significantly.
Not only that the transactions have become more transparent
on all ends, like businesses, consumers, and even the governments.
Finally, the nightmare of business makers, which used to
haunt them for decades, has become quite a Disneyland.
Yes, we are talking about scaling.
Companies don't have to invest into underutilized hardware,
they can scale as they grow.
Since, now we have a fair idea of what are web apps
and why do we use them,
let's get straight to the business.
There are three steps to the process of making web apps.
First, make it or build it on the suitable environment.
Second, wrap or pack it with necessary support and instructions
to ship or deliver it to the intended client or consumer.
And finally run it on your machine or host it on your server
for others to access it. In next lecture, we will get started
with creating web applications.