Various MuleSoft's terms and concepts
What is an API
An API is a piece of code that creates an access point to an application or a system. It's an intermediary that accepts requests from the outside, securely passes them to the system and then communicates the response back. The system remains a black box. The advantage - no need to know how the system works and processes requests, moreover, the system can be replaced entirely but the request-response chain will continue working perfectly well as long as the API knows how to 'talk' to the new system.
How does MuleSoft work?
MuleSoft offers numerous pre-built APIs for all types of applications and systems. By placing an API in front of your old legacy systems, you immediately acquire a modern way to interact with this system without knowing how it operates. If all your on-premise or cloud systems have an intermediary API, called System APIs, that can understand the modern system's language, then they can communicate by exchanging data. All MuleSoft APIs are organised in the network and are assigned different roles. More complex Process APIs are responsible for processing the extracted data and performing some logic, while Experience APIs deal with formatting the data to be presented to different media devices like desktops, mobiles, apps etc. The Anypoint platform is unique in its ability not only to manage and orchestrate API-led integration but also to develop and execute APIs.
Mule ESB (Enterprise Service Bus)
Enterprise Service Bus (ESB) is fundamentally an architecture. It is a set of rules and principles for integrating numerous applications over a bus-like infrastructure. The core concept of the ESB architecture is connecting different applications by putting a communication bus between them and then enable each application to talk to this bus. This approach decouples systems, allowing them to communicate without dependency on or knowledge of other participants.
Mule, the runtime engine of Anypoint Platform, is a flexible ESB solution that helps to increase agility by implementing a simple, well defined, "pluggable" system that scales well.
Orchestration and flows
Orchestration is required when there is a need to combine existing services to meet business requirements. It involves decoupling point-to-point integration in favour of chains of operations that can be reused or modified as systems or business needs change.
Flows enable new ways to orchestrate service mediation. For example, you can combine an arbitrary number of sources, routers, and components that work together to achieve implementation requirements. Flows enable you to orchestrate new forms of data movement based on flow-specific routers. Orchestration allows you to create and reuse flows and component chains, chain together multiple components in one flow, and integrate sources or connectors anywhere in a flow.
Difference between On-premise and CloudHub deployment?
Anypoint Platform is the same product whether a customer uses Cloudhub or installs on their private Cloud. Note though that the Anypoint Platform Private Cloud Edition (PCE) set up is typically 6 months behind in terms of product releases.
The two key parts of the product, Control and Runtime Plane, are in different locations depending on the chose deployment option. The Control Plane can only be customer-managed when opting for a PCE deployment model.
What is the difference between Mule ESB Enterprise Edition and Anypoint Platform?
Mule, a lightweight Java-based enterprise service bus (ESB), represents the Mule Runtime itself and so is just referring to 1 component of Anypoint Platform. The Anypoint Platform also includes the Design center, Management center and Anypoint Exchange.
What is MuleSoft zero downtime deployment?
CloudHub is responsible for keeping your application up-to-date, so API users experience zero downtime. During your application update, CloudHub keeps both the old version and the new version of your application running. Your domain points to the old version of your application until the new version is complete and fully started. This approach ensures no disruption to users as all requests are serviced from the old application while the new version is starting.
Because CloudHub is an integration platform as a service (iPaaS), MuleSoft manages the operating system and Mule runtime engine patching. CloudHub applies security patches as needed to ensure that your application is secure and, once per month, it updates Mule to maintain the stability of your application with zero downtime.