Technology Stack#
Virtualization and Containerization#
KVM (Kernel-based Virtual Machine): Utilizes hardware acceleration to enhance VM performance and efficiency, manages CPU and memory resources, reducing overhead and maximizing throughput for demanding applications.
QEMU: Provides virtualization capabilities when KVM is unavailable, ensuring flexible deployment options.
Libvirt: Facilitates the management of virtualized network interfaces and resources, ensuring seamless VM communication.
Vagrant: Automates VM setup and configuration, streamlining the deployment process.
Docker*: Ensures consistent and scalable containerized application deployment across environments.
Networking#
Bridge Networks: Supports both default and custom bridge networks, offering flexible connectivity for VMs.
VNC (Virtual Network Computing): Enables remote graphical access to VMs, enhancing management flexibility.
Virsh Commands: Provides robust control over virtual environments, including network management, VM creation, deletion, and listing.
Operating Systems#
Ubuntu* 22.04 LTS / Ubuntu 24.04 LTS: Offers a stable and compatible environment for VMs.
Edge Microvisor Toolkit: Optimized for performance, providing a lightweight OS option for edge node deployment.
Storage Management#
Storage Pools: Manages storage resources for VMs, facilitating efficient data handling and allocation.
Monitoring and Logging#
socket_login.exp: Provides real-time monitoring and logging of VM provisioning, enabling quick issue identification and resolution.
Serial and Switch Support: Offers GUI Xterm and socket-based logging for comprehensive real-time management.
Security#
SSL/TLS: Protects data transmission between nodes and services, ensuring secure communication.
HTTPS Proxy Configuration: Enhances secure and efficient network communication.
Cloud Platforms#
AWS* (Amazon Web Services): Provides scalable and reliable cloud infrastructure for deploying virtual edge nodes.
Configuration Management:
Ansible: Automates configuration and deployment tasks, ensuring consistency and efficiency across environments.
Development Tools#
Bash Scripts: Automates deployment tasks, simplifying the provisioning process and reducing manual effort.