OMniLeads deploy

Before proceeding with the installation, it is recommended to read and understand (Arquitecture and Components).

As described in the architecture section, each component has a potentially usable install script like provisioner at the creation time of the Linux virtual machine, that will host the component in matter. Also, it is feasible to run it in self-hosted mode when deploying the component on a Linux host, i.e. pouring the content of first_boot_installer.tpl over bash-script located in the virtual machine to be deployed, adjusting the variables and finally launching its execution.

Therefore, we have different ways to reach the goal of installing OMniLeads, some fully automated, and others within a traditional scheme based on running an installation script manually.

Note

Linux distributions for which compatibility is guaranteed are CentOS7-Minimal and Amazon Linux 2.

Next, we consider different scenarios corresponding to available formats.

OMniLeads Deployment on Bare-Metal or Linux Virtual Machine

OMniLeads can run like a traditional application, deploying one installation of all components on a single host. To this type of Installation, we call it OMniLeads AIO (All In One).

_images/install_arq_aio.png

Also, we can separate the components in such a way that they can be run as isolated services running on dedicated hosts. This means we can separate components on dedicated hosts with the scope of a more robust and resilient operation. Among other advantages, it allows isolating/protecting information such as call recordings, database, etc. At the same time, it is more efficient for managing updates and monitoring the app.

The proposal of modern web applications oriented to take advantage of the simplicity of a clean Linux instance (via web or API) and provisioning it with a component or service, implies considering the idea of ​​isolated components interacting in Linux instances (networking) with other services, distributed in other instances, forming a cluster of OMniLeads components. In this way, each component is embbeded on a Linux host with its network stack, package manager, memory, CPU, kernel, etc., which helps to resize and scale the infrastructure, troubleshoot the operation, carry out a monitoring service-oriented, among several more advantages.

_images/install_arq_cluster_a.png _images/install_arq_cluster_b.png

Note

It is common for cloud infrastructures to pay for resources based on usage, keeping N instances with M resources, or keeping a single instance with NxM resources.

In this section, we cover the most conventional installation: Deployment Execution on Linux instances.

OMniLeads Deployment based on Terraform

As of OMniLeads version 1.16, it is possible to use Terraform to deploy OMniLeads on some specific cloud infraestructures. This list of providers will increase in the future thanks to the community contribution.

For those of you unfamiliar with Terraform and interested in this topic, we leave a link to documentation. Terraform allows us to code a deployment. In terms of Terraform, we can define a deployment of OMniLeads, such as the following set of actions:

  • Infrastructure networking configuration.
  • Creation of virtual machines, DB clusters, load balancers.
  • OMnileads Deployment and its components on virtual machines
  • Application of security settings.
  • Generation of SSL certificates and URL access for users.
_images/install_terraform_tenant_arq.png

So you can just set a variable file and then launch a command (terraform apply), and in a matter of minutes you can have an OMniLeads “as a Service” deployment ready to use. Users can start operating from anywhere.

Note

The deployment of the Jitsi Meet, WombatDialer and MySQL components is configurable according to the needs of the campaign configuration regarding predictive and/or video call features.

The approach of deploying infrastructure cloud, allows us to fully automate the generation of a subscriber to the Contact Center Service in the cloud.

_images/install_terraform_tenants_2.png

Below the list of current supported public clouds: