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:45]
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 because of the size of the footprint require for the [[a_glossary:​h:​hypervisor]] ​and the VMbut the Containers ​are smaller can consequently ​can run on a wider range of 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)
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.1608335117.txt.gz · Last modified: 2020/12/18 18:45 by nick