Multi-cloud networking (MCN) features of F5 Distributed Cloud help deploy distributed apps across private and public clouds, as well as edge sites. This helps deliver app services with control, security, and flexibility wherever they are; this is especially critical for modern microservices-based apps.
This demo guide showcases the delivery of a sample app with multi-cloud networking across different cloud locations HTTP Load Balancer (Layer 7) and TCP Load Balancer (Layer 3) on the F5 Distributed Cloud Global Network. It uses MCN deployment of a representative customer app with services in three different clouds: Cloud A, Cloud B, and Cloud C. These can be any combination of clouds (Amazon AWS and Microsoft Azure) and are captured in three respective modules with (A) Step-by-step Console based instructions and (B) a Set of Terraform scripts for either public cloud.
A fictitious sample app representative of a typical banking website with customer login, statements, and bank transfers is used to show the solution. The guide considers a scenario when a core banking app (running in a Cloud A) is adding additional banking services needs in other clouds, such as a Refer-a-Friend Widget or a Transactions Module. This would be a common scenario for an M&A acquisition or for services developed by different teams.
MODULE 1: Deployment of Core App & Front-end Portal in Cloud A
The first module outlines using an HTTP Load Balancer to deliver a front-end portal in Cloud A by leveraging Terraform scripts to simplify the deployment. A DNS tool is also used to assist with generating a domain entry and a certificate. This module demonstrates SSL offloading and reducing the web server processing of decrypting SSL traffic. The resulting core app will provide a starting point for our multi-cloud networking as it will contain placeholders for a few features that will be activated in subsequent modules.
MODULE 2: Connection of Refer-a-Friend Widget in Cloud B
The second module shows how to connect the Refer-a-Friend Widget running in Cloud B to the core app deployed in the previous step using an HTTP Load Balancer (Layer 7). Again, Terraform scripts will simplify the deployment of the app services in a different cloud provider. It is recommended to use different providers for Clouds A and B, to simulate true multi-cloud capabilities.
After all the configuration of clouds and HTTP LB is completed, Arcadia DNS Tool is used to update the DNS with the private IP address for the site deployed by F5 Distributed Cloud Services. This enables the Refer-a-Friend Widget on the website.
MODULE 3: Connection of the Transaction Module in Cloud C
Unlike the previous modules that used Layer 7 connectivity, this uses Layer 3 Multi-Cloud Networking via Sites/Global Network. Layer 3 connectivity is used to connect the transaction element to the backend of the app. When Cloud C with the Transaction module is configured, we create and configure a Global Network in the Cloud A site.
In summary, this demo guide showcases that no matter where your applications are, F5 Distributed Cloud Multi-Cloud Networking makes easy work of deployment and delivery of app services on different cloud providers.
For more information, refer to the following sources:
GitHub repository step-by-step looking at Multi-Cloud Networking (MCN) use-cases providing sample app, scripts, and the utility app
A set of Terraform scripts for different public clouds that can be adapted for other apps and services (part of the GitHub repo)
YouTube video series giving the overview and discussing the different aspects of this configuration in each cloud location
Article outlining the key networking use cases for F5 Distributed Cloud
Article on using F5 Distributed Cloud to connect apps running in multiple clusters and sites