Aaron Lieberman, a MuleSoft Practice Manager and Lead Consultant at Big Compass will walk us through on how Runtime Fabric can deploy and manage applications deployed to AWS. He will also demonstrate on how a Mule 3 and Mule 4 application can run in parallel in the same Runtime Fabric. With any public API, it has never been more important to enhance your security posture and provide deep visibility with logging and monitoring techniques. Aaron will also talk about how security and logging can work seamlessly with your distributed application network to make supporting any application better.
Finally, any modern application must be highly available and provide fault tolerance. We will have some fun with wreaking havoc on our Runtime Fabric infrastructure, and see how the highly available architecture holds up against potential infrastructure outages and attacks.
24. See you next time
Please send topic suggestions to the organizer
Editor's Notes
Runtime Fabric combines great facets of on-prem and the cloud by allowing you to manage your applications just like you would in the cloud, but runs on your infrastructure so it has a lot of different benefits and use cases
Application isolation
Although apps can run on the same set of resources, each app is isolated from one another with the use of Kubernetes and Docker and uses core allotment to dedicate resources to each app on your infrastructure
Capability to run multiple versions of the Mule runtime on the same set of resources
Mule 3 or Mule 4
Easily scale applications
The use of Kubernetes under the hood allows you to scale your applications just as you would using CloudHub – great management and extreme ease of use for on-prem resources/deployments
Automated application fail-over
If your application crashes, Runtime Fabric is smart enough to keep tabs on the number of replicas of an application you want running at any one time, and will deploy another replica of your app in the event of an application failure
Out of the box management portal with Anypoint Runtime Manager
Unprecedented application management for on-prem resources
Again, combines great facets of on-prem and the cloud
High availabilty
Automated failover
Isolation
Rolling deployments
Speed and agility - Combining the features of on-prem + cloud
Management is a crucial benefit here.
You can scale, monitor, secure, deploy, modify, and connect your applications with many of the Anypoint Platform features
Multi and hybrid cloud
AWS
Azure
Data Centers
If you want to bring cloud benefits to on-prem, Runtime Fabric is the way to go
Does not require knowledge of what occurs under the covers so you can enable non-technical users
Hosting location
You can host where your data resides
Can power your internal, quarantined systems/apps/processes
Compliance and Security
If your organization requires that you own your own infrastructure, this is a great option
Organizations that cannot deploy to the cloud due to compliance or security regulations
On-premise deployments
Connect your on-prem deployments to the cloud for ease of management
Management
A key use case. Centralizing your application management saves time and money and allows organizations to be more agile
You can scale, monitor, secure, deploy, modify, and connect your applications with many of the Anypoint Platform features
Agile Deployments
Deploy at the speed of the cloud thanks to Docker and Kubernetes under the hood
Speed up deployments for your organization
Rolling deployments with 0 downtime
If deployments affect your business continuity, this is a great option
Support
Open up support to non-technical users
Enable technical and non-technical users to support your applications
On-premise
Hosted on your infrastructure
Controlled from MuleSoft’s Control Plane
The struggle with on-prem is the lack of isolation, flexibility, and agility, or the manual effort required to get you there
Same runtime and applications on the same server can affect one another
CloudHub
CloudHub is still recommended if possible
Ease of management and the agility and speed of the cloud
Rolling deployments with 0 downtime
Isolation and multiple versions of MuleSoft available on the same infrastructure
High availability with load balancing
Runtime Fabric
Runs on your infrastructure
Cloud-like application management
Ease of management and the agility and speed of the cloud
Rolling deployments with 0 downtime
Isolation and multiple versions of MuleSoft available on the same infrastructure
High availability with load balancing
AWS
Azure
Data Center
Architecture
Controllers
Used to connect MuleSoft’s control plan to workers
Facilitates traffic from clients to workers
Connects the external world to your applications on your workers
Workers
Runs your applications
Isolation
Facilitated through the use of Docker and Kubernetes
Vertical scaling
Horizontal scaling
Availability Zones used for High Availability
Each controller in a different AZ
Each worker in a different AZ
Controllers separated from workers
Runtime Fabric services on each server
Each server requires RTF services to be installed on it alongside the controller/worker application
There is an external load balancer and internal load balancer
External LB directs traffic from clients to the controller
Internal LB’s on controller servers direct traffic from the controller to the correct application on a worker that is available
This is a recommended Production environment setup with 3 controllers and 3 workers
Server Statistics Recommended
3 servers, each with:
2 CPU cores
8 GiB memory
80 GiB dedicated disk for OS
60 GiB dedicated disk with 3000 provisioned IOPS
250 GiB dedicated disk with 1000 provisioned IOPS
1 Gbps network connection between servers
3 servers, each with:
2 CPU cores
15 GiB memory minimum
80 GiB dedicated disk for OS
250 GiB dedicated disk for log/metrics storage
1 Gbps network connection between servers
Flow of traffic
Client makes request
External Load balancer directs request to controller
Controller internal load balancer directs request to the correct application on a worker
The Control Plane is where you design, create, and manage your applications
How does it work?
MuleSoft’s control plane connects with a controller server
The controller then communicates with other controllers and all workers
Ops Center
Provides visibility into applications
View logs
View running servers
View Kubernetes setup
Monitor applications
Runtime Manager
Where you can scale, deploy, allocate resources to, and set properties for your application as if it were deployed on CloudHub
Controllers
Used to connect MuleSoft’s control plan to workers
Facilitates traffic from clients to workers
Connects the external world to your applications on your workers
Workers
Runs your applications
Installation varies from platform to platform
RTF can be installed on
AWS
Azure
Data Center
Before you begin on AWS
Mule License file
Create Runtime Fabric in Runtime Manager
Anypoint user has Manage Runtime Role
AWS user has full access to create EC2, Disks VPCs etc
AWS installation uses Terraform
Terraform is a script that provisions required AWS resources
This script requires a few environment variables such as
activation_data from RTF screen
AWS Key_pair
number of controllers and workers
mule_license
Verify installation by logging into OpsCenter
OpsCenter is a portal to monitor RTF infrastructure and l
Post installation configuration
Associate business groups and environments
Enable Inbound traffic
Generating certificate-key pair
Create TLS context for enabling inbound traffic
Gather your CloudHub keys, gather your AWS keys, set up roles, obtain certificates, etc before installing – otherwise you will play the hurry up and wait game
We run 1 m4.large and 2 r5.large EC2 instances
Big Compass’ demo included 3 servers
2 workers and 1 Controller
Overall create your plan/design before installing and the install will be smooth
All in all we stood up our demo environment in a day