User Tools

Site Tools


dido:public:ra:1.4_req:1_func:platform:virtnodes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:1.4_req:1_func:platform:virtnodes [2020/12/18 18:01]
nick
dido:public:ra:1.4_req:1_func:platform:virtnodes [2021/08/13 13:17] (current)
murphy [Virtual Machines]
Line 1: Line 1:
-====== 4.1.1.5 Virtualized Nodes ======+====== 4.2.1.5 Virtualized Nodes ======
 [[dido:​public:​ra:​1.4_req:​1_func:​platform| Return to Platforms ]] [[dido:​public:​ra:​1.4_req:​1_func:​platform| Return to Platforms ]]
  
 ===== About ===== ===== About =====
-[[dido:​public:​ra:​1.4_req:1_func:platform:​virtnodesReturn to Top]] +A Virtual ​[[dido:​public:​ra:​xapend:​xapend.a_glossary:n:node|Node]] can reside on any machine that supports either [[dido:​public:​ra:​xapend:​xapend.a_glossary:​v:​vm | Virtual Machines (VMs) ]] or [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​app_container | Application Containers]] (or refered to as [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​container|Containers]]). These can run many different [[dido:​public:​ra:​1.4_req:​1_func:​platform:​hw_arch | Hardware Platforms]] and or [[dido:​public:​ra:​1.4_req:​1_func:​platform:​os_arch | Operating Systems (OS) Platforms]]. VMs are limited ​more by the hardware [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​platform|platforms]] ​they run on because ​of the footprint size of [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hypervisor|hypervisor]],​ whereas containers are smaller ​and can consequently run on more machines. ​
- +
-A Virtual Node can reside on any machine that supports either [[dido:​public:​ra:​xapend:​xapend.a_glossary:​v:​vm | Virtual Machines (VMs) ]] or [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​app_container | Application Containers]] (or refered to as Containers). These can run many different [[dido:​public:​ra:​1.4_req:​1_func:​platform:​hw_arch | Hardware Platforms]] and or [[dido:​public:​ra:​1.4_req:​1_func:​platform:​os_arch | Operating Systems (OS) Platforms]]. VMs are more limited by the Hardware Platforms ​they can run on, but the Containers run on a wider range of machines especially ​the smaller ​end machines. ​ +
  
-Superficially,​ the two can appear ​to almost identical. However, ​the VMs have a full Host OS as well as a Guest OS while the Application Containers are lightweight,​ standalone, executable package of software that includes everything needed to run an application:​ code, runtime, system tools, system libraries and settings. They are a bit less secure than VMs since there is Containers manage memory versus giving each instance its own "​machine"​ complete with memory.+Superficially,​ the two can appear almost identical. However, VMs have a full Host OS as well as a Guest OS while the Application Containers are lightweight,​ standalone, executable package of software that includes everything needed to run an [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​application|application]]: code, runtime, system tools, system libraries and settings. They are a bit less secure than VMs since Containers manage memory versus giving each [[dido:​public:​ra:​xapend:​xapend.a_glossary:​i:​instance|instance]] its own "​machine"​ complete with memory.
  
 Containers and VMs have similar goals: to isolate an application and its dependencies into a self-contained unit that can run anywhere (i.e., Virtual Nodes) Containers and VMs have similar goals: to isolate an application and its dependencies into a self-contained unit that can run anywhere (i.e., Virtual Nodes)
  
-Moreover, containers and VMs remove the need for physical hardware, allowing for more efficient use of computing resources, both in terms of energy consumption and cost effectiveness.+Moreover, containers and VMs remove the need for physical hardware, allowing for more efficient use of computing resources ​through sharing, both in terms of energy consumption and cost effectiveness.
  
 The main difference between containers and VMs is in their architectural approach. The main difference between containers and VMs is in their architectural approach.
Line 22: Line 20:
 ===== Virtual Machines ===== ===== Virtual Machines =====
 [[dido:​public:​ra:​1.4_req:​1_func:​platform:​virtnodes| Return to Top]] [[dido:​public:​ra:​1.4_req:​1_func:​platform:​virtnodes| Return to Top]]
-A [[dido:​public:​ra:​xapend:​xapend.a_glossary:​v:​vm]] is a software program that behaves as if it were a complete computer. Often the VMs are software versions of an existing [[dido:​public:​ra:​1.4_req:​1_func:​platform:​hw_arch | Hardware Platform]]. For example, the Hardware Server running an [[dido:​public:​ra:​xapend:​xapend.a_glossary:​r:​risc]] processor, might host a VM that behave as if it were an x86, 68000, CISC, RISC, ARM, etc. The VM will have a virtual processor that executes the appropriate instruction set such as [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​cisc]]. Generally, the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hypervisor]] also known as a Virtual Machine Monitor (VMM) creates, runs and monitors the execution of the VMs. Each VM is isolated from each other and from the host machine which is a good for security reasons. For example, the memory (also virtual) is allocated for only for one VM. If another VM needs to use the same physical memory, the memory is "​zeroed"​ before it can be reused. 
  
-As a general rule, Hypervisor'​s are heavy when compared to Application ​Engines and Virtual Machines are heavier than Containers. The "​heaviness"​ is in reference to the resources required. For example, a Hypervisor takes more memory and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​cpu]] than a [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​containerengine]] ​because of the amount of work that is required to create and manage the VMs. This means that the smaller the host machine, the more likely that Containers are a better solution. Another reason that VMs are heavier is that each VM has its own copy of a a Guest Operating system while Containers are designed to share key parts of the host operating system. ​+A [[dido:​public:​ra:​xapend:​xapend.a_glossary:​v:​vm]] is a software program that behaves as if it were a complete computer. Often VMs are software versions of an existing [[dido:​public:​ra:​1.4_req:​1_func:​platform:​hw_arch | Hardware Platform]]. For example, the Hardware Server running an [[dido:​public:​ra:​xapend:​xapend.a_glossary:​r:​risc]] [[dido:​public:​ra:​xapend:​xapend.a_glossary:​p:​processor|processor]],​ might host a VM that behave as if it were an x86, 68000, CISC, RISC, ARM, etc. The VM will have a virtual processor that executes the appropriate instruction set such as [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​cisc]]. Generally, the [[dido:​public:​ra:​xapend:​xapend.a_glossary:​h:​hypervisor]] also known as a Virtual Machine Monitor (VMM) creates, runs and monitors the execution of the VMs. Each VM is isolated from each other and from the host machine which is a good for security reasons. For example, the memory (also virtual) is allocated for only for one VM. If another VM needs to use the same physical memory, the memory is "​zeroed"​ before it can be reused. 
 + 
 +As a general rule, Hypervisor'​s are heavy when compared to [[[[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​containerengine |  Container ​Engines]] and Virtual Machines are heavier than Containers. The "​heaviness"​ is in reference to the resources required. For example, a Hypervisor takes more memory and [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​cpu]] than a Container Engine ​because of the amount of work that is required to create and manage the VMs. This means that the smaller the host machine, the more likely that Containers are a better solution. Another reason that VMs are heavier is that each VM has its own copy of a a Guest Operating system while Containers are designed to share key parts of the host operating system. ​
  
 ===== Application Containers ===== ===== Application Containers =====
 [[dido:​public:​ra:​1.4_req:​1_func:​platform:​virtnodes| Return to Top]] [[dido:​public:​ra:​1.4_req:​1_func:​platform:​virtnodes| Return to Top]]
 +
 +An [[dido:​public:​ra:​xapend:​xapend.a_glossary:​a:​app_container]] (also know as a Container) is a stand-alone,​ all-in-one package for a software application that run on an [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​containerengine]]. Containers include the the binaries and libraries used to run the application as well the support for the hardware needed to execute the application. Another way to think about a Container is that it is that everything need to execute the application is bundled into a single package (general one file).
  
 Core Operating System (Core OS) is a system for container-based virtualization. Core OS deploys applications in virtual containers as a way to provide effective hardware virtualization for businesses. ​ Core Operating System (Core OS) is a system for container-based virtualization. Core OS deploys applications in virtual containers as a way to provide effective hardware virtualization for businesses. ​
  
   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​containerengine]]   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​c:​containerengine]]
- 
   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​disk_image]]   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​d:​disk_image]]
   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​v:​virt_disk_image]]   * [[dido:​public:​ra:​xapend:​xapend.a_glossary:​v:​virt_disk_image]]
dido/public/ra/1.4_req/1_func/platform/virtnodes.1608332501.txt.gz · Last modified: 2020/12/18 18:01 by nick