Professional Documents
Culture Documents
UNIT 5 - NodeJS and Microservices
UNIT 5 - NodeJS and Microservices
UNIT 5 - NodeJS and Microservices
• A couple of years back, when organizations needed other applications, they buy a server without
knowing the performance requirement of the software/application. This results waste of money and
resources. Then Virtual machines come onto the market, which allows engineers to run multiple
applications on the same resource but as a completely different server. But Every application to run
on a Virtual machine requires OS and every OS needs its own CPU, RAM, etc. to run. Which
increases the cost.
• Then Docker Model comes into the scope, which overcomes the drawbacks of the Virtual Machine. It
reduces the wastage of resources by sharing OS, memory, and CPU, and It offers many benefits for
developers and system administrators, like consistency, portability, efficiency, security, scalability,
and version control. These benefits make it easier to manage and deploy applications.
Features of Docker
•Docker reduces the size of development by providing a smaller
part of the OS via containers.
•It is easier to work on the same project by different teams with
the help of Containers.
•Docker containers can be deployed anywhere, on any physical,
or virtual machines and on the cloud.
•Docker containers are lightweight so, it becomes easy to scale
them.
Advantages of Docker
5. VM takes longer to run than containers, the exact time depending While containers take far less time to run.
on the underlying hardware.
7. VM is more secure, as the underlying hardware isn’t shared While containers are less secure, as the
between processes. virtualization is software-based, and
memory is shared.
8. VMs are useful when we require all of the OS resources to run While containers are useful when we are
various applications. required to maximize the running
applications using minimal servers.
9. Examples of Type 1 hypervisors are KVM, Xen, and VMware. Examples of containers are RancherOS,
Virtualbox is a Type 2 hypervisor PhotonOS, and Containers by Docker.
Dev vs Ops
1.Development (Dev):
1.Development teams are responsible for writing code, creating new features, and implementing
changes requested by stakeholders.
2.They focus on building and testing software applications to meet business requirements.
3.Developers often work with programming languages, frameworks, version control systems, and
development tools.
2.Operations (Ops):
1.Operations teams are responsible for deploying and maintaining software applications in
production environments.
2.They manage servers, networks, databases, and infrastructure to ensure the reliability,
availability, and performance of applications.
3.Operations professionals typically deal with monitoring, scaling, security, and troubleshooting
issues in production environments.
Architecture of Docker
Kubernetes
Kubernetes
• Kubernetes is a tool that helps us to run and manage applications in containers.
• It was developed by Google Lab in 2014, and it is also known as k8s.
• It is an open-source container orchestration platform that automates the deployment,
management, and scaling of container-based applications in different kinds of
environments like physical, virtual, and cloud-native computing foundations.
• Containers are isolated from each other so that multiple containers can run on the same
machine without interrupting anyone else.
• It allows us to deploy and manage container-based applications across a Kubernetes
cluster of machines.
Introduction to Kubernetes (K8S)