Runtime Fabric Manager on Elastic Kubernetes Service Architecture and Components - Part 1
MuleSoft Community
Welcome to the MuleSoft Community page keeping MuleSoft Developers, Architects, and Business Users informed!
Introduction
As we are aware, MuleSoft provides various deployment options which includes Customer Hosted Mule Runtime, CloudHub, Runtime Fabric Manager on Bare Metals/Virtual Machines and Runtime Fabric Manager on Self-Managed Kubernetes (EKS/AKS/GKE). It is very important to select the right deployment options for your enterprise and this is only possible if we have concrete requirements and are aware of all deployment options and its capabilities.??
For choosing right deployment options, we need to consider various factors like High Availability, Fault Tolerance, Scaling, Disaster Recovery, Resource Allocation and Requirements, Security, Reliability, Operations and Maintenance of the platform, shared responsibility model, cost and it is very important to consider organization strategy, policies, and current landscape etc.
In this blog, we will be going to explore the capabilities of Runtime Fabric Manager on Elastic Kubernetes Service (EKS) and how it is different from Runtime Fabric Manager on Bare Metal Server/Virtual Machines.?
EKS Architecture
Before we get into the RTF, let's first understand EKS Architecture and its capabilities. It is very important to design and set up robust, secured EKS with High Available, Fault Tolerance, Durable and maybe Disaster Recovery in case the customer is looking for 100% business continuity.?
EKS is a fully managed AWS service that makes you run Kubernetes on AWS without requiring the user to maintain their own Kubernetes in Control plane. It is an AWS service to run, manage, scale or deploy the containerized application in the Kubernetes.
In EKS architecture, the Kubernetes control plane is managed by EKS that is running in EKS managed VPC. EKS automatically manages the scalability and durability of the Kubernetes control plane nodes and it automatically replaces unhealthy nodes.
Kubernetes control planes communicate to worker nodes via EKS Managed ENI, and it is generally provisioned in multiple Availability zones by EKS. Below is the physical architecture of Elastic Kubernetes Service (EKS) and that explains what different components are required for EKS and how Kubernetes control planes communicate with EKS worker nodes and how clients can communicate with applications deployed on the worker nodes.
Runtime Fabric Manager Architecture on Elastic Kubernetes Service
Anypoint Runtime Manager on Self-Managed Kubernetes allows you to deploy the MuleSoft application and API proxies on Kubernetes Cluster.?
Ingress Controller
Anypoint Runtime Fabric Manager allows you to specify custom ingress configuration using an ingress resource template. Ingress has capabilities like SSL Termination or Offloading, SSL Tunneling, Load Balancing, Routing etc. Ingress exposes HTTP or HTTPS routes from outside the cluster to the services within the cluster.
领英推荐
For configuring the Ingress Controller, read the blog ?
Persistence Gateway
Persistence Gateway allows you to store the application object store or vm data and that can be shared across the applications. With Persistence Gateway, this data will be not lost or persisted in case application restarts. Persistence Gateway supports only Postgresql databases.
Last Mile Security
Last Mile Security enables HTTPS traffic between Ingress and Application deployed on worker nodes. Runtime Fabric Manager on Self-Managed Kubernetes does not include Ingress in product scope. It is part of ingress configuration, and this may vary as per ingress has been used. Application deployed to EKS cluster always listens on port 8081.
Runtime Fabric Manager on Bare Metal or VMs V/S Runtime Fabric Manager on Self-Managed Kubernetes
Runtime Fabric Manager on Elastic Kubernetes Service Architecture
In the above architecture, we have used VPN connection to connect corporate datacenter resources and services. VPC is connected to the corporate datacenter via Transit Gateway and Transit Gateway to VPN Connection. In your architecture, you can use any other connectivity options provided by your Cloud Provider like Direct connect etc. to connect corporate data centers.?
Note - Transit Gateway has been just one of the examples shown here as a connectivity option and it can be a different connectivity option within your organization and it completely depends where and how you want to connect.
Conclusion
This blog completely explains how to design and architecture EKS and RTF to ensure High Availability, Fault Tolerance, Durability and what are the different components required for setting up Runtime Fabric Manager on Elastic Kubernetes Services. It is also providing insights on how Runtime Fabric Manager on Virtual Machines and Bare Metal is different from Runtime Fabric Manager on Self-Managed Kubernetes.In Part 2 of this blog we will walkthrough various concepts related to Runtime Fabric Manager on Elastic Kubernetes Service like CPU Bursting, Networking, TLS, Ingress etc.
Author
Jitendra Bafna , MuleSoft Ambassador, EPAM Systems
Director @ Capgemini - Enterprise Architect (Digital Transformation, Cloud solutions, Integration solutions) and Quantum Enthusiasts
2 年Great job Jitendra !
Offering and Capability Manager @ Spindox | MuleSoft Ambassador | Integration Architecture
2 年You did an amazing job!
MuleSoft Practice Head and Architect | MuleSoft Ambassador | TOGAF 9 Certified | MuleSoft Meetup Leader and Speaker | 11x Salesforce Certified and 9x Superbadges | MuleSoft Delivery Champion | Trailhead Ranger
2 年Thanks for the sharing and publishing. Sabrina Hockett