AnyPoint Runtime Fabric Installation – part 3
Introduction
MuleSoft is famous for disrupting the enterprise integration space through it’s scalable, extensible runtime engine and API-led connectivity approach to development. With their release of AnyPoint Platform, customers also gained a unified suite of tools for handling the entire API development lifecycle. When the need to alleviate the burden of infrastructure management from customers became clear, MuleSoft released their CloudHub solution to provide an integration platform as a service. More recently, in response to the increasing customer demand for multicloud deployments, MuleSoft released AnyPoint Runtime Fabric (RTF). In this series of blog articles, we will cover the following topics related to RTF:
• Overview
• Architecture
• Installation (this article)
• Deploying Applications
• Maintenance and Troubleshooting
RTF Prerequisites
Before beginning installation, there are several prerequisites that must be taken care of:
• Anypoint Platform Licensing
• Anypoint Platform Permissions
• System Requirements
• Networking Requirements
In summary, you can use RTF if you have AnyPoint Platform Platinum or Titanium plans, and you can install it to any infrastructure that can run RedHat or CentOS Linux and meets the resource requirements. That includes local VM or bare metal installations, as well as all the leading PaaS providers (Amazon Web Services, Microsoft Azure, Google Cloud, Alibaba Cloud, etc.). However, as we covered in previous articles, MuleSoft currently only produces automated installation scripts for AWS and Azure.
Fully Supported Clouds
AWS
Many customers are deploying their RTF clusters to AWS, and the process for doing so is quite straightforward when using MuleSoft’s Terraform scripts. This requires a workstation with internet access and Terraform installed (though there is also a Docker method for those who don’t want to install such tools). On a high level, the installation process looks like this:
1. Create a new RTF in AnyPoint Platform Runtime Manager
2. Download RTF installation files from AnyPoint Platform Runtime Manager
3. Get access credentials for an IAM account with sufficient privileges for creating VPC’s, EC2 Instances, Disks, and Security Groups.
4. Configure various environment variables and update the Terraform scripts downloaded in step #2 to include Mule license information, activation data, and SSH keypair data so that installation can complete smoothly.
5. Run terraform init and terraform create to kick of the create of all required resources.
6. Once the initial networking and virtual machines have been created, you can SSH into the first RTF node and monitor the progress of the installation with a tail -f /var/log/rtf-init.log
7. Once completed, you will see the RTF is registered with a green status icon in AnyPoint Platform Runtime Manager, and you can proceed to configure your RTF to run applications (to be covered in our next article).
For the detailed steps, please consult the latest documentation for the AWS installation process.
Azure
Azure is also a well supported environment for running RTF, though the process is slightly different from the Terraform method outlined above. MuleSoft provides Azure Resource Manager templates to automate the installation. The installation process goes like this:
1. Create a new RTF in AnyPoint Platform Runtime Manager
2. Download RTF installation files from AnyPoint Platform Runtime Manager
3. Your Azure user has sufficient permissions for creating Virtual Networks, VMs, Disks, and Network Security Groups. Note that installation will be performed through a web browser, so no special credentials are required.
4. The base64 encoded Mule license will need to be stored in an environment variable will need to be set on the workstation, after which the generate-templates.sh script can be run from the azure directory in the files downloaded in step #2.
5. The user will chose to Deploy Template from the Azure web interface, after which one of the templates generated in the previous may be uploaded to the Azure and edited before deployment.
6. Once the deployment has started, the progress can be monitored from the Azure web interface. Once the initial networking and virtual machines have been created, you can SSH into the first RTF node and monitor the progress of the installation with a tail -f /var/log/rtf-init.log
7. Once completed, you will see the RTF is registered with a green status icon in AnyPoint Platform Runtime Manager, and you can proceed to configure your RTF to run applications (to be covered in our next article).
For the detailed steps, please consult the latest documentation for the Azure installation process.
[1] Installation scripts currently only available for Microsoft Azure and Amazon Web Services, with Google Cloud announced but not yet generally available. Customers can still perform manual installation on any infrastructure they wish as long as they meet the minimum system and networking requirements.
Other Options
For any other provider, you will need to run through the manual process, or ideally automate it using the supported tools. Most other major cloud providers (such as Google, Oracle, and Ali Baba Clouds) provide their own “infrastructure as code” tools to automate provisioning of resources in the cloud. These specific tools are usually the best for the job, but there is also the option of more universal tools like Terraform and Ansible. Work with your IT infrastructure teams to figure out the best approach.
Conclusion
Hopefully this brief discussion of considerations related to installing an RTF cluster has been helpful. In our next article, we will look at the process of deploying Mule applications to a newly installed cluster and enabling inbound traffic.