Author: Akshata Sawant
Mulesoft has a lot to offer when it comes to deployment models. Making a wise decision while choosing the right deployment model is very important and it depends on several factors that help us to decide the deployment environment. Based on the customer’s current infrastructure, organization, and budget, etc we can decide which deployment option to select.
Before diving into the different flavours of deployment options, let’s first understand some basic concepts –
- Runtime Engine: Mule is the runtime engine for the Anypoint Platform and the industry’s only runtime that can be used for a broad range of use cases from legacy, SaaS, and B2B integrations all the way to API implementation and management.
- Control Plane: It includes Anypoint Exchange, Anypoint Design Centre, and Anypoint Management Centre.
- Runtime Plane: It includes Mule Runtime Engine, Anypoint Connectors, and Runtime services.
Choosing a deployment model that caters to your client requirement is important and hence there are different parameters we take into consideration before selecting a deployment model
1.Cost involved
2.Existing Network/IT Infrastructure
3.Willingness to Move to Cloud
4.Security and regulations associated with Data/MetaData
5.Current Architecture
6.No of APIs/API Network
Different Deployment Environments
We will primarily categorize deployment model into 3 sections — Fully Cloud-based, Fully Customer-Hosted and Hybrid model
1.Fully-Cloud-Hosted
You can call it fully iPaaS or fully MuleSoft Hosted Deployment Model or CloudHub
Runtime Plane: MuleSoft Hosted (Cloudhub)
Control Plane: MuleSoft Hosted (Cloudhub)
When to opt for Cloudhub:
- If you’re fine with your data/meta-data leaving your on-premise environment
- If you don’t have a separate Infrastructure Management(Network mgmt), team
- If your organization is a startup and new to Cloud service management
- No legal/government regulations involved with data
- Do not have time and workforce to set up the entire Cloud infrastructure
- If you have a smaller number of applications and don’t wish to invest in a separate Cloud Infrastructure
Further, you can opt for Shared(SLB) or Dedicated(DLB) Load Balancers depending on the criticality of data or the certificates which you wish to use (i.e., If you wish to host your application on a private or public network)
Pros of Cloudhub Deployments :
- High availability
- Load balancing — SLB, DLB
- Cloudhub Logging
- Cloudhub Monitoring
- Scheduling
- Security updates
- Troubleshooting
- Shared resource support
- Distributed locks
- Automated patches/updates will be applied
Cons of Cloudhub Deployment:
- Domain Project not supported
- Workers could be expensive
- VPC/VPN charges are extra(apart from CH license and worker charger)
Architecture :
2.Fully Customer-Hosted :
You can call it fully IaaS or Fully Customer Hosted
i. Fully On-Premise
Runtime Plane: On-Premise
Control Plane: On-Premise
Even when you opt for fully on-premise you can have RTF in case you wish to build your application network(Microservices) or simply your Mule Runtime Architecture
When you want to opt for fully on-premise you can either have-
RTF — When we wish to use Microservice with customer hosted runtime
Only Basic Mule Runtimes — When you have no plans of building an application network
When to opt for On-Premise:
- When you want your data/meta-data shouldn’t leave your organization or your premises.
- When you’re an established organization and you’re not planning on cloud migration
- When you’re planning to use your existing on-premise infrastructure.
- When you don’t have cost-related obligations and you’re perfectly fine managing your on-premise infrastructure.
Benefits of Fully On-premise :
- Provides greater security, as your data doesn’t leave your premises.
- Complete control over your Mule instances, network, and security policies.
- We can create a common domain project to reference configurations of different Mule applications.
ii. Fully IaaS
Runtime Plane: Customer hosted on (GCP, Azure, AWS, etc)
Control Plane: Customer Hosted
When you want to opt for IaaS which is completely customer hosted you can either follow-
RTF — When we wish to use Microservice with customer hosted runtime
PCF — When you want to use Microservice architecture and utilize PCF
Only Basic Mule Runtimes — When you have no plans of building an application network
When to opt for Fully IaaS:
- When you’re fine with your data leaving your organization
- When you’re a startup and you’re planning on cloud migration
- When you have a limited number of applications.
- When you have some regulations on data.
- When you don’t have Mulesoft hosted customer plane
- When you have cost-related obligations and don’t want to switch completely to Cloud.
Benefits of Fully On-premise :
- Provides greater security, as your data doesn’t leave your premises.
- Complete control over your Mule instances, network, and security policies.
- We can create a common domain project to reference configurations of different Mule applications.
3.Hybrid (MuleSoft + Customer Hosted):
i. iPaaS + IaaS
Runtime Plane: Customer-Hosted (GCP, Azure, AWS, etc)
Control Plane: MuleSoft — Hosted
When you want to opt for IaaS which is completely customer hosted you can either follow-
RTF — When we wish to use Microservice with customer hosted runtime
PCF — When you want to use Microservice architecture and utilize PCF
Only Basic Mule Runtimes — When you have no plans of building an application network. You have Mulesoft hosted customer plane and customer hosted runtime plane on IAAS Platform(AWS, Azure & GCP)
When to opt for Hybrid (iPaaS + IaaS):
- When we’re fine with data/metadata leaving the organization
- When you’re planning for cloud migration
- When you think hybrid solution will save you cost and time to set up the infrastructure
- When you’re planning to retain your existing infrastructure and slowly move towards cloud based infrastructure
- When you have more number of applications to be deployed and you think fully cloud based will be expensive
- When you have Mulesoft hosted control plane
- When you’re looking for cost saving by trying to move from on-premise and the pain involved in maintaining on-premise systems
ii. iPaaS + On-Premise
Runtime Plane: Customer hosted on (GCP, Azure, AWS, etc)
Control Plane: Customer Hosted
When you want to opt for iPaaS which is completely hosted on-premise you can either follow-
RTF — When we wish to use Microservice with customer hosted runtime
Only Basic Mule Runtimes — When you have no plans of building an application network. You have Mulesoft hosted customer plane and customer hosted runtime plane on you on-premise infrastructure.
When to opt for Hybrid (iPaaS + On-Premise):
- When there are no regulations on data
- You’re fine with metadata leaving your organization
- When you’re looking for cost saving by trying to move from on-premise and the pain involved in maintaining on-premise systems
- When you’re planning to retain your existing infrastructure and slowly move towards cloud based infrastructure
Pros of Hybrid Model:
- Can utilize shared resources using domain project
- Reduced latency
- Leverage existing load balancers for vanity domains
Cons of Hybrid Model:
- Scalability is difficult in case you wish to add new servers
- You still need to maintain some part of the infrastructure
- You need to take care of updates/ patches manually