Unified Communication Multi-Region and Redundant: Talky Time

Excerpt from Talky Time Multiregion

The title speaks for itself: today we are talking about multi-region.

The objective of this article is to make you understand how a business critical application can be made available in different regions while operating and optimizing performance thanks to a multi-region infrastructure. To do this, let's dive into a practical example: Talky Time.

Why Talky Time multi-region?

Talky Time, CloudFire's next generation Unified Communication suite, has among its main features: Talky Time Direct Routing that makes it easy and fast supplement, through a cloud to cloud app, a Microsoft Teams® domain to traditional telephone systems.

Concretely, Talky Time Direct Routing allows you to overcome various obstacles that we usually find in business communication tools. Among them: Talky Time ti Free yourself from having to use enabled devices from Microsoft, and in line with our Cloud approach, no longer requires any physical intervention to activate the service, on the contrary, a complete scalability of resources, and related costs, is guaranteed, adaptable to any business flow at any time and place.

What was missing in Talky Time?

Considering the potential and advantages of Talky Time, as we usually do, we began to make some considerations about the need to extend the service to a worldwide audience that would guarantee a global coverage with efficient performance. The push in this regard came both from the request of some of our Partners for the activation of Talky Time in countries other than Italy, and from the next publication of Talky Time on the Microsoft Store.

I only clarify that Talky Time Direct Routing, precisely because it is an integration to the Microsoft suite, already guaranteed global coverage; however, we wanted to do more to Above all, minimize call latency in particular in cases of activations in foreign countries.

Utenti Talky Time connessi da tutto il mondo

It is starting from these assumptions, in fact, that we have found a solution to our need to extend our Talky Time service to a worldwide audience, not only maintaining but optimizing the performance of the service itself, with the aim of being able to respond in a scalable and automated way to any request from anywhere in the world.

A cloud infrastructure ready to scale and automate

To achieve this objective, it became necessary to have highly scalable and automated infrastructures, ready to provide resourcing to respond to requests of traffic to and from Diverse regions and for each business logic.

The Talky Time backend infrastructure that is presented today is therefore completely renewed and, thanks to the resources required in each region, it is now able to run exactly the same service in multiple environments in different locations.

To complete this step, it was essential to think with a DevOps approach and to realize it with actions and tools such as Terraform and Ansible.

Architettura Talky Time multiregion

With Terraform in fact, open-source tool created by HashiCorp, we have automated the distribution of the Talky Time Infrastructure and the provisioning of its resources in any region for which there is a demand. With only a few configuration files, in fact, you can create, manage, update and delete your infrastructure using the technique that, thanks to Terraform itself, is known as Infrastructure as Code (IaC).

This makes it possible to build an infrastructure that combines multiple regions and more Cloud Providers, as in our case CloudFire and Azure, maintaining similar structures that facilitate the very work of developers who can use the same tools and configuration files to simultaneously manage the resources of each cloud service provider. A single Terraform command can oversee deployments to multiple providers and even manage dependencies between clouds.

With Ansible, also a tool in line with the DevOps approach, allows you to automate both the configuration procedures and the maintenance of Cloud resources. Its strong point is idempotence given a specific configuration and this means that a node will have the same configuration both on the first and on the n-th execution. In fact, Ansible will perform acorrective operation on all areas that differ from what is defined in the configuration. Another peculiarity of Ansible is certainly its ability to make us configure nodes both in our infrastructure but to deploy new nodes also on other cloud platforms, such as once again Azure for Talky Time.

The combination of Terraform and Ansible has allowed us, and constantly guarantees us continuity, to have total control over the infrastructure, of intervene in parallel on all resources that are the basis of Talky Time Direct Routing and all this makes it possible to avoid inconsistent configurations and to reduce human errors.

In fact, for some months now, some deployments in Talky Time and Cortex have been fully automated thanks to the use of service stacks such as Terraform, Ansible, Docker, and this allows us to implement functionality, such as Multi Region, faster.

What will be the next news? Tell us What would you like to add to Talky Time 💙

You might also be interested