Viapps: An opensource Virtual Appliance Factory solution
Viapps is an automation solution that supports a full life cycle of infrastructure services on Cloud environments, reducing very significantly time and resources needed to implement and operate these services.
This Solution allows to create, install, config, update, admin, monitor and audit services like Firewalls, DNS/DHCP/NTP Servers, HTTP Proxy, SMTP Gateways and IP LoadBalance (more services to come).
It is based on opensource components like Chef Server and our own development, it is compatible with the main Cloud infrastructure technologies like VMWARE, Openstack, Cloudstack and openNebula.
Extensible, it is posible to easily add new functionality and integrate it with other platforms with a powerfull RESTful API
CMI (Central Management Interface)
The basic engine of the solution, it allows to centralize the management of every component. CMI components are:
- CMI API Rest: API in charge of the backend tasks such as authentication management, installation, configuration, Vms backup,...
- CMI Portal: web client in change of interacting with the CMI API. Based on dojo toolkit, it guarantees the maximum compatibility with HTML5 browsers and also a functional and attractive design
- Chef Server: component in charge of executing recipes for installations of different flavors, allowing to create complex services configurations on the basis of recipes programming.
- YUM repository: rpm packages repository which is used as the source of installation of different nodes. It works with the standard Red Hat/Centos yum. This way there is no need to have nodes’ Internet connectivity.
- Rsylog: Log central server of all the administration nodes for CMI. Thus it is possible to consult all the node´s logs in real time.
- CMI Command Broker: in charge of the unattended platform tasks.
Central Management Interface (CMI) Functionality
This is main functionality that Central Management Interface (CMI) are provided to global Viapps architecture:
- VAPP Setup
- VAPP Management
- VAPP Update
- VAPP Log concenatration
- VAPP Log viewer
- VAPP performance trending
- VAPP audit
- VAPP Backup/Restore
- CMI Theme management
- CMI Audit logging
- CMDB management
Full Life Cycle Support
CMI allows the following main tasks:
Installation: The supply process starts from the CMI, and it relys on Chef Server to send all required recipes to VM in order to install the firewall server
- Basic Configuration: The configuration needed to start working. This is executed by Chef Server with data provided by the CMI.
- Advanced Configuration: Applying rules by default, applying security policies, providing interfaces, paths,... all will be execute from the CMI
- Updating: Applying every kind of update to the software base, SO as much as Applications like shorewall and others..... Recipes will be sent from Chef Server. Private RPM repository will be used.
- Administration: SO as well as Firewall Service configuration management. Creation of rules, objects, atributes, etc...
- Monitoring: Plattform and Service Monitoring, updating , updating status, etc...
- Audit: Logs concentration of the different nodes, validating configuration, access, etc...
CMIX (Central Management Interfrace Express)
CMIX is based in a minimalistic CentOS very fast and secure.
All nodes of Service are based on the CMI Express Architecture, which allows that the whole management be done from the CMI. Moreover, in case of emergency, it could be administered through the CMIX-Portal component directly
The nodes use chef-client to execute the necessary installations depending on the kind of node. The modules Portal and API required and base software necessary will be installed as well depending on the type of the node
The kinds of nodes or Flavors available are:
- Managed Firewall: Stateful Firewall with central management through CMI, HA, QoS, path balancing,...
- HTTP Proxy: Support to accelerate contents, content filtering, authentication and authorization,...
- SMTP Gateway: SMTP mail relay, content filtering, authentication, Antivirus/Antispam,...
- IP Load Balance: IP Load Balance with support for TCP/UDP protocols balancing,...
- DNS/DHCP/NTP Server: Basic Network Services such as DNS/DHCP/NTP, DNS primary/secundary/forwarder, integration between DNS y DHCP,support for DHCP failover,...
This is base common functionality that all Viapps nodes share and are provided by Viapps architecture:
- VAPP Network Management
- VAPP Service Management
- VAPP Theme management
- VAPP Module Management
- VAPP Log viewer
- VAPP Configure NTP servers
- VAPP Audit logging
- VAPP Wizard Configuration templates
- VAPP Diagnostics tools
- VAPP Status tools
- VAPP changes commit management