Skip to main content

Traditional Deployment VS Virtualization VS Container




1. Traditional Deployment



History of running a software Traditional Deployment

  • Early on, organizations ran applications on physical servers.
  • Install or use an existing operating system.
  • Install the tools & dependencies needed by your software.
  • Run your application on it.

Problem with Traditional Deployment

  • Resource Isolation issue, there is no way to define resource boundaries for applications in a physical server.
  • Scaling issues for specific applications and long downtime.
  • Overutilization of resources for a specific app can crash the entire physical server.
  • It was expensive for organizations to maintain many physical servers.

Now to Overcome this problem, a virtual machine was introduced.

2. Virtual Machine

Virtual Machine

  • Virtualization allows you to run multiple VMs on a single physical server.
  • Each VM includes a full copy of an operating system, the application, necessary binaries, and libraries.
  • Virtualization allows more effortless adding and updating of applications that solve the scalability issue.
  • Virtualization allows better utilization of resources.
  • Virtualization isolates applications between VMs.

Virtual Machine is great but there are a few problems.

  • Operating system images are heavyweight, image size in GB.
  • Contain guest OS for each virtual machine.
  • It is a slow-to-boot-up process.
  • Application is not portable
  • Not scalable according to the requirement.
  • Spin up a virtual machine may take 1–2 minutes.

Docker container was introduced in 2013 to solve this problem.

3. Docker Containers



Docker Containers

  • The process of virtualizing the operating system produces containers.
  • A container is an abstraction at the OS layer that packages code and dependencies together.
  • Containers take up less space than VMs, boots quickly.
  • Containers use underlying hardware so no wastage of resources.
  • Containers are very lightweight and very fast and can spin up a few seconds or milliseconds.
  • Docker containers are process-isolated and don’t require a hardware hypervisor.
  • Containers are highly portable.
  • Containers are highly scalable with the help of orchestration platforms such as Kubernetes or Docker Swarm which helps to create and manage docker containers.

Comments

Popular posts from this blog

Async API documentation

Asyncapi:  https://www.asyncapi.com/ Async API documentation is used for documenting events in event-driven systems, like Kafka events. All of the event DTOs are stored in one place. It supports YAML and JSON formats. Source code : https://github.com/nguyenvanhuan243/asyncapi_studio Demo:   https://asyncapi-huancapital.onrender.com/ Async Json asyncapi : '2.6.0' info : title : Streetlights Kafka API version : '1.0.0' description : | The Smartylighting Streetlights API allows you to remotely manage the city lights. ### Check out its awesome features: * Turn a specific streetlight on/off πŸŒƒ * Dim a specific streetlight 😎 * Receive real-time information about environmental lighting conditions πŸ“ˆ license : name : Apache 2.0 url : https://www.apache.org/licenses/LICENSE-2.0 servers : test : url : test.mykafkacluster.org:8092 protocol : kafka-secure description : Test broker security : - saslScram : [] defaultConten...

Introduction to API Gateway in Microservices Architecture

  What is an API Gateway? An API gateway is a server (or L7 proxy) between a client and microservices that acts as a centralized entry point for all clients into the system. It is a reverse proxy that accepts client API calls and forwards them to the appropriate microservice (refer to Fig. A below). By providing an API for each client, API gateways encapsulate the complexity of the underlying system and let clients talk to it instead of calling specific services. They also perform security checks (authentication and authorization) before the traffic reaches the service, thus leaving services to focus on their core functionalities. The need for API gateways for microservices The challenges posed by the direct client-to-microservices pattern of communication led to the popularity of API gateways. Let us go through some of them. The problem of service discovery and traffic routing For direct client-to-microservice connection, the clients have to know the specific endpoints of service ...

Deploy rancher to mange kubernetes cluster

Access to Rancher: https://165.232.159.139/dashboard/ user: admin pass: 12345678@A12345678@Ab Deployment Monitor rancher server