Applications
are the key things to make any business successful. Whether you are in
e-commerce, banking, etc., to become successful you should build robust
applications with zero down time.
In old days,
each application is deployed in its own server and can able to communicate each
other via APIs exposed by the applications.
For
example, as you see above image, a database server like SQL is deployed in
dedicated server, backend services are deployed in different server and user
front end application is deployed on other server.
What if
you want to add caching mechanism to existing infrastructure, you need to buy a
new server and deploy a caching application like ‘REDIS’ in the new server.
What are the problems with old
approach?
a.
First
of all, dedicating a server alone to an application is very costly. Application
can’t consume the 100% resources of the server.
b.
Server
cost is very high
c.
You
may not know, how big or faster the server should be to deploy your application
d.
Monitoring
all the server is a pain
e.
Server
maintenance
f.
Most
of the time, applications that are deployed on the server use 10% of the system
resources, this is waste of money, resources, power etc.,
Introduction to VMware
In our
previous approach, we are dedicating one server to one application. But with
the use of VMware, we can deploy multiple applications in one dedicated server.
VMWare is
designed to run multiple operating systems on the same server or PC. With is virtualization,
you can deploy all the applications in single physical server.
In
virtualization, These multiple guest operating systems are not running on top
of the actual hardware, but on top of a virtualized hardware provided by a
software called an hypervisor.
Advantages
a.
Virtualization
allows you run multiple different operating systems on single hardware.
b.
Host
operating system resources are available to guest operating systems.
c.
Each
guest operating system is isolated from other.
Disadvantages
a.
Licence
costs of different operating systems
b.
Each
VM runs on its own operating system.
c.
VM
takes minutes to start. It is heavyweight
d.
Security
patches to be applied on each vm separately.
e.
Guest
operating system do not have full access to the host operating system
internals.
f.
Since
each VM has its own operating system, guest operating system itself consume lot
of resources like CPU, RAM etc.,.
Containers
Container
came to solve the problems that we faced in virtual machines. Containers
virtualize the operating system, instead of virtualizing the actual hardware.
Container
is a unit of software, that packages the code and all the dependencies, so the application runs quickly.
You can
have ‘n’ number of containers in your server and deploy one application to each
container.
Advantages of containers
a.
All
the containers share same operating system
b.
Container
are lightweight and can start in seconds (Most of the containers can able to
start in less than a second).
c.
Containers
take less memory foot print as compared to VMs.
Containerized applications
Applications
that run inside a container are called containerized applications.
No comments:
Post a Comment