SlideShare uma empresa Scribd logo
Manchester, UK | 29 October, 2019
Manchester MuleSoft Meetup #2 -
Monitoring & Logging
Francis
Integration Analyst
Saint-Gobain Building
Distribution
Dave
Lead Solution Engineer
MuleSoft
Kevin
CTO
Ricston
Dave Felcey - Solution Engineer
Anypoint Monitoring
For Resilient Operations
Incident #22664
Failure rate above threshold
Incident #25324
Failure rate above threshold
Incident #64243
Failure rate above threshold
Is this a
real issue?
Do I even know
how to fix this?
All contents © MuleSoft Inc. 9
Account
Web
Transaction
Order
Account for
SAP
Order
Fulfillment
Notification
for twitter
Order for
.net
Product
for NetSuite
Product
for SAP
Notification
for gmail
Notification
Notification for
facebook
Product
for MySQL
Product
Notification
for twilio
SAP
SAP
Account for
MySQL
!
Product
for SAP
!
Account for
SFDC
Meanwhile…
All contents © MuleSoft Inc.
All contents © MuleSoft Inc.
What was a simple…
12
Technical
issue
Customer
issue
Business
issue
How can this happen?
All contents © MuleSoft Inc.
How can this happen?
14
Alert storms Distrust in the data
Uncertainty on
how to resolve
Lack of APM and logging strategy in place
All contents © MuleSoft Inc.
Which means…
15
Team morale is low
Endless alerts
and fire drills
MTTR is too long
Issues aren’t
resolved quickly
TCO is high
High cost from
licensing, staffing a
team, and long MTTR
All contents © MuleSoft Inc.
So how do you...
16
Get alerts about
real issues
Store and access
relevant data
Know what to
resolve and how
Put an APM and logging strategy in place
5 steps to
operationalize monitoring
1. Establish what you want
to track and how
All contents © MuleSoft Inc.
A good place to start is by measuring…
19
● Inbound and outbound traffic
statistics (eg. tx volume)
● Failed requests or transactions
● Request or transaction response
time
● External dependent projects
● Specific sub-components of your
app (eg. APIs, transactions,
flows, etc.
● Proxies for adoption and
business impact (eg. volume of
billing transactions, etc.)
● Compare performance/errors
between environments (e.g.
pre-prod and prod)
API Manager Feature
All contents © MuleSoft Inc.
Then work up to…
● Inbound and outbound traffic
statistics (eg. tx volume)
● Failed requests or transactions
● Request or transaction response
time
● External dependent projects
● Specific sub-components of your
app (eg. APIs, transactions,
flows, etc.
● Performance/errors across
environments (eg. pre-prod vs.
prod)
Titanium Feature
All contents © MuleSoft Inc.
As a bonus
● Inbound and outbound traffic
statistics (eg. tx volume)
● Failed requests or transactions
● Request or transaction response
time
● External dependent projects
● Specific sub-components of your
app (eg. APIs, transactions,
flows, etc.
● Performance/errors across
environments (eg. pre-prod vs.
prod)
Rely on one source of truth for all your environments --
cloud, onprem or hybrid
2. Build a targeted view and a
process around reviewing it
All contents © MuleSoft Inc.
When building your dashboard
BONUS!
Don’t start from scratch
All contents © MuleSoft Inc.
Increasing adoption of custom dashboards
● Save and share them
● Walk the team through the
dashboards
● Build understanding and
alignment
● Link them from relevant places
● Establish a naming convention
so that it’s easy to find
● Make it easy to find
● Build a process around it
Titanium Feature
All contents © MuleSoft Inc.
How do you build a process?
26
• Set regular review
cadence
– Ship to production
– End of every sprint
• Share relevant metrics on
a set cadence with
management chain
• Make it the first place to
go to during an incident
3. Set up alerts
All contents © MuleSoft Inc. 28
All contents © MuleSoft Inc.
Red alerts
Active incident
Yellow alerts
Prevent incidents
Types of alerts to set up
29
All contents © MuleSoft Inc.
Alerting best practices
● Review historical data to determine the right threshold
● Set the right level of frequency the data is reviewed
● Use rolling averages or percentiles to smooth out noisy spikes in
your data
● Operationalize the application of alerts as new APIs are built
When setting up alerts
30
All contents © MuleSoft Inc.
Standardise alert message formats
31
Make Them
● Informative - use embedded
properties and links
● Instructive - give guidance,
but automate if possible
● Simple and easy to read -
don’t include stack traces
All contents © MuleSoft Inc.
Resource Alerting
● Resource Threshold exceeded
● Worker not responding or
deployment failed
● Can use rolling averages or
percentiles to smooth out
noisy spikes in your data
● Notify anyone by email
Resource Alerting
32Base Feature
Active
All contents © MuleSoft Inc.
Functional Alerts
● Check end-to-end flow
● Operate as beacon
● Wide range of notification
methods, like Slack, Email,
PagerDuty, NewRelic etc.
Functional Alerting
33
Active
Base Feature
All contents © MuleSoft Inc.
API Alerting
● API SLA Threshold
● Policy violations
● Can use rolling averages or
percentiles to smooth out
noisy spikes in your data
● Notify Anypoint user via
email
API Alerting
34API Manager Feature
Preventative
All contents © MuleSoft Inc.
Custom Alerts
● Alert on wide range of
metrics
● Set triggers using wide range
of filters
● Use rolling averages or
percentiles to smooth out
noisy spikes in your data
● Create email notifications
Create custom alerts for your use cases
35Titanium Feature
Preventative
All contents © MuleSoft Inc.
Service Reports
● Analyse services over time
and identify where
weaknesses lie
● Summarise failures,
performance etc
● Exportable as CSV
● Multiple timeframes
Analyse system performance over time
36Titanium Feature
Preventative
4. Measure business impact
All contents © MuleSoft Inc.
Define business-level metrics
38
Revenue Order volume
Customer
satisfaction
All contents © MuleSoft Inc.
● Identify business-level
metrics and goals
● Track impact of APIs on
business performance in
real time
● Build business-facing
dashboards which you can
report out
● Leverage insights to
optimize your business
and API programs
Track and optimize impact on business
39Titanium Feature
5. Implement a logging
strategy
All contents © MuleSoft Inc.
Defensive logging is not a strategy
41
All contents © MuleSoft Inc.
Log identifiable data
● Order ID
● User ID
● Correlation IDs for tracing across
distributed APIs
Log diagnostic data
● Success & failure states
● REsponse codes
● Errors and exceptions
● System state
Logging best practices
42
All contents © MuleSoft Inc.
Log diagnostics
● Aggregated log searches
● Trace Order ID across multiple logs
● Identify cross services issues faster
Aggregated log search
43Titanium Feature
All contents © MuleSoft Inc.
Log Points
● Dynamically capture HTTP traffic
● Select key attributes
● Enable/disable in production with
minimal impact to performance
●
Dynamically debug production Web traffic
44Titanium Feature
All contents © MuleSoft Inc.
Storing your logs
45
Multi-tenanted Single-tenanted
1 GB Petabyte
30 days Forever
All contents © MuleSoft Inc.
Securing your logs
46
New values for the same data Same values for the same data
Encryption Tokenization
Not format-preserving Format-preserving
In summary
All contents © MuleSoft Inc.
Key takeaways
48
1. Establish what you want to track and how
2. Build a targeted view and a process around reviewing it
3. Set up alerts, including red and yellow
4. Implement a logging strategy
5. Measure business impact
Remember: Perfection isn’t key! Getting started is.
Start this week with 1 & 2
Deep dive into logging
Francis Edwards, Integration Analyst at Saint-Gobain Building Distribution
All contents © MuleSoft Inc.
Logging – Deep Dive
50
• History of Logging
– Originally was only synchronous, but
this didn’t scale so from Mule 3.6+
libraries were changed to use
asynchronous logging
– Uses the Log4j framework which has
progressed onto log4j2
– Very limited slideshare or articles
about mule logging publically available
– Exam questions are limited to types of
logging produced by connectors and
the runtime upon startup or which logs
get called depending on flow logic
All contents © MuleSoft Inc.
Logging – Deep Dive
51
• Asynchronous Logging
– A thread created for each
log4j2.xml in started apps,
domains and mule servers
– Threads are flushed on server
shut down, but logging events
can be lost on system crash
– Logging threads fail over to
server log, ie mule_ee.log
Synchronous Logging
– Can be used in conjunction
with asynchronous logging
– Performance impacted slightly
All contents © MuleSoft Inc.
Logging – Deep Dive
52
• Logging Bad Practice
– No Logging standards
• mix of json, text or empty loggers, information
not complete
– Hard Coding of loggers
• Not able to adjust via environment variables or
test for error content
– Empty Loggers
• These can fill logs and confuse debugging
– Logging Limits not respected;
• Cloudhub is limited to 100Mb or 30 days
– Sensitive Information
• Usernames and passwords should be reported in
encrypted or obfuscated format
All contents © MuleSoft Inc.
Logging – Deep Dive
53
• Logging Best Practice
– Create standards
• Use json with key: value pairs
• Form common error and logging structures
• Extract Flows to external Dependencies
– Informative Messages
• Visibility into the system (where log is raised)
• Enhanced debugging available (dynamic error
levels)
• Before and after system call logs (with payload)
– Request Identifier
• Use the correlationId or assigned code for
transaction (this can help with testing latency)
– Persist Logs
• Maintain historical logs
• Allow non-technical users to access and support
applications
All contents © MuleSoft Inc.
Logging – Deep Dive
54
• Three types of logging
– Runtime
– Connectors
– Custom (Logger element)
Hierarchy of Configuration Files
– Application Resources
– Mulesoft Server conf
– Default (see image)
Override in Deployment
- Using deployment properties (3.8+)
- Configuration Reloading
- Disabling Logging
All contents © MuleSoft Inc.
Logging – Deep Dive
55
• Disabling Cloudhub Logging
– Mulesoft Documentation Article
– Changing Cloudhub directly
requires raising support tickets
– This configuration allows the
local log4j configuration to be
used in place of the default
cloudhub configuration
All contents © MuleSoft Inc.
Logging – Deep Dive
56
• Disabling Complete Logging
– Mulesoft Knowledge Article
– Appenders element will redirect
all logging to console
– The Logging elements sets the
level to OFF, preventing any
output being written to console
– Can be used to rule out logging
issues in performance testing
All contents © MuleSoft Inc.
Logging – Deep Dive
57
• Live Logfile Updating
– Mulesoft Knowledge Article
– Not configured in the default or
template configurations
– Can be used to make logging
more or less verbose in live or
nearly live environments
– Would require access
permissions to the mule server
to edit the log4j2.xml file
All contents © MuleSoft Inc.
Logging – Deep Dive
58
• Different Log Files
– Mulesoft Knowledge Article
– Additional Thread is created
for the separate
AsyncLogger
– Can be used to separate
business logic and standard
INFO logs from error and
debug logs
– Debug logs can include
connection strings and
sensitive information
All contents © MuleSoft Inc.
Logging – Deep Dive
59
• Configuring Custom Log
– Mulesoft Knowledge Article
– Edit ‘mule-deploy.properties’ file
located in app folder
– Can be used to define default
logging file
– Limited by no env variable for
appname
– May come into its own with
Runtime Fabric
– Gets around needing access to
mule_home
All contents © MuleSoft Inc.
Logging – Deep Dive
60
• Verbose Logging
– Mulesoft Knowledge Article
– Module & Transport names
(list to the right)
– Levels are as per SLF4J
specification (see below)
Amazon S3 org.mule.module.s3
Amazon SQS org.mule.modules.sqs
Anypoint MQ
org.mule.module.messaging.mq
com.mulesoft.mq
okhttp3
okio
DB org.mule.module.db
Email org.mule.transport.email
File org.mule.transport.file
FTP
org.mule.transport.ftp
com.mulesoft.mule.transport.ftp
JMS org.mule.transport.jms
Microsoft Service Bus org.mule.modules.microsoftservicebus
Mongo org.mule.module.mongo
Salesforce
org.mule.modules.salesforce
com.sforce
org.mule.module.http.internal.HttpMessageLogger
SFTP
org.mule.transport.sftp
com.jcraft
Object store org.mule.modules.objectstore
TCP org.mule.transport.tcp
UDP org.mule.transport.udp
VM Transport org.mule.transport.vm
WMQ com.mulesoft.mule.transport.wmq
All contents © MuleSoft Inc.
Logging – Deep Dive
61
• Separate Logging Levels
– Mulesoft Knowledge Article
– Create sub flows with multiple
log elements
– Use elements for standard
business logic and separate
debug including payload
– Exception handling could also
include similar multiple log
elements
– Can be switched to info/debug
All contents © MuleSoft Inc.
Logging – Deep Dive
62
• Recommendations
– Separate custom log messages
based on env injected
properties
– Create custom classes of log
messages for reporting
business logic
– Capture a standardized
logging format for exceptions,
business logic, connector
information and validations
– Look at using RFC 7807 to
format error messages
All contents © MuleSoft Inc.
Logging – Deep Dive
63
• Further Research
– Mulesoft Blog
• There was a useful blog about logging
from a Mulesoft trainer in October
2019
– Meetup Example Flows
• The Denver meetup group shared a
project with useful examples of bad
and best practice
– Custom Connector Code
• BigCompass have shared a custom
connector built using the Mulesoft
DevKit to formalise logging structure
© Ricston Ltd. 2019
Ricston Ltd. | www.ricston.com
Establishing an API delivery practise
Kevin Jervis, CTO at Ricston
Does this approach to project delivery look familiar?
The API lifecycle
Enable devops: establish your delivery pipeline
ProductionNon-Prod
Agile Product Delivery Management
Feedback
Service
Management
3rd-party
Log Analytics
API
Portal
API
Designer
Anypoint
Studio
Anypoint
Exchange
Anypoint Runtime Manager
Anypoint Monitoring
Ricston webinar: Deliver Mule Applications Faster with CI/CD
Refine Discover Engage Feedback
© Ricston Ltd. 2019
Enable devops: establish your delivery pipeline
ProductionNon-Prod
Agile Product Delivery Management
Feedback
Service
Management
3rd-party
Log Analytics
API
Portal
API
Designer
Anypoint
Studio
Anypoint
Exchange
Anypoint Runtime Manager
Anypoint Monitoring
Ricston webinar: Deliver Mule Applications Faster with CI/CD
Refine Discover Engage Feedback
Version
Control
CI/CD Pipeline ChatOps
Artifact
Repository
© Ricston Ltd. 2019
Be API led: establish an API design function
By Pieter Bruegel the Elder - The Tower of Babel
(Google Cultural Institute):
https://commons.wikimedia.org/w/index.php?curid=22
178101
© Ricston Ltd. 2019
Be API led: establish an API design function
© Ricston Ltd. 2019
Be API led: establish an API design function
© Ricston Ltd. 2019
Reuse >
Enhance > Create
Balance
Simplicity vs Flexibility
Domain Driven
Data Architecture
Blend API evangelism, design and delivery experience to productise digital
capabilities as APIs aligned to promise and strategy of the business
Establish common Mule development standard
● Adopt source control and select prefered development methodology
○ Branch vs Trunk based development
● Define Mule development conventions:
○ Names: files, configuration, classes, properties
○ Structure: project layout
○ Scope: header, variable and payload usage
○ Property management: environments, secure properties
○ Test approach and coverage
○ Exception handling
● Refactor conventions and guidelines into reusable templates or libraries
○ Bake “right-fit” governance in; make it easy for developers to adopt
● Automate compliance checks
© Ricston Ltd. 2019
Establish common Mule development standard
© Ricston Ltd. 2019
{
"type": "validation_failure"
"message": "request data is not valid"
"details": [
{
"field": "customer.address[2].type",
"code": "unexpected_value",
"reason": "'WORK' is not a defined address type: HOME, BILLING,
SHIPPING, BUSINESS, RECIPIENT",
"moreInfo": "http://api.example.com/docs/customer#address_types"
},
{
"field": "customer.address[2].postcode",
"code": "invalid_value",
"reason": "'N19 X6Z' is not a valid postcode"
}
]
}
● Define API error response
○ Error types != HTTP status code
○ Do not expose implementation specifics
○ API docs should maintain a glossary of API error types
● Consider business validation scenarios
● Define organisation (or domain) specific RAML Library
● Extend MuleSoft’s default global exception strategy
○ Consider API resource specific overrides
● Log exception details and useful context
○ ERROR or WARN log levels exist for a reason!
Standardise API error behaviour
© Ricston Ltd. 2019
{
"type": "validation_failure"
"message": "request data is not valid"
"details": [
{
"field": "customer.address[2].type",
"code": "unexpected_value",
"reason": "'WORK' is not a defined address type: HOME, BILLING,
SHIPPING, BUSINESS, RECIPIENT",
"moreInfo": "http://api.example.com/docs/customer#address_types"
},
{
"field": "customer.address[2].postcode",
"code": "invalid_value",
"reason": "'N19 X6Z' is not a valid postcode"
}
]
}
Standardise API error behaviour
© Ricston Ltd. 2019
{
"type": "validation_failure"
"message": "request data is not valid"
"details": [
{
"field": "customer.address[2].type",
"code": "unexpected_value",
"reason": "'WORK' is not a defined address type: HOME, BILLING,
SHIPPING, BUSINESS, RECIPIENT",
"moreInfo": "http://api.example.com/docs/customer#address_types"
},
{
"field": "customer.address[2].postcode",
"code": "invalid_value",
"reason": "'N19 X6Z' is not a valid postcode"
}
]
}
● Define API error response
○ Error types != HTTP status code
○ Do not expose implementation specifics
○ API docs should maintain a glossary of API error types
● Consider business validation scenarios
● Define organisation (or domain) specific RAML Library
● Extend MuleSoft’s default global exception strategy
○ Consider API resource specific overrides
● Log exception details and useful context
○ ERROR or WARN log levels exist for a reason!
Standardise API error behaviour
© Ricston Ltd. 2019
Check out: RFC7807 - Problem Details for HTTP APIs
Standardise what and how your APIs log
● Translate obscure organisation policies into tangible developer
guidelines
○ Consider role of log levels
● Identify core set of attributes to provide API context and front-to-back
traceability
○ Unique identifiers: client, request, conversation
○ Method, resource, headers, parameters
● Define a log event format (K:V or JSON)
● Define log event generation mechanism
○ Mule logger component
○ Custom message processor
○ Log4j appender/layout
● Log analytics: create dashboards that enable more proactive monitoring
○ Ability to drill into client (4xx) and server (5xx) errors
© Ricston Ltd. 2019
Standardise what and how your APIs log
● Translate obscure organisation policies into tangible developer
guidelines
○ Consider role of log levels
● Identify core set of attributes to provide API context and front-to-back
traceability
○ Unique identifiers: client, request, conversation
○ Method, resource, headers, parameters
● Define a log event format (K:V or JSON)
● Define log event generation mechanism
○ Mule logger component
○ Custom message processor
○ Log4j appender/layout
● Log analytics: create dashboards that enable more proactive monitoring
○ Ability to drill into client (4xx) and server (5xx) errors
© Ricston Ltd. 2019
Key Takeaways
© Ricston Ltd. 2019
Simplify delivery through
consistency that removes
friction from development and
operations
Digital capabilities designed
and operated as products, to
drive competitive advantage &
business value
Automate repeatable
processes that increase quality,
feedback and accelerate
delivery cycle
Invest in the foundations to generate platform-wide returns
Thank you! What’s next?
● Feedback forms
● Next meetup - end January / beg February
● Interested in presenting? Any topics to
suggest? Let us know!
● Now - networking & drinks
Manchester, UK | 29 October, 2019
MuleSoft Inc.I www.mulesoft.com
Ricston Ltd. | www.ricston.com

Mais conteúdo relacionado

Mais procurados

Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalertsAhmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Shekh Muenuddeen
 
MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19
Julian Douch
 
Meet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_finalMeet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_final
Akshata Sawant
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_Charlotte
Subhash Patel
 
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECTFlow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Sabrina Marechal
 
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupMuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
Patryk Bandurski
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Angel Alberici
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
MuleSoft
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime Fabric
Patryk Bandurski
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
Manish Kumar Yadav
 
MuleSoft Meetup Warsaw Group #1
MuleSoft  Meetup Warsaw Group #1MuleSoft  Meetup Warsaw Group #1
MuleSoft Meetup Warsaw Group #1
Patryk Bandurski
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
Ryan Anthony Andal
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
Patryk Bandurski
 
The RAML 1.0 Ecosystem
The RAML 1.0 EcosystemThe RAML 1.0 Ecosystem
The RAML 1.0 Ecosystem
MuleSoft
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12
Akshata Sawant
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19
Julian Douch
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Manish Kumar Yadav
 
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys MeetupsVPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
Angel Alberici
 
Meetup 20200924 Sydney meetup
Meetup 20200924   Sydney meetupMeetup 20200924   Sydney meetup
Meetup 20200924 Sydney meetup
Royston Lobo
 
Manila MuleSoft Meetup - July 2019
Manila MuleSoft Meetup - July 2019Manila MuleSoft Meetup - July 2019
Manila MuleSoft Meetup - July 2019
Ryan Anthony Andal
 

Mais procurados (20)

Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalertsAhmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
 
MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19MuleSoft meetup_sg_no2_may19
MuleSoft meetup_sg_no2_may19
 
Meet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_finalMeet up slides_mumbai_05022020_final
Meet up slides_mumbai_05022020_final
 
MuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_CharlotteMuleSoft Meetup Virtual_ 2_Charlotte
MuleSoft Meetup Virtual_ 2_Charlotte
 
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECTFlow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
Flow Tuning: Mule 3 vs. Mule 4 - MuleSoft Chicago CONNECT
 
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft MeetupMuleSoft approach to the integration - Warsaw MuleSoft Meetup
MuleSoft approach to the integration - Warsaw MuleSoft Meetup
 
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
Mule 4 migration + Common Integration Challenges : MuleSoft Virtual Muleys Me...
 
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
Tips and Tricks for the Advanced Mule Developer with Tesla and Twitter
 
Warsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime FabricWarsaw MuleSoft Meetup - Runtime Fabric
Warsaw MuleSoft Meetup - Runtime Fabric
 
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation SlideMuleSoft Meetup Mumbai Mule 4 Presentation Slide
MuleSoft Meetup Mumbai Mule 4 Presentation Slide
 
MuleSoft Meetup Warsaw Group #1
MuleSoft  Meetup Warsaw Group #1MuleSoft  Meetup Warsaw Group #1
MuleSoft Meetup Warsaw Group #1
 
Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018Manila MuleSoft Meetup - September 2018
Manila MuleSoft Meetup - September 2018
 
Warsaw MuleSoft Meetup #6 - CI/CD
Warsaw MuleSoft Meetup  #6 - CI/CDWarsaw MuleSoft Meetup  #6 - CI/CD
Warsaw MuleSoft Meetup #6 - CI/CD
 
The RAML 1.0 Ecosystem
The RAML 1.0 EcosystemThe RAML 1.0 Ecosystem
The RAML 1.0 Ecosystem
 
Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12Mumbai MuleSoft Meetup 12
Mumbai MuleSoft Meetup 12
 
MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19MuleSoft Meetup - Singapore - No.3 Oct19
MuleSoft Meetup - Singapore - No.3 Oct19
 
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
Clustering, Server setup and Hybrid deployment setup using Anypoint Runtime M...
 
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys MeetupsVPCs, Metrics Framework, Back pressure  : MuleSoft Virtual Muleys Meetups
VPCs, Metrics Framework, Back pressure : MuleSoft Virtual Muleys Meetups
 
Meetup 20200924 Sydney meetup
Meetup 20200924   Sydney meetupMeetup 20200924   Sydney meetup
Meetup 20200924 Sydney meetup
 
Manila MuleSoft Meetup - July 2019
Manila MuleSoft Meetup - July 2019Manila MuleSoft Meetup - July 2019
Manila MuleSoft Meetup - July 2019
 

Semelhante a MuleSoft Manchester Meetup #2 slides 29th October 2019

Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalertsAhmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Shekh Muenuddeen
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
OpsTree solutions
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020
WendyTey4
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Gonzalo Marcos Ansoain
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
AgileNetwork
 
Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0
D.Rajesh Kumar
 
Anypoint monitoring capabilities
Anypoint monitoring capabilitiesAnypoint monitoring capabilities
Anypoint monitoring capabilities
MarioMartinez88103
 
Anypoint monitoring capabilities
Anypoint monitoring capabilitiesAnypoint monitoring capabilities
Anypoint monitoring capabilities
MarioMartinez88103
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
Zubair Aslam
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
Ieva Navickaite
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
Anurag Dwivedi
 
Singapore MuleSoft Meetup - 23 Nov 2022
Singapore MuleSoft Meetup - 23 Nov 2022Singapore MuleSoft Meetup - 23 Nov 2022
Singapore MuleSoft Meetup - 23 Nov 2022
Royston Lobo
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019
Julian Douch
 
Baltimore jan2019 mule4
Baltimore jan2019 mule4Baltimore jan2019 mule4
Baltimore jan2019 mule4
ManjuKumara GH
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022
AnuragSharma900
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
Brian Petrini
 
Network Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspectiveNetwork Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspective
Walid Shaari
 
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-MonitoringPrinceton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Sravan Lingam
 
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
CodeScience
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Eva Mave Ng
 

Semelhante a MuleSoft Manchester Meetup #2 slides 29th October 2019 (20)

Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalertsAhmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
Ahmadabad mule soft_meetup_11_october_2020_errorhanlingandmonitoringalerts
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020
 
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CDMulesoft Meetup Milano #9 - Batch Processing and CI/CD
Mulesoft Meetup Milano #9 - Batch Processing and CI/CD
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
 
Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0Mule soft meetup_-_finland_september_25th__2020 v2.0
Mule soft meetup_-_finland_september_25th__2020 v2.0
 
Anypoint monitoring capabilities
Anypoint monitoring capabilitiesAnypoint monitoring capabilities
Anypoint monitoring capabilities
 
Anypoint monitoring capabilities
Anypoint monitoring capabilitiesAnypoint monitoring capabilities
Anypoint monitoring capabilities
 
Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019Perth MuleSoft Meetup Feb 2019
Perth MuleSoft Meetup Feb 2019
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Mulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay ThiruvananthapuramMulesoft meetup 9thmay Thiruvananthapuram
Mulesoft meetup 9thmay Thiruvananthapuram
 
Singapore MuleSoft Meetup - 23 Nov 2022
Singapore MuleSoft Meetup - 23 Nov 2022Singapore MuleSoft Meetup - 23 Nov 2022
Singapore MuleSoft Meetup - 23 Nov 2022
 
MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019MuleSoft Meetup Singapore March 2019
MuleSoft Meetup Singapore March 2019
 
Baltimore jan2019 mule4
Baltimore jan2019 mule4Baltimore jan2019 mule4
Baltimore jan2019 mule4
 
Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022Delhi MuleSoft Meetup - 19 march2022
Delhi MuleSoft Meetup - 19 march2022
 
Impact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top PracticesImpact 2013 2963 - IBM Business Process Manager Top Practices
Impact 2013 2963 - IBM Business Process Manager Top Practices
 
Network Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspectiveNetwork Automation Journey, A systems engineer NetOps perspective
Network Automation Journey, A systems engineer NetOps perspective
 
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-MonitoringPrinceton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
Princeton-NJ-Meetup-Troubleshooting-with-AnyPoint-Monitoring
 
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...
 
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
Designing Apps for Runtime Fabric: Logging, Monitoring & Object Store Persist...
 

Mais de Ieva Navickaite

MuleSoft Manchester Meetup #5 slides 20th May 2021
MuleSoft Manchester Meetup #5 slides 20th May 2021MuleSoft Manchester Meetup #5 slides 20th May 2021
MuleSoft Manchester Meetup #5 slides 20th May 2021
Ieva Navickaite
 
MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021
Ieva Navickaite
 
MuleSoft Madrid Meetup #5 slides 21st January 2021
MuleSoft Madrid Meetup #5 slides 21st January 2021MuleSoft Madrid Meetup #5 slides 21st January 2021
MuleSoft Madrid Meetup #5 slides 21st January 2021
Ieva Navickaite
 
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020
Ieva Navickaite
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
Ieva Navickaite
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
Ieva Navickaite
 

Mais de Ieva Navickaite (6)

MuleSoft Manchester Meetup #5 slides 20th May 2021
MuleSoft Manchester Meetup #5 slides 20th May 2021MuleSoft Manchester Meetup #5 slides 20th May 2021
MuleSoft Manchester Meetup #5 slides 20th May 2021
 
MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021MuleSoft Madrid Meetup #6 slides 22nd April 2021
MuleSoft Madrid Meetup #6 slides 22nd April 2021
 
MuleSoft Madrid Meetup #5 slides 21st January 2021
MuleSoft Madrid Meetup #5 slides 21st January 2021MuleSoft Madrid Meetup #5 slides 21st January 2021
MuleSoft Madrid Meetup #5 slides 21st January 2021
 
MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020MuleSoft Madrid Meetup #3 slides 2nd July 2020
MuleSoft Madrid Meetup #3 slides 2nd July 2020
 
MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020MuleSoft Manchester Meetup #3 slides 31st March 2020
MuleSoft Manchester Meetup #3 slides 31st March 2020
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 

Último

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 

Último (20)

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 

MuleSoft Manchester Meetup #2 slides 29th October 2019

  • 1. Manchester, UK | 29 October, 2019 Manchester MuleSoft Meetup #2 - Monitoring & Logging Francis Integration Analyst Saint-Gobain Building Distribution Dave Lead Solution Engineer MuleSoft Kevin CTO Ricston
  • 2. Dave Felcey - Solution Engineer Anypoint Monitoring For Resilient Operations
  • 3.
  • 4. Incident #22664 Failure rate above threshold Incident #25324 Failure rate above threshold Incident #64243 Failure rate above threshold
  • 5. Is this a real issue? Do I even know how to fix this?
  • 6. All contents © MuleSoft Inc. 9 Account Web Transaction Order Account for SAP Order Fulfillment Notification for twitter Order for .net Product for NetSuite Product for SAP Notification for gmail Notification Notification for facebook Product for MySQL Product Notification for twilio SAP SAP Account for MySQL ! Product for SAP ! Account for SFDC Meanwhile…
  • 7. All contents © MuleSoft Inc.
  • 8. All contents © MuleSoft Inc. What was a simple… 12 Technical issue Customer issue Business issue
  • 9. How can this happen?
  • 10. All contents © MuleSoft Inc. How can this happen? 14 Alert storms Distrust in the data Uncertainty on how to resolve Lack of APM and logging strategy in place
  • 11. All contents © MuleSoft Inc. Which means… 15 Team morale is low Endless alerts and fire drills MTTR is too long Issues aren’t resolved quickly TCO is high High cost from licensing, staffing a team, and long MTTR
  • 12. All contents © MuleSoft Inc. So how do you... 16 Get alerts about real issues Store and access relevant data Know what to resolve and how Put an APM and logging strategy in place
  • 14. 1. Establish what you want to track and how
  • 15. All contents © MuleSoft Inc. A good place to start is by measuring… 19 ● Inbound and outbound traffic statistics (eg. tx volume) ● Failed requests or transactions ● Request or transaction response time ● External dependent projects ● Specific sub-components of your app (eg. APIs, transactions, flows, etc. ● Proxies for adoption and business impact (eg. volume of billing transactions, etc.) ● Compare performance/errors between environments (e.g. pre-prod and prod) API Manager Feature
  • 16. All contents © MuleSoft Inc. Then work up to… ● Inbound and outbound traffic statistics (eg. tx volume) ● Failed requests or transactions ● Request or transaction response time ● External dependent projects ● Specific sub-components of your app (eg. APIs, transactions, flows, etc. ● Performance/errors across environments (eg. pre-prod vs. prod) Titanium Feature
  • 17. All contents © MuleSoft Inc. As a bonus ● Inbound and outbound traffic statistics (eg. tx volume) ● Failed requests or transactions ● Request or transaction response time ● External dependent projects ● Specific sub-components of your app (eg. APIs, transactions, flows, etc. ● Performance/errors across environments (eg. pre-prod vs. prod) Rely on one source of truth for all your environments -- cloud, onprem or hybrid
  • 18. 2. Build a targeted view and a process around reviewing it
  • 19. All contents © MuleSoft Inc. When building your dashboard BONUS! Don’t start from scratch
  • 20. All contents © MuleSoft Inc. Increasing adoption of custom dashboards ● Save and share them ● Walk the team through the dashboards ● Build understanding and alignment ● Link them from relevant places ● Establish a naming convention so that it’s easy to find ● Make it easy to find ● Build a process around it Titanium Feature
  • 21. All contents © MuleSoft Inc. How do you build a process? 26 • Set regular review cadence – Ship to production – End of every sprint • Share relevant metrics on a set cadence with management chain • Make it the first place to go to during an incident
  • 22. 3. Set up alerts
  • 23. All contents © MuleSoft Inc. 28
  • 24. All contents © MuleSoft Inc. Red alerts Active incident Yellow alerts Prevent incidents Types of alerts to set up 29
  • 25. All contents © MuleSoft Inc. Alerting best practices ● Review historical data to determine the right threshold ● Set the right level of frequency the data is reviewed ● Use rolling averages or percentiles to smooth out noisy spikes in your data ● Operationalize the application of alerts as new APIs are built When setting up alerts 30
  • 26. All contents © MuleSoft Inc. Standardise alert message formats 31 Make Them ● Informative - use embedded properties and links ● Instructive - give guidance, but automate if possible ● Simple and easy to read - don’t include stack traces
  • 27. All contents © MuleSoft Inc. Resource Alerting ● Resource Threshold exceeded ● Worker not responding or deployment failed ● Can use rolling averages or percentiles to smooth out noisy spikes in your data ● Notify anyone by email Resource Alerting 32Base Feature Active
  • 28. All contents © MuleSoft Inc. Functional Alerts ● Check end-to-end flow ● Operate as beacon ● Wide range of notification methods, like Slack, Email, PagerDuty, NewRelic etc. Functional Alerting 33 Active Base Feature
  • 29. All contents © MuleSoft Inc. API Alerting ● API SLA Threshold ● Policy violations ● Can use rolling averages or percentiles to smooth out noisy spikes in your data ● Notify Anypoint user via email API Alerting 34API Manager Feature Preventative
  • 30. All contents © MuleSoft Inc. Custom Alerts ● Alert on wide range of metrics ● Set triggers using wide range of filters ● Use rolling averages or percentiles to smooth out noisy spikes in your data ● Create email notifications Create custom alerts for your use cases 35Titanium Feature Preventative
  • 31. All contents © MuleSoft Inc. Service Reports ● Analyse services over time and identify where weaknesses lie ● Summarise failures, performance etc ● Exportable as CSV ● Multiple timeframes Analyse system performance over time 36Titanium Feature Preventative
  • 33. All contents © MuleSoft Inc. Define business-level metrics 38 Revenue Order volume Customer satisfaction
  • 34. All contents © MuleSoft Inc. ● Identify business-level metrics and goals ● Track impact of APIs on business performance in real time ● Build business-facing dashboards which you can report out ● Leverage insights to optimize your business and API programs Track and optimize impact on business 39Titanium Feature
  • 35. 5. Implement a logging strategy
  • 36. All contents © MuleSoft Inc. Defensive logging is not a strategy 41
  • 37. All contents © MuleSoft Inc. Log identifiable data ● Order ID ● User ID ● Correlation IDs for tracing across distributed APIs Log diagnostic data ● Success & failure states ● REsponse codes ● Errors and exceptions ● System state Logging best practices 42
  • 38. All contents © MuleSoft Inc. Log diagnostics ● Aggregated log searches ● Trace Order ID across multiple logs ● Identify cross services issues faster Aggregated log search 43Titanium Feature
  • 39. All contents © MuleSoft Inc. Log Points ● Dynamically capture HTTP traffic ● Select key attributes ● Enable/disable in production with minimal impact to performance ● Dynamically debug production Web traffic 44Titanium Feature
  • 40. All contents © MuleSoft Inc. Storing your logs 45 Multi-tenanted Single-tenanted 1 GB Petabyte 30 days Forever
  • 41. All contents © MuleSoft Inc. Securing your logs 46 New values for the same data Same values for the same data Encryption Tokenization Not format-preserving Format-preserving
  • 43. All contents © MuleSoft Inc. Key takeaways 48 1. Establish what you want to track and how 2. Build a targeted view and a process around reviewing it 3. Set up alerts, including red and yellow 4. Implement a logging strategy 5. Measure business impact Remember: Perfection isn’t key! Getting started is. Start this week with 1 & 2
  • 44. Deep dive into logging Francis Edwards, Integration Analyst at Saint-Gobain Building Distribution
  • 45. All contents © MuleSoft Inc. Logging – Deep Dive 50 • History of Logging – Originally was only synchronous, but this didn’t scale so from Mule 3.6+ libraries were changed to use asynchronous logging – Uses the Log4j framework which has progressed onto log4j2 – Very limited slideshare or articles about mule logging publically available – Exam questions are limited to types of logging produced by connectors and the runtime upon startup or which logs get called depending on flow logic
  • 46. All contents © MuleSoft Inc. Logging – Deep Dive 51 • Asynchronous Logging – A thread created for each log4j2.xml in started apps, domains and mule servers – Threads are flushed on server shut down, but logging events can be lost on system crash – Logging threads fail over to server log, ie mule_ee.log Synchronous Logging – Can be used in conjunction with asynchronous logging – Performance impacted slightly
  • 47. All contents © MuleSoft Inc. Logging – Deep Dive 52 • Logging Bad Practice – No Logging standards • mix of json, text or empty loggers, information not complete – Hard Coding of loggers • Not able to adjust via environment variables or test for error content – Empty Loggers • These can fill logs and confuse debugging – Logging Limits not respected; • Cloudhub is limited to 100Mb or 30 days – Sensitive Information • Usernames and passwords should be reported in encrypted or obfuscated format
  • 48. All contents © MuleSoft Inc. Logging – Deep Dive 53 • Logging Best Practice – Create standards • Use json with key: value pairs • Form common error and logging structures • Extract Flows to external Dependencies – Informative Messages • Visibility into the system (where log is raised) • Enhanced debugging available (dynamic error levels) • Before and after system call logs (with payload) – Request Identifier • Use the correlationId or assigned code for transaction (this can help with testing latency) – Persist Logs • Maintain historical logs • Allow non-technical users to access and support applications
  • 49. All contents © MuleSoft Inc. Logging – Deep Dive 54 • Three types of logging – Runtime – Connectors – Custom (Logger element) Hierarchy of Configuration Files – Application Resources – Mulesoft Server conf – Default (see image) Override in Deployment - Using deployment properties (3.8+) - Configuration Reloading - Disabling Logging
  • 50. All contents © MuleSoft Inc. Logging – Deep Dive 55 • Disabling Cloudhub Logging – Mulesoft Documentation Article – Changing Cloudhub directly requires raising support tickets – This configuration allows the local log4j configuration to be used in place of the default cloudhub configuration
  • 51. All contents © MuleSoft Inc. Logging – Deep Dive 56 • Disabling Complete Logging – Mulesoft Knowledge Article – Appenders element will redirect all logging to console – The Logging elements sets the level to OFF, preventing any output being written to console – Can be used to rule out logging issues in performance testing
  • 52. All contents © MuleSoft Inc. Logging – Deep Dive 57 • Live Logfile Updating – Mulesoft Knowledge Article – Not configured in the default or template configurations – Can be used to make logging more or less verbose in live or nearly live environments – Would require access permissions to the mule server to edit the log4j2.xml file
  • 53. All contents © MuleSoft Inc. Logging – Deep Dive 58 • Different Log Files – Mulesoft Knowledge Article – Additional Thread is created for the separate AsyncLogger – Can be used to separate business logic and standard INFO logs from error and debug logs – Debug logs can include connection strings and sensitive information
  • 54. All contents © MuleSoft Inc. Logging – Deep Dive 59 • Configuring Custom Log – Mulesoft Knowledge Article – Edit ‘mule-deploy.properties’ file located in app folder – Can be used to define default logging file – Limited by no env variable for appname – May come into its own with Runtime Fabric – Gets around needing access to mule_home
  • 55. All contents © MuleSoft Inc. Logging – Deep Dive 60 • Verbose Logging – Mulesoft Knowledge Article – Module & Transport names (list to the right) – Levels are as per SLF4J specification (see below) Amazon S3 org.mule.module.s3 Amazon SQS org.mule.modules.sqs Anypoint MQ org.mule.module.messaging.mq com.mulesoft.mq okhttp3 okio DB org.mule.module.db Email org.mule.transport.email File org.mule.transport.file FTP org.mule.transport.ftp com.mulesoft.mule.transport.ftp JMS org.mule.transport.jms Microsoft Service Bus org.mule.modules.microsoftservicebus Mongo org.mule.module.mongo Salesforce org.mule.modules.salesforce com.sforce org.mule.module.http.internal.HttpMessageLogger SFTP org.mule.transport.sftp com.jcraft Object store org.mule.modules.objectstore TCP org.mule.transport.tcp UDP org.mule.transport.udp VM Transport org.mule.transport.vm WMQ com.mulesoft.mule.transport.wmq
  • 56. All contents © MuleSoft Inc. Logging – Deep Dive 61 • Separate Logging Levels – Mulesoft Knowledge Article – Create sub flows with multiple log elements – Use elements for standard business logic and separate debug including payload – Exception handling could also include similar multiple log elements – Can be switched to info/debug
  • 57. All contents © MuleSoft Inc. Logging – Deep Dive 62 • Recommendations – Separate custom log messages based on env injected properties – Create custom classes of log messages for reporting business logic – Capture a standardized logging format for exceptions, business logic, connector information and validations – Look at using RFC 7807 to format error messages
  • 58. All contents © MuleSoft Inc. Logging – Deep Dive 63 • Further Research – Mulesoft Blog • There was a useful blog about logging from a Mulesoft trainer in October 2019 – Meetup Example Flows • The Denver meetup group shared a project with useful examples of bad and best practice – Custom Connector Code • BigCompass have shared a custom connector built using the Mulesoft DevKit to formalise logging structure
  • 59. © Ricston Ltd. 2019 Ricston Ltd. | www.ricston.com Establishing an API delivery practise Kevin Jervis, CTO at Ricston
  • 60. Does this approach to project delivery look familiar?
  • 62. Enable devops: establish your delivery pipeline ProductionNon-Prod Agile Product Delivery Management Feedback Service Management 3rd-party Log Analytics API Portal API Designer Anypoint Studio Anypoint Exchange Anypoint Runtime Manager Anypoint Monitoring Ricston webinar: Deliver Mule Applications Faster with CI/CD Refine Discover Engage Feedback © Ricston Ltd. 2019
  • 63. Enable devops: establish your delivery pipeline ProductionNon-Prod Agile Product Delivery Management Feedback Service Management 3rd-party Log Analytics API Portal API Designer Anypoint Studio Anypoint Exchange Anypoint Runtime Manager Anypoint Monitoring Ricston webinar: Deliver Mule Applications Faster with CI/CD Refine Discover Engage Feedback Version Control CI/CD Pipeline ChatOps Artifact Repository © Ricston Ltd. 2019
  • 64. Be API led: establish an API design function By Pieter Bruegel the Elder - The Tower of Babel (Google Cultural Institute): https://commons.wikimedia.org/w/index.php?curid=22 178101 © Ricston Ltd. 2019
  • 65. Be API led: establish an API design function © Ricston Ltd. 2019
  • 66. Be API led: establish an API design function © Ricston Ltd. 2019 Reuse > Enhance > Create Balance Simplicity vs Flexibility Domain Driven Data Architecture Blend API evangelism, design and delivery experience to productise digital capabilities as APIs aligned to promise and strategy of the business
  • 67. Establish common Mule development standard ● Adopt source control and select prefered development methodology ○ Branch vs Trunk based development ● Define Mule development conventions: ○ Names: files, configuration, classes, properties ○ Structure: project layout ○ Scope: header, variable and payload usage ○ Property management: environments, secure properties ○ Test approach and coverage ○ Exception handling ● Refactor conventions and guidelines into reusable templates or libraries ○ Bake “right-fit” governance in; make it easy for developers to adopt ● Automate compliance checks © Ricston Ltd. 2019
  • 68. Establish common Mule development standard © Ricston Ltd. 2019
  • 69. { "type": "validation_failure" "message": "request data is not valid" "details": [ { "field": "customer.address[2].type", "code": "unexpected_value", "reason": "'WORK' is not a defined address type: HOME, BILLING, SHIPPING, BUSINESS, RECIPIENT", "moreInfo": "http://api.example.com/docs/customer#address_types" }, { "field": "customer.address[2].postcode", "code": "invalid_value", "reason": "'N19 X6Z' is not a valid postcode" } ] } ● Define API error response ○ Error types != HTTP status code ○ Do not expose implementation specifics ○ API docs should maintain a glossary of API error types ● Consider business validation scenarios ● Define organisation (or domain) specific RAML Library ● Extend MuleSoft’s default global exception strategy ○ Consider API resource specific overrides ● Log exception details and useful context ○ ERROR or WARN log levels exist for a reason! Standardise API error behaviour © Ricston Ltd. 2019
  • 70. { "type": "validation_failure" "message": "request data is not valid" "details": [ { "field": "customer.address[2].type", "code": "unexpected_value", "reason": "'WORK' is not a defined address type: HOME, BILLING, SHIPPING, BUSINESS, RECIPIENT", "moreInfo": "http://api.example.com/docs/customer#address_types" }, { "field": "customer.address[2].postcode", "code": "invalid_value", "reason": "'N19 X6Z' is not a valid postcode" } ] } Standardise API error behaviour © Ricston Ltd. 2019
  • 71. { "type": "validation_failure" "message": "request data is not valid" "details": [ { "field": "customer.address[2].type", "code": "unexpected_value", "reason": "'WORK' is not a defined address type: HOME, BILLING, SHIPPING, BUSINESS, RECIPIENT", "moreInfo": "http://api.example.com/docs/customer#address_types" }, { "field": "customer.address[2].postcode", "code": "invalid_value", "reason": "'N19 X6Z' is not a valid postcode" } ] } ● Define API error response ○ Error types != HTTP status code ○ Do not expose implementation specifics ○ API docs should maintain a glossary of API error types ● Consider business validation scenarios ● Define organisation (or domain) specific RAML Library ● Extend MuleSoft’s default global exception strategy ○ Consider API resource specific overrides ● Log exception details and useful context ○ ERROR or WARN log levels exist for a reason! Standardise API error behaviour © Ricston Ltd. 2019 Check out: RFC7807 - Problem Details for HTTP APIs
  • 72. Standardise what and how your APIs log ● Translate obscure organisation policies into tangible developer guidelines ○ Consider role of log levels ● Identify core set of attributes to provide API context and front-to-back traceability ○ Unique identifiers: client, request, conversation ○ Method, resource, headers, parameters ● Define a log event format (K:V or JSON) ● Define log event generation mechanism ○ Mule logger component ○ Custom message processor ○ Log4j appender/layout ● Log analytics: create dashboards that enable more proactive monitoring ○ Ability to drill into client (4xx) and server (5xx) errors © Ricston Ltd. 2019
  • 73. Standardise what and how your APIs log ● Translate obscure organisation policies into tangible developer guidelines ○ Consider role of log levels ● Identify core set of attributes to provide API context and front-to-back traceability ○ Unique identifiers: client, request, conversation ○ Method, resource, headers, parameters ● Define a log event format (K:V or JSON) ● Define log event generation mechanism ○ Mule logger component ○ Custom message processor ○ Log4j appender/layout ● Log analytics: create dashboards that enable more proactive monitoring ○ Ability to drill into client (4xx) and server (5xx) errors © Ricston Ltd. 2019
  • 74. Key Takeaways © Ricston Ltd. 2019 Simplify delivery through consistency that removes friction from development and operations Digital capabilities designed and operated as products, to drive competitive advantage & business value Automate repeatable processes that increase quality, feedback and accelerate delivery cycle Invest in the foundations to generate platform-wide returns
  • 75. Thank you! What’s next? ● Feedback forms ● Next meetup - end January / beg February ● Interested in presenting? Any topics to suggest? Let us know! ● Now - networking & drinks Manchester, UK | 29 October, 2019 MuleSoft Inc.I www.mulesoft.com Ricston Ltd. | www.ricston.com