SlideShare a Scribd company logo
1 of 34
Monday 18/12/2023
Devops in Mulesoft: A Journey
Through Monitoring and CI/CD
Best practices
All contents © MuleSoft, LLC
The information presented in this slides are proprietary to MuleSoft. This presentation is not subject to your license
agreement or any other service or subscription agreement with MuleSoft. MuleSoft has no obligation to pursue any course
of business outlined in this document or any related presentation, or to develop or release any functionality mentioned
therein. This document, or any related presentation and MuleSoft's strategy and possible future developments, products
and or platforms directions and functionality are all subject to change and may be changed by MuleSoft at any time for any
reason without notice. The information on this document is not a commitment, promise or legal obligation to deliver any
material, code or functionality. This document is provided without a warranty of any kind, either express or implied,
including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
This document is for informational purposes and may not be incorporated into a contract. MuleSoft assumes no
responsibility for errors or omissions in this document, except if such damages were caused by MuleSoft intentionally or
grossly negligent.
All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ
materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements,
which speak only as of their dates, and they should not be relied upon in making purchasing decisions.
Safe Harbor statement
All contents © MuleSoft, LLC
Introductions
Speakers
Moderators
All contents © MuleSoft, LLC
Agenda
● Monitoring Framework
○ Tool Overview
○ Key features and capabilities
○ Implementation strategy
○ Case study
● DevOps
○ CI/CD fundamentals
○ Continuous Integration/Delivery
○ MuleSoft best practices and demo
● Q/A
● Wrap up
All contents © MuleSoft, LLC
Monitoring Framework
All contents © MuleSoft, LLC
What is the Exchange Monitoring Framework?
Exchange Monitoring Framework is a new and innovative tool developed to help
developers and organizations to manage Assets, APIs and Applications
6
All contents © MuleSoft, LLC
Anypoint Platform Components Overview
• Design Center
• Exchange
• DataGraph
• Access Management
• API Manager
• Runtime Manager
• API Governance
• Anypoint MQ
• Anypoint Visualizer
• Monitoring
• Secrets Manager
7
All contents © MuleSoft, LLC
Why is it important?
• Consistency
• Documentation
• Reduced Errors
• Onboarding and Collaboration
• Quality Assurance
• Maintainability
• Searchability
8
All contents © MuleSoft, LLC
Key Features And Capabilities
All contents © MuleSoft, LLC
Anypoint Exchange Checks
• Naming convention of exchange assets
• Assets name length
• Description length
10
All contents © MuleSoft, LLC
Cloudhub Checks
• Application naming convention
• Exchange naming compliance
• Compliance to the API-led design on Anypoint Visualizer
11
All contents © MuleSoft, LLC
What’s next?
• VCores utilization of every deployed application
• API manager checks (naming convention, etc.)
• Compliance with exchange and cloudhub APIs
12
All contents © MuleSoft, LLC
Implementation Strategy
All contents © MuleSoft, LLC
Tool Requirements
● Self contained Mulesoft application
● Fast and lightweight
● Run on a scheduled base
● Configurable
● Anypoint Platform APIs Integration:
○ Exchange
○ Cloudhub
○ Visualizer
● HTML reports sent via email
14
All contents © MuleSoft, LLC
Technical Challenge - Exchange API
• Paginated results
• Limit 250 results
• Cannot get the total number of Exchange Assets
15
All contents © MuleSoft, LLC
Solution - Components
17
Scheduler VM Queue
HTTP Connector (Requester) Object Store
Email Connector
All contents © MuleSoft, LLC
Solution - Diagram Flow - Part 1
18
{
offset: 0
}
{
"app-name": {
"naming": true,
"nameLength": false,
"description": true
}
}
All contents © MuleSoft, LLC
Solution - Diagram Flow - Part 2
19
{
"app-name": {
"TEST": {
"naming": true,
"layer": false
},
"PREPROD": {
"naming": false,
"layer": false
}
}
}
All contents © MuleSoft, LLC
Case Study
All contents © MuleSoft, LLC
CI/CD Fundamentals
All contents © MuleSoft, LLC
CI/CD (or Continuous Integration and Continuous Delivery/Deployment) represents a set of modern software development best practices
aimed at automating and improving the development and delivery process. It enables developers to deliver code changes frequently and reliably
without error.
Benefits of CI/CD include:
1. Faster Delivery: Automating the build, test, and deployment processes speeds up the delivery of new features and bug fixes.
2. Consistency: Automated processes reduce the chance of human errors, ensuring consistency in the deployment process.
3. Early Detection of Issues: CI/CD pipelines include automated testing, which helps catch and address issues early in the development cycle.
4. Increased Collaboration: CI/CD encourages collaboration among development and operations teams, leading to more efficient and effective software
delivery.
What is CI/CD
CI
C
D
All contents © MuleSoft, LLC
Continuous Integration/Delivery/Deployment
● Objective: Automate the
delivery of software to various
environments (like staging or
production) after passing the
integration and testing phases.
● Process: Once code changes
have been integrated and
tested successfully, the
software is automatically
deployed to a staging
environment. This allows for
further testing in an
environment that closely
resembles production. If the
tests pass, the software can be
promoted to production.
Delivery/Deployment
● Objective: Integrate code
changes from multiple
contributors into a shared
repository frequently.
● Process: Developers submit
their code changes to a
version control system (like
Git), and an automated build
and test process is triggered.
This ensures that the new
code integrates well with the
existing codebase and doesn't
introduce errors.
Integration
CI
C
D
All contents © MuleSoft, LLC
CI/CD Tools
Function Definition List of third party tools**
Source Code
Management
A tool that is used to store and version source code
Dependency
Management Tools
Tools used to manage project dependencies to ensure uniform
project builds
Automation Service Tools used to automate the process of building and deploying
applications
Artifact Repository Tool used to store different artifacts associated with project
Infrastructure
Automation
Tools used for configuration management associated with
infrastructure
Configuration/ Secrets
Management
Tools used to store secure configuration details associated with
projects
**This is an indicative/sample list only
All contents © MuleSoft, LLC
CI/CD on MuleSoft
All contents © MuleSoft, LLC
Flow Designer
Mocking Service
API Console
Anypoint Studio
MUnit
Runtime Manager
API Manager
Anypoint Analytics
Anypoint Exchange
API Portals
API Designer
29
CI/CD applied to Mulesoft approach
All contents © MuleSoft, LLC
CI/CD Flow example using Anypoint Platform
MUnit
All contents © MuleSoft, LLC
Demo scenario
All contents © MuleSoft, LLC
In the scenario we will cover:
1. Gitflow WorkFlow: we will define an example of Gitflow Workflow for a development team.
2. Pipelines Design: we will design the pipelines to support our Git WorkFlow and realize the CI/CD process.
3. Configure the app: we will see an example of Maven configuration to build, run Munit tests and deploy on CloudHub 2.0 automatically.
4. Configure the pipelines: we will see a basic implementation of the CI/CD pipelines using GitHub Actions.
5. Best practices: During our configuration we will discuss common best practices to use when building the CI/CD pipelines.
Demo scenario
MUnit
All contents © MuleSoft, LLC
Gitflow Workflow
Developers work on the
feature branches for new
features
Once features are ready,
developers will merge in
the stable develop branch
When development is
done, the code is moved to
release branch for QA
testing
When the code is ready for
release, the code is moved
to main branch and a new
version is created
All contents © MuleSoft, LLC
Pipelines Design
Check out develop Build Run tests Deploy to dev
Publish artifact
On Pull Request to develop branch
Check out release Build Run tests Deploy to qa
Publish artifact
On Pull Request to release branch
Check out main Configure git Extract version Create Release
Tag version
On Pull Request to main branch
Get version Check out version Build Deploy to prod
Publish artifact
Manual deploy of a version to prod env
For the scenario, 4 pipelines will be created:
All contents © MuleSoft, LLC
Configure the App
Maven deployment: configure the Mule Maven Plugin
<cloudhub2Deployment>
<uri>https://anypoint.mulesoft.com </uri>
<provider>MC</provider>
<environment>dev</environment>
<target>Cloudhub-US-East-2</target>
<muleVersion>4.4.0</muleVersion>
<server>anypoint-exchange-v3</server>
<applicationName>${project.name}</applicationName>
<replicas>1</replicas>
<vCores>0.1</vCores>
<deploymentSettings>
<lastMileSecurity>false</lastMileSecurity>
<forwardSslSession>false</forwardSslSession>
<generateDefaultPublicUrl>true</generateDefaultPublicUrl>
</deploymentSettings>
</cloudhub2Deployment>
Maven config example:
type
target-name
version
requirements
ingress-settings
All contents © MuleSoft, LLC
Configure the App
Maven deployment method: Configure distribution
Distribution Management example:
<distributionManagement>
<repository>
<id>anypoint-exchange-v3</id>
<name>Exchange Private Repository</name>
<url>https://maven.anypoint.mulesoft.com/api/v3/organizations/${project.groupId}/maven</url>
<layout>default</layout>
</repository>
</distributionManagement>
Maven Plugin update example:
<properties> ...
<mule.maven.plugin.version>3.8.1</mule.maven.plugin.version>
</properties>
All contents © MuleSoft, LLC
Demo
All contents © MuleSoft, LLC
Thank you!

More Related Content

Similar to Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx

Similar to Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx (20)

What's New with Anypoint Platform? Unified Platform Management
What's New with Anypoint Platform? Unified Platform ManagementWhat's New with Anypoint Platform? Unified Platform Management
What's New with Anypoint Platform? Unified Platform Management
 
Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020Mule soft meetup_indonesia_june2020
Mule soft meetup_indonesia_june2020
 
Running and Managing Mule Applications
Running and Managing Mule ApplicationsRunning and Managing Mule Applications
Running and Managing Mule Applications
 
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
 
Singapore MuleSoft Meetup - 24 Aug 2022
Singapore MuleSoft Meetup - 24 Aug 2022Singapore MuleSoft Meetup - 24 Aug 2022
Singapore MuleSoft Meetup - 24 Aug 2022
 
Managing APIs with MuleSoft
Managing APIs with MuleSoftManaging APIs with MuleSoft
Managing APIs with MuleSoft
 
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7  : MuleSoft Virtual Muleys MeetupsMetadata definition between flows on Studio 7  : MuleSoft Virtual Muleys Meetups
Metadata definition between flows on Studio 7 : MuleSoft Virtual Muleys Meetups
 
Testing strategies and best practices using MUnit
Testing strategies and best practices using MUnitTesting strategies and best practices using MUnit
Testing strategies and best practices using MUnit
 
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
MuleSoft Surat Virtual Meetup#25 - Anypoint Platform Features and Capabilitie...
 
MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
Inovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e MulesoftInovacao e Arquitetura Moderna com APIs e Mulesoft
Inovacao e Arquitetura Moderna com APIs e Mulesoft
 
Sydney mule soft meetup 30 april 2020
Sydney mule soft meetup   30 april 2020Sydney mule soft meetup   30 april 2020
Sydney mule soft meetup 30 april 2020
 
MuleSoft Online meetup - An expert's guide to Runtime fabric - August 2020
MuleSoft Online meetup -  An expert's guide to Runtime fabric - August 2020MuleSoft Online meetup -  An expert's guide to Runtime fabric - August 2020
MuleSoft Online meetup - An expert's guide to Runtime fabric - August 2020
 
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...
 
Implementing CloudHub 2.0 CI/CD Pipeline with Bitbucket Integration
Implementing CloudHub 2.0 CI/CD Pipeline with Bitbucket IntegrationImplementing CloudHub 2.0 CI/CD Pipeline with Bitbucket Integration
Implementing CloudHub 2.0 CI/CD Pipeline with Bitbucket Integration
 
Melbourne Virtual MuleSoft Meetup June 2022
Melbourne Virtual MuleSoft Meetup June 2022Melbourne Virtual MuleSoft Meetup June 2022
Melbourne Virtual MuleSoft Meetup June 2022
 
Learn mulesoft from scratch
Learn mulesoft from scratchLearn mulesoft from scratch
Learn mulesoft from scratch
 
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
Kochi Mulesoft Meetup #10 - MuleSoft Composer: Connect apps and data easily w...
 
mulecomposer.pdf
mulecomposer.pdfmulecomposer.pdf
mulecomposer.pdf
 
First Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup SlidesFirst Caracas MuleSoft Meetup Slides
First Caracas MuleSoft Meetup Slides
 

More from Alfonso Martino

More from Alfonso Martino (6)

Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
Mulesoft Meetup Roma - CloudHub 2.0: a fully managed, containerized integrati...
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 3
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 2
 
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
MuleSoft Meetup Roma - Runtime Fabric Series (From Zero to Hero) - Sessione 1
 
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHubMuleSoft Meetup Roma - Processi di Automazione su CloudHub
MuleSoft Meetup Roma - Processi di Automazione su CloudHub
 
MuleSoft Meetup Roma - CloudHub Networking Stategies
MuleSoft Meetup Roma -  CloudHub Networking StategiesMuleSoft Meetup Roma -  CloudHub Networking Stategies
MuleSoft Meetup Roma - CloudHub Networking Stategies
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx

  • 1. Monday 18/12/2023 Devops in Mulesoft: A Journey Through Monitoring and CI/CD Best practices
  • 2. All contents © MuleSoft, LLC The information presented in this slides are proprietary to MuleSoft. This presentation is not subject to your license agreement or any other service or subscription agreement with MuleSoft. MuleSoft has no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation and MuleSoft's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by MuleSoft at any time for any reason without notice. The information on this document is not a commitment, promise or legal obligation to deliver any material, code or functionality. This document is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This document is for informational purposes and may not be incorporated into a contract. MuleSoft assumes no responsibility for errors or omissions in this document, except if such damages were caused by MuleSoft intentionally or grossly negligent. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions. Safe Harbor statement
  • 3. All contents © MuleSoft, LLC Introductions Speakers Moderators
  • 4. All contents © MuleSoft, LLC Agenda ● Monitoring Framework ○ Tool Overview ○ Key features and capabilities ○ Implementation strategy ○ Case study ● DevOps ○ CI/CD fundamentals ○ Continuous Integration/Delivery ○ MuleSoft best practices and demo ● Q/A ● Wrap up
  • 5. All contents © MuleSoft, LLC Monitoring Framework
  • 6. All contents © MuleSoft, LLC What is the Exchange Monitoring Framework? Exchange Monitoring Framework is a new and innovative tool developed to help developers and organizations to manage Assets, APIs and Applications 6
  • 7. All contents © MuleSoft, LLC Anypoint Platform Components Overview • Design Center • Exchange • DataGraph • Access Management • API Manager • Runtime Manager • API Governance • Anypoint MQ • Anypoint Visualizer • Monitoring • Secrets Manager 7
  • 8. All contents © MuleSoft, LLC Why is it important? • Consistency • Documentation • Reduced Errors • Onboarding and Collaboration • Quality Assurance • Maintainability • Searchability 8
  • 9. All contents © MuleSoft, LLC Key Features And Capabilities
  • 10. All contents © MuleSoft, LLC Anypoint Exchange Checks • Naming convention of exchange assets • Assets name length • Description length 10
  • 11. All contents © MuleSoft, LLC Cloudhub Checks • Application naming convention • Exchange naming compliance • Compliance to the API-led design on Anypoint Visualizer 11
  • 12. All contents © MuleSoft, LLC What’s next? • VCores utilization of every deployed application • API manager checks (naming convention, etc.) • Compliance with exchange and cloudhub APIs 12
  • 13. All contents © MuleSoft, LLC Implementation Strategy
  • 14. All contents © MuleSoft, LLC Tool Requirements ● Self contained Mulesoft application ● Fast and lightweight ● Run on a scheduled base ● Configurable ● Anypoint Platform APIs Integration: ○ Exchange ○ Cloudhub ○ Visualizer ● HTML reports sent via email 14
  • 15. All contents © MuleSoft, LLC Technical Challenge - Exchange API • Paginated results • Limit 250 results • Cannot get the total number of Exchange Assets 15
  • 16. All contents © MuleSoft, LLC Solution - Components 17 Scheduler VM Queue HTTP Connector (Requester) Object Store Email Connector
  • 17. All contents © MuleSoft, LLC Solution - Diagram Flow - Part 1 18 { offset: 0 } { "app-name": { "naming": true, "nameLength": false, "description": true } }
  • 18. All contents © MuleSoft, LLC Solution - Diagram Flow - Part 2 19 { "app-name": { "TEST": { "naming": true, "layer": false }, "PREPROD": { "naming": false, "layer": false } } }
  • 19. All contents © MuleSoft, LLC Case Study
  • 20. All contents © MuleSoft, LLC CI/CD Fundamentals
  • 21. All contents © MuleSoft, LLC CI/CD (or Continuous Integration and Continuous Delivery/Deployment) represents a set of modern software development best practices aimed at automating and improving the development and delivery process. It enables developers to deliver code changes frequently and reliably without error. Benefits of CI/CD include: 1. Faster Delivery: Automating the build, test, and deployment processes speeds up the delivery of new features and bug fixes. 2. Consistency: Automated processes reduce the chance of human errors, ensuring consistency in the deployment process. 3. Early Detection of Issues: CI/CD pipelines include automated testing, which helps catch and address issues early in the development cycle. 4. Increased Collaboration: CI/CD encourages collaboration among development and operations teams, leading to more efficient and effective software delivery. What is CI/CD CI C D
  • 22. All contents © MuleSoft, LLC Continuous Integration/Delivery/Deployment ● Objective: Automate the delivery of software to various environments (like staging or production) after passing the integration and testing phases. ● Process: Once code changes have been integrated and tested successfully, the software is automatically deployed to a staging environment. This allows for further testing in an environment that closely resembles production. If the tests pass, the software can be promoted to production. Delivery/Deployment ● Objective: Integrate code changes from multiple contributors into a shared repository frequently. ● Process: Developers submit their code changes to a version control system (like Git), and an automated build and test process is triggered. This ensures that the new code integrates well with the existing codebase and doesn't introduce errors. Integration CI C D
  • 23. All contents © MuleSoft, LLC CI/CD Tools Function Definition List of third party tools** Source Code Management A tool that is used to store and version source code Dependency Management Tools Tools used to manage project dependencies to ensure uniform project builds Automation Service Tools used to automate the process of building and deploying applications Artifact Repository Tool used to store different artifacts associated with project Infrastructure Automation Tools used for configuration management associated with infrastructure Configuration/ Secrets Management Tools used to store secure configuration details associated with projects **This is an indicative/sample list only
  • 24. All contents © MuleSoft, LLC CI/CD on MuleSoft
  • 25. All contents © MuleSoft, LLC Flow Designer Mocking Service API Console Anypoint Studio MUnit Runtime Manager API Manager Anypoint Analytics Anypoint Exchange API Portals API Designer 29 CI/CD applied to Mulesoft approach
  • 26. All contents © MuleSoft, LLC CI/CD Flow example using Anypoint Platform MUnit
  • 27. All contents © MuleSoft, LLC Demo scenario
  • 28. All contents © MuleSoft, LLC In the scenario we will cover: 1. Gitflow WorkFlow: we will define an example of Gitflow Workflow for a development team. 2. Pipelines Design: we will design the pipelines to support our Git WorkFlow and realize the CI/CD process. 3. Configure the app: we will see an example of Maven configuration to build, run Munit tests and deploy on CloudHub 2.0 automatically. 4. Configure the pipelines: we will see a basic implementation of the CI/CD pipelines using GitHub Actions. 5. Best practices: During our configuration we will discuss common best practices to use when building the CI/CD pipelines. Demo scenario MUnit
  • 29. All contents © MuleSoft, LLC Gitflow Workflow Developers work on the feature branches for new features Once features are ready, developers will merge in the stable develop branch When development is done, the code is moved to release branch for QA testing When the code is ready for release, the code is moved to main branch and a new version is created
  • 30. All contents © MuleSoft, LLC Pipelines Design Check out develop Build Run tests Deploy to dev Publish artifact On Pull Request to develop branch Check out release Build Run tests Deploy to qa Publish artifact On Pull Request to release branch Check out main Configure git Extract version Create Release Tag version On Pull Request to main branch Get version Check out version Build Deploy to prod Publish artifact Manual deploy of a version to prod env For the scenario, 4 pipelines will be created:
  • 31. All contents © MuleSoft, LLC Configure the App Maven deployment: configure the Mule Maven Plugin <cloudhub2Deployment> <uri>https://anypoint.mulesoft.com </uri> <provider>MC</provider> <environment>dev</environment> <target>Cloudhub-US-East-2</target> <muleVersion>4.4.0</muleVersion> <server>anypoint-exchange-v3</server> <applicationName>${project.name}</applicationName> <replicas>1</replicas> <vCores>0.1</vCores> <deploymentSettings> <lastMileSecurity>false</lastMileSecurity> <forwardSslSession>false</forwardSslSession> <generateDefaultPublicUrl>true</generateDefaultPublicUrl> </deploymentSettings> </cloudhub2Deployment> Maven config example: type target-name version requirements ingress-settings
  • 32. All contents © MuleSoft, LLC Configure the App Maven deployment method: Configure distribution Distribution Management example: <distributionManagement> <repository> <id>anypoint-exchange-v3</id> <name>Exchange Private Repository</name> <url>https://maven.anypoint.mulesoft.com/api/v3/organizations/${project.groupId}/maven</url> <layout>default</layout> </repository> </distributionManagement> Maven Plugin update example: <properties> ... <mule.maven.plugin.version>3.8.1</mule.maven.plugin.version> </properties>
  • 33. All contents © MuleSoft, LLC Demo
  • 34. All contents © MuleSoft, LLC Thank you!