Charakteristiken
- 5 Charakteristiken von Cloud nach NIST benennen und erklaeren (auswending lernen)
- On Demand Self Service: Customers can acquire computing capabilities (server time and network storage) as needed and automatically without requiring human interaction
- Broad Network Access: Capabilities are available over the network and accessed through standard mechanisms and from various platforms
- Resource Pooling: The provider’s computing resources are pooled to serve
multiple consumers → many custormers are served on the single piece physical hardware
- Rapid Elasticity: resources can be rapidly and elastically provisioned to quickly scale, and rapidly released to quickly descale
- Measured Service: Cloud systems automatically control and optimize resource use. Resource usage can be monitored, controlled and reported
- Die Formel, durch welchen Komponenten Cloud Computing ermoeglicht wird (auswending lernen)
- Cloud Computing = Virtualisierung + Web Services
- What is the purpose of Web Services?
- Enables information from one application to be made available to others
- Enables internal applications to be made available over the Internet
- Enables an easy access via existing tools and mechanisms
- → Provide an API and/or Web Platform
- What is the purpose of Virtualisation?
- Enables customized environments and on-demand resource provision
- → Abstract Hardware with VMs
- Diese Charakteristiken in Virtualisierung und Web-Services gruppieren, welche von 2 was ermöglicht (auswending lernen)
- On Demand Self Service: eher Virtualisierung, wird aber typischerweise über Web gemacht. Virtualisierung ermöglicht einfache hinzufügen von Resourcen, Erstellung von neuen Instanzen usw. Teilweise aber auch Web Services, da diese Self Services sind normalerweise mit Web UI gesteuert
- Broad Network Access: eher Web Services
- Resource Pooling: Virtualisierung, hat nichts mit Web Servies zu tun. Zentraler Punkt der Virtualisierung.
- Rapid Elasticity: Virtualisierung, da. Wie das getriggert wird, ist weniger relevant.
- Measured Service: 50/50, da VMs werden gemessen, aber die Informationen werden normalerweise über Web aggregiert. Kann man aber ohne Web machen.
- Nennen und erklaeren 4 Deployment Models
- Private Cloud - Vivavis
- Public Cloud - AWS
- Community Cloud - KIT cloud
- Hybrid - composition of two or above
Virtualisierung
- Welche Vorteile hat die Virtualisierung? (auswending lernen)
- Performance Isolation - VMs are completely isolated from each other, when no resource overcommitment is used. For example, if RAM of one VM is full, RAM of other VMs is not influenced.
- Security - Attacks could only compromise one VM. In theory, the attack on VM could damage the hypervisor and compromise other VMs. It is called VM escape, but it such successful attacks are very rare.
- Availability - VMs can be migrated from one hardware to another without any change in behaviour that can be experienced by user. Even the existing TCP connections remain active and all packages will be delievered.
- On-demand OS and resource customisation
- Legacy support
- Welche Nachteile hat die Virtualisierung? (auswending lernen)
- Zusätzlicher Abstraktionsschicht bringt Overhead, inzwischen aber nicht sehr viel. Je Komplexer ist System, desto mehr Resources fuer Hypervisor werden benoetigt.
- Hypervisor selbst benötigt CPU und RAM, Type 1 Hypervisors sind aber effizieter.
- Single Point of Failure: ein Host kann mehrere VMs hosten, aber falls Hypervisor auf diesem Host kaputt geht, dann sind alle VMs kaputt.
- Wie unterscheidet die Virtualisierung von Containerisierungs, bspw. mit Docker? (auswending lernen)
- Containers laufen in Host-OS, jede VM hat eigene OS
- Keine OS, kein Hypervisor → Container sind viel leichtgewichtiger (Container contains system libraries and utilities, but not the kernel)
- Isolation auf OS-Ebene, weniger Sicherheit als bei VM
- Was ist Hypervisor?
- Component that enables virtualization
- Provides and manages virtual components
- Allocates host (hardware) resources to vms
- Also known as Virtual Machine Monitor (VMM)
- Welche zwei Hypervisor Typen haben wir kennengelernt?
- Type-1-Hypervisor: Executed directly on hardware (Bare Metal Hypervisor). They are often used to create Datacenters. (e.g Hyper V)
- Type-2-Hypervisor (Hosted Hypervisors): Software running on top of a operating system (e.g Virtual Box)
- Erkaeren was ist ein Container (#4) (#6) (#7) (auswending lernen)
- Container ist ein isolierter Prozess mit eigenem Namespace
- Container ist die Instanz einer Container Image
- Solche instanzen werden mit Container Engine gestartet und ueberwacht
- Container Image enthaelt die Applikation mit Dependencies, es wird aber Host-OS benutzt
- Eigene Namespases (fuer Prozesse, Mounts, Network usw.) garantieren die Isolation zwischen Container
- Vorteile von Containers
- Leichtgewichtig als VMs
- Schneller
- Einfachere Deployment
- Nachteile von Containers
- Basiert auf Host OS (nur Kernel)
- Weniger Sicher
- Haben Sie schonmal mit Virtualisierung zu tun?
- Jawohl, aktuell verwalte ich viele VMs auf AWS mit EC2. Ich verwende auch Docker.
- Kann ein Windows Container auf Linux-Rechner laufen?
- Welche Arten fuer CPU Virtualisierung kennen Sie? (auswendig lernen)
- Full-Virtualization: Full virtualization uses hardware and software to simulate a complete hardware environment for each VM, allowing an unmodified guest operating system to run in isolation. The guest OS does not need any modifications because it believes it is running on its hardware, thanks to the hypervisor, which intercepts and emulates hardware calls.
- hypervisor (Type 1 or Type 2) dynamically translates kernel code to hardware calls on the fly, making it possible for the VM to operate as if it were on its physical machine. This process is transparent to the guest OS.
- Para-Vertualization: Paravirtualization requires modifying the guest OS to be aware that it is running on a virtualized environment. This technique allows the guest OS to make hypercalls to the hypervisor for operations that would typically require hardware access, reducing the overhead associated with hardware emulation.
- Instead of emulating hardware, the hypervisor provides APIs for critical kernel operations that the modified guest OS uses directly, bypassing the need for full hardware emulation.
- Usually implemented through drivers
- OS is modified and aware of it being virtualized
- Compatibility and portability issues
- Hardware-assisted Virtualization: use of specific hardware capabilities provided by the CPU to support the virtualization of systems more efficiently than software-alone approaches.
- Hardware-assisted virtualization involves features built into the processor that facilitate the creation and management of VMs. These features allow the hypervisor to delegate certain tasks that were traditionally performed in software, such as memory management and CPU scheduling, directly to the hardware.
- No translation or modification needed
- Hardware support necessary