Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

CloudHub Interview Question

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

What is Anypoint Platform?

 Anypoint platform is highly productive, hybrid integration platform that creates an


application network of app, data and devices by producing and consuming reusable
assets.
 It is collection of Tools and Framework ( building application) and runtime for running
application

What are Anypoint Connectors in MuleSoft?


Anypoint connectors are used to integrate with SaaS and Cloud API e.g. Salesforce, AWS etc.
also you can connect your on-premise applications using connectors, there are various
connectors available like Database, Email, File, Salesforce etc.
What is API Portal in MuleSoft?
API Portal allows providers to expose and publicize their APIs, educate developers communities
about them, provision user access generate client keys and more
What is API Notebook in MuleSoft?
API Notebook is web based tool for building interactive tutorials and examples in a Java Script
workspace
What are deployment options available in MuleSoft?

 Cloud hub
 On-premise
 Runtime Fabric(RTF)
 Anypoint PCE(Anypoint Private Cloud Edition)
 Anypoint PCF(Anypoint Platform for Pivotal Cloud Foundry)

What is Cloudhub?
Cloudhub is an (iPasS) Integrated platform as a service which is multi-tenant, secure, highly
available service where we can deploy our integration application on cloud also integrate on-
premise application with cloud services
How many ways you can deploy application on Cloudhub?

 Anypoint Studio
 Runtime Manager
 Anypoint CLI
 Cloudhub API

What is PCE (Platform Cloud Edition in MuleSoft)?

 With Anypoint Platform Private Cloud Edition (Anypoint Platform PCE), you run and
manage Mule applications on your local servers
 Anypoint Platform PCE uses Docker and Kubernetes to provide built-in high availability
and scalability.
 You can install the platform without understanding Docker or Kubernetes

What is RTF (Run time Fabric)?


Anypoint Runtime Fabric is a container service that automates the deployment and orchestration
of your Mule applications Runtime Fabric runs on customer-managed infrastructure on AWS,
Azure, virtual machines (VMs)
Features of RTF

 You can scale your mule application
 There is option to run multiple version of mule runtime on same set of resources
 Isolation between application by running a separate Mule runtime per application

Why we use Mule Maven Plugin?


The Mule Maven plugin allows you to integrate the packaging and deployment of your Mule
applications with your Maven lifecycle.
By using mule maven plugin you can automate the deployment of mule application on Cloudhub,
on-premise or on RTF
What is the difference between op-premise deployment and cloud hub deployment
strategy?

 With Cloud hub deployment strategy you can deploy maximum 10 Application on 1 vCore
machine but in on-premise you can deploy 100 application on 1 vCore depends on the
 In Cloudhub mule runtime will be managed by the MuleSoft, in on-premise mule runtime
will be managed by the Customer itself

What is persistent queue?


Persistent queues ensure zero message loss and allow you to distribute non-HTTP workloads
across a set of workers, Persistent queues also guarantee delivery of your messages; even if
one or more workers or data-centers go down, persistent queues facilitate disaster recovery and
provide resilience to hardware or application failures.
Why we used Anypoint VPN?
We use Anypoint VPN to create a secure connection between MuleSoft VPC and on-premise
network
What is static IP and in what scenarios static IP gets changed?
Static IP is the IP Address of the worker displayed on the cloud hub console; by default you are
allocated a number of static IP equal to twice the number of production vCores. Static IP can be
changed in below scenarios

 Deleting an application will also remove its Static IP. If you create a new
application with the same name, it will have a new dynamically assigned IP
address.
 Adding a new application by moving it from Dev to QA. This requires a new
application name and a new Static IP is generated
 When application is re-deployed to a different geographic region

In which time zone MuleSoft scheduler runs?


Mulesoft Schedulers always run in UTC/GMT timezone
What happens to your logs when you delete mule application from Cloudhub?
After you delete your application your log data is no longer accessible through the console,
Cloudhub archive old log data for a limited period of time before being purged, if you want to
recover data you have to raise support ticket with MuleSoft.
What is object store V2?
 Object Store v2 lets Cloudhub applications store data and states across batch processes,
Mule components and applications, from within an application.
 Persists keys for 30 days unless updated. If a key is updated, the TTL (time-to-live) is
extended by another 30 days from the current expiration date
 Allows for an unlimited number of entries. There is no limit on the total size of v2 object-
stores.
 Stores values up to 10 MB

How can one mule app access the object store of another mule app?
            To share data between Mule 4 apps create a flow to retrieve the data using the Retrieve
operation in the Object Store Connector 
What is Anypoint MQ?

 Anypoint MQ is a multi-tenant, cloud messaging service that offers customers to perform


asynchronous messaging scenarios between their applications.
 Anypoint MQ is fully integrated with Anypoint Platform
 Anypoint MQ requires a separate Enterprise subscription

How MuleSoft scheduler runs in multi worker cloud hub environment


Mule runtime cluster or multi-worker Cloudhub deployment, the Scheduler runs (or triggers) only
on the primary node (that is, only in one Mule runtime).
How you can prevent your application hosted in Cloudhub from being publicly accessible
Remove the Anypoint VPC Firewall rules with source Anywhere (0.0.0.0/0) and port 8081/82 or
create a whitelist in your dedicated load balancer with the IP Address you want to authorize.
What is Control Plane?
In Anypoint Platform, the control plane consists of Anypoint Design Center, Anypoint
Management Center, and Anypoint Exchange, API Manager Etc. Control plane is used to deploy,
monitor and manage the running application in Mule runtime
What is Anypoint runtime Plane?
Anypoint runtime plane is used where we deploy the mule runtime application also where the
mule runtime engine runs, in case of Cloudhub runtime plane will be managed by MuleSoft and
for on-premise and RTF Runtime plane will be managed by Customer
What is EU Control Plane?
MuleSoft hosts a version of the Anypoint Platform control plane entirely within the EU (Frankfurt
or Dublin data centers). This enables you to deploy and manage your APIs, applications, and
related data entirely within the European Union. This includes data and metadata about your
MuleSoft implementation. The EU control plane ensures that all MuleSoft data is stored within
the EU
What is Anypoint Visualizer?

 Anypoint Visualizer displays views of different aspects of an application network graph.


 Anypoint Visualizer provides a real-time, graphical representation of the APIs and mule
application that are running.
 It also displays third party system that are invoked by a mule API, proxy or application
within your application network
 Anypoint Visualizer collects data from Mule applications, APIs, and proxies deployed to
Cloudhub; from standalone Mule runtime engines (Mule instances); or from Runtime
Fabric, to discover all incoming and outgoing connections through an embedded plugin.
What is Anypoint VPC?
The Anypoint Virtual Private Cloud (VPC) offering allows you to create a virtual, private, and
isolated network segment in the cloud to host your Cloudhub workers
Connecting to your Anypoint VPC extends your corporate network and allows Cloudhub workers
to access resources behind your corporate firewall. You can connect on-premises data centers
through a secured VPN tunnel, or a private AWS VPC through VPC peering, or by using AWS
Direct Connect.
What are the methods to connect on-premise network with Anypoint VPC
You can use an IPsec tunnel with network-to-network configuration to connect your on-premises
data centers to your Anypoint VPC. An IPsec VPN tunnel is generally the recommended solution
for VPC to on-premises connectivity
What is VPC Peering?
VPC peering provides connectivity between two VPC, this enables you to route traffic between 2
VPCs so that they can communicate as though they are in same network.
To use VPC peering your AWS and Anypoint VPCs must be located in the same AWS region
Why we use Shared Load Balancer (SLB)?
Shared load balancer is a default load balancer provides basic load balancing functionality, with
Shared load balancer you cannot configure customer SSL certificate proxy rule. Shared load
balancer has lower rate limits
Why we used Dedicated Load Balancer?
Cloudhub dedicated load balancers (DLBs) are component of Anypoint Platform that enable you
to route external HTTP and HTTPS traffic to multiple Mule applications deployed to Cloudhub
workers in a Virtual Private Cloud (VPC).
Features of DLB:

 It handles the load balancing among different cloud hub workers
 You can also configure the custom SSL certificate and enforce 2-way SSL client
authentication

How can you achieve the High Availability in MuleSoft?

 HA is to keep overall system operational when a system component fails, usually it is


achieved with multiple level of fault tolerance or load balancing.
 In case of on-premise you can deploy the mule application on multiple Clusters
 In case of Cloudhub you can deploy the mule application on multiple cloud hub workers
i.e horizontal scaling to multiple mule run time

 
 What is API Manager?

 API Manager is a component of Anypoint Platform for managing APIs.


 API Manager manages APIs that reside in Exchange
 API Manger is used to apply the policies on APIs

What is API Autodiscovery?

 API Autodiscovery is used to pair the API in API Manger to it deployed mule application
 When autodiscovery is correctly configured in your Mule application you can say that
your application’s API is tracked by or paired to API Manager.
 An API in a Mule runtime can only be associated with one autodiscovery instance. No
two Autodiscoveries can be associated to the same API in a Mule Runtime.

What is API Gateway?


API Gateway is embedded inside mule runtime, using this gateway any user can apply basic
authentication policy on top of Mule application, enrich and incoming outgoing message or any
other complex capability to an API without writing code. Basically it is an orchestration layer on
top of your back end API to help you separate orchestration from implementation.
What are API security policies are available in MuleSoft?

 XML or JSON threat protection – this will protect against the oversized XML or JSON
payload
 Client ID enforcement – authentication is need for proper use of an API, only client
authorized can use the API and no one else
 SLA-based Rate Limiting – this is more need in case we want to monetize an API
otherwise ignored e.g.
 Free – 20 request per minute
 Unlimited – 100K request per minute
 IP blacklisting – this can be used if we want to limit the consumption of an API to
particular IPs e.g. IPs know for hacking etc.
 Tokenization – to tokenize any element which can be sensitive e.g. credit cards etc.
 HTTP Caching – in case we think the response don’t change frequently and it’s ok to
send the same response for particular request

What is the difference between Throttling and Rate Limiting?


Rate Limiting and Throttling are the API Policies available in MuleSoft, you can apply these
policies through API Manager.
Rate Limiting: The Rate Limiting policy limits the number of requests an API accepts within a
window of time. The API rejects requests that exceed the limit
Throttling: The Throttling policy queues requests that exceed limits for possible processing in a
subsequent window. The API eventually rejects the request if processing cannot occur after a
certain number of attempts. You can configure a delay between retries, as well as limit the
number of retries

What are API Fragments in RAML


API Fragment is part of RAML specification; it is not in itself a complete RAML specification.
These are the small reusable component used in API specification. You can create fragment and
publish it to exchange to make it reuse in the organization. Example of Fragments: Library, Data
Type etc.
Why we use Design Center

 Design center can be used to write API definitions with RAML using API Designer
 You can also create API Fragment in RAML, after you create a specification or fragment
you can publish it to Anypoint Exchange so that it can be reused in the organization
 Design center can also be used to create mule applications using flow designer

How to achieve the parallel processing in MuleSoft?


To achieve the parallel processing you can use scatter gather or batch job and with mule 42
onwards there is also parallel for each has been added to process the message simultaneously,
How to invoke the Custom Java Class from inside a dataweave

%dw 2.0
Import java!com.mycompany::classname
output application/json
---

{
  a: classname::methodName("myString")
}

How to access secure property inside dataweave?


By using p(‘secure::<property name>’) you can access the secure property defined as part of
secure property file in mule application
How can you raise error explicitly in Mule flow/subflow?
By using the Raise Error component you can explicitly raise the error in between the
How can you handle errors in middle of the processing in MuleSoft?
You can use the Try block to handle the errors in between the flows, try block also support the
transaction. By using try block you can use the on-error continue or on-error propagate to handle
the error
How will you combine 2 arrays into single array in MuleSoft?
You can use flatten dataweave function to combine two arrays in to single array
What are target variable in MuleSoft
When creating a flow in mule app, you can store data in variable so that any component in a flow
can use it. In Mule 4 Target Variable replaces the Message Enricher of Mule 3, target variable is
available with most of the connectors
How many phases are there for batch job in Mule 4
Each batch job contains 3 different Phase

 Load and Dispatch.
 Process
 On Complete.

When we should use batch processing


You can use batch processing when:

 Synchronizing data sets between business applications, such as syncing
contacts between two different ERPs
 Extracting, transforming and loading (ETL) information into a target system, such
as uploading data from a flat file (CSV) to Hadoop.
 Handling large quantities of incoming data from an API into a different systems
Why we use Batch Aggregator scope
Batch Aggregator scope is used to accumulate a subset of records from a batch step and
process them to external source or service for example rather than processing single record to
target system you can use batch aggregate to process all the records at once. You can also
configure batch aggregator scope to process fixed size groups of records inside a batch
aggregator scope
What is the difference between For each and Batch Process
For each do the processing in single thread while Batch Process performs multi-threaded
processing
How to manage the Transaction in MuleSoft
MuleSoft supports two types of transactions

 Single resource( Local)


 XA transactions (extended architecture)

You can configure the transaction depends on the requirement


You can start a transaction from a message source. In this case, the entire flow takes part in
transaction This is useful when working with messaging connectors to prevent the consumption
of the message if a problem occurs when processing it, allowing you to retry later (because of the
rollback).
You can also use the Try block which support the transaction when you want to handle the
transaction in middle of the flow
There are below transaction Action define the type of action that operations take regarding
transactions

 Always_Begin
 Always_Join
 Begin-or-join
 Join-if-possible
 Indifferent
 None
 Not Supported

What are various types of error handling in Mule 4?


Mule 4 has redesigned error handling by introducing the error-handler component, which can
contain any number of internal handlers and can route an error to the first one matching it. Such
handlers are on-error-continue and on-error-propagate.
How can you process message asynchronously in MuleSoft?
You can use the Async Scope to process the message asynchronously. Async can be used to do
the processing in parallel with the main flow, it can be used to process the time consuming
operations that does not expect a response back  
How can you achieve the Reliability in MuleSoft?
If your application uses a transactional transport such as JMS, VM, DB etc. Reliable messaging
is ensured by the built in support of transactions in the transport. Reliable messaging pattern is
important when dealing with non-transactional endpoints
How can you improve performance of Mule Application in MuleSoft?
There are multiple ways to improve the performance

 Try to save the result and reuse them later


 If processing is expansive do it only once and save result and use them later
 Try to put the validation at start of the flow
 Use Streaming to process data
 Try to process the data asynchronously wherever is possible

How can you optimize memory efficiency of the Code in MuleSoft?

 Do not save the Payload in to the flow Variable as it is more memory consuming
element
 Do not load unnecessary part of the document
 Use better Database polling for highly concurrent scenarios

How will you implement caching in MuleSoft?


There are 2 ways to implement the caching in MuleSoft
1.
 Use Object Store 
 Use Cache scope to cache the Response

 
           If we wanted to process only one message at a time in mule flow how can we
achieve that?
            we can make a flow to process in single thread, there is an option to define the Max
Concurrency  you can configure the same as 1 to   process only one message at a time
 
What is runtime manager?

 Runtime manager is to deploy and manage mule application on mule runtime engine,
where mule runtime is running on Cloudhub or on-premise or on RTF.
 By using runtime manage you can deploy/undeploy the mule app
 You can change the runtime version at any time
 You can increase/decrease the worker size

What is vCore?
It is unit of compute capacity for processing on Cloudhub. In 1 vCore maximum 10 applications
can be deployed where 0.1 vCore will be consumed by each mule application
What is worker in MuleSoft?
Worker is an dedicated Instance of Mule hosted on AWS is used to run your integration
application
Features of workers:

 Capacity: Each worker has a specific amount of capacity to process data.
 Isolation: Each worker run in a separate container from every other application
 Manageability: Each worker is deployed and Managed independently
 Locality: Each worker runs in specific worker cloud such as US,EU or Asia-Pacific
How many mule applications you can deployed in one worker in Cloudhub
Only one Mule Application can be deployed in MuleSoft in one worker
What is minimum and maximum Worker size available in Cloudhub?
0.1 vCores is the Minimum and 16 vCores is the maximum worker size available in Cloudhub
What is horizontal scaling and vertical scaling?
Vertical scaling is to increase the worker size, when you want to process the CPU Intensive
API’s or process large payload with small number of request increase the vCore size.
Horizontal scaling is to increase the number of worker, if you want to increase the throughput of
high frequency small payload
How to achieve clustering in MuleSoft
You can achieve this by adding multiple workers to your application to make it horizontally scale,
Cloudhub automatically distribute multiple workers for same application across 2 or more data
centres for maximum reliability When deploying your application to two or more workers, the
HTTP load balancing service distributes requests across these workers, allowing you to scale
your services horizontally. Requests are distributed on a round-robin basis.
Can you disable the Cloudhub Logs?
Yes, in that case only the system logs are available in Runtime Manager. System logs provide
the status of your worker deployment and whether your application started correctly, but do not
provide application logs
What is Mule Runtime?

 A Mule runtime is a runtime engine used to host and run Mule applications – Similar to an
application server
 Mule runtimes can be provisioned on-premises and/or in the cloud
 One Mule runtime can host several Mule applications

What all different API policies should be applied on different API levels like Experience,
Process and System Level?
Experience

 Client ID enforcement – authentication is need for proper use of an API, only client
authorized can use the API and no one else
 SLA-based Rate Limiting – this is more need in case we want to monetize an API
otherwise ignored e.g.
 Free – 20 request per minute
 Unlimited – 100K request per minute
 IP blacklisting – this can be used if we want to limit the consumption of an API to
particular IPs e.g. IPs know for hacking etc.
 Tokenization – to tokenize any element which can be sensitive e.g. credit cards etc.
 HTTP Caching – in case we think the response don’t change frequently and it’s ok to
send the same response for particular request
 Cross-Origin resource sharing – is a standard mechanism that allows JavaScript
XMLHttpRequest (XHR) calls executed in a web page to interact with resources from
non-origin domains. CORS is a commonly implemented solution to the “same-origin
policy” that is enforced by all browsers.

Process
 IP whitelisting – making sure the request are coming from allowed VPC or within
organization
 SLA-based Rate Limiting – it will make sure that target system will not go down in case of
burst request
 Client ID enforcement – authentication is need for proper use of an API, only client
authorized can use the API and no one else

System

 IP whitelisting – making sure the request are coming from allowed VPC or within
organization
 SLA-based Rate Limiting – it will make sure that target system will not go down in case of
burst request
 Client ID enforcement – authentication is need for proper use of an API, only client
authorized can use the API and no one else

Other – based on requirement and can be applied on any level


 
How many ways we can ensure data and API security?

 Multi-factor Authentication
 Token-based authentication
 Digital signature
 Public key cryptography
 Digital certificate

What are keystore and truststore?

 In SSL handshake purpose of trustStore is to verify credentials and the purpose of


keyStore is to provide credential. keyStore stores private key and certificates
corresponding to there public keys and require if you are SSL Server or SSL requires
client authentication.
 TrustStore stores certificates from third party, your Java application communicate or
certificates signed by CA(certificate authorities like Verisign, Thawte, Geotrust or
GoDaddy) which can be used to identify third party

You might also like