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.