SlideShare una empresa de Scribd logo
1 de 43
MULESOFT LONDON
MEETUP. NOVEMBER 2019.
https://www.paceintegration.com/
connect@paceintegration.com
Contact Pace Integration:
THE COMMUNITY.
Signup at
https://meetups.mulesoft.com/london/
Open to everyone
Learn and share
Interactive
Build your network
SLIDESHARE + LINKEDIN
Material available afterwards on
SlideShare.
ENGAGE ON SOCIAL
MEDIA J
#MULESOFTMEETUP
@PACEINTEGRATION
ASYNC API
Hybrid
Integration
Patterns
Centre for
Enablement
B2B
Integration
API
Enablement
– start small,
plan big
GREAT
TOPICS
Anypoint
Platform
DevOps
Tooling with
Anypoint
RAML 1.0
API Led
Connectivity
Anypoint
Platform
Crowd
Release
SaaS
Integration
Single view
of Customer
API Security
The
Connected
Enterprise
MULESOFT HELP CENTRE
WHO WANTS TO BE A…
PRIZES!
OFFICIAL MULESOFT TRAINING
ABHISHEK
KUMAR A Mulesoft ESB integration developer with
worth 9 yrs experience in designing,
development, integrating applications for
MuleSoft ESB. Worked on the integration and
implementation of applications on cloud, On-
premises and hybrid model for various
domains like domains like Banking/Finance,
Retail, Manufacturing, Energy & Utilities.
9
MULESOFT
AND CICD
Michael Jakeman
SOLUTIONS ARCHITECT @ SLALOM
ABOUT ME
• 5 years working with MuleSoft
• Built multiple CICD pipelines, and multiple
iterations of each
• Focus on enabling the developer
experience
• Building reusable self describing RESTful
APIs in both Mule 3 and Mule 4
• I like houseplants
ABOUT YOU
WHAT DO YOU WANT TO ACHIEVE
Zero (or minimal) human involvement in the deployment
of releases
Automated builds
Automated deployments
PHASE 1 • Branching strategy
• Automate deployment
• Build structure for future
phases
PHASE 1 - BRANCHING STRATEGY
• Git Flow (other strategies are available)
• feature/.* > Development
• develop > SIT
• release/.* > UAT
• master > Production
PHASE 1 - MULE MAVEN PLUGIN
• Configured in the pom.xml
• Arguments passed in from maven
commands
• Can deploy to:
• Cloudhub (include the version!)
• Runtime Fabric
• On premise
• Please include the version in your
runtime application name!
PHASE 1 - ANYPOINT CLI
• Requires configuration installation on the Jenkins server
• Username and passwords can be managed in Jenkins Credentials
PHASE 1 - JENKINSFILE
• Jenkins configuration as code
• No more configuring Jenkins jobs!
• Configuration managed in source code
• Developers can configure how
applications will be deployed
PHASE 1 - SHARED LIBRARIES
• Applications can call the same function
• Reduces customization in Jenkinsfiles
• Maintain multiple runnable versions of
your pipeline
• Protects against major changes
PHASE 1 - BENEFITS
• Quick to implement
• Reduces human intervention
• Shared libraries reduce duplicate code
• Pipeline is ‘versionable’
PHASE 1 - DRAWBACKS
• Applications are build and deployed for each environment
• No concept of ‘rollback’ if the deployment fails
• Assets are only stored on the Jenkins instance
• No configuration of the API, only the deployed Application
PHASE 2 • Publish to repository (eg
Nexus, Artifactory)
• Promote functionality
• Run automated tests
PHASE 2 - PUBLISH
• Immutable artifacts
• Storage of previous versions
• Managed in the pom.xml
• Parent poms are your friend
PHASE 2 - PROMOTE
• Shared Library
• Using Anypoint Platform APIs
• Anypoint System API
• Enhanced promote functionality
PHASE 2 - TEST
• Force MUnit tests
• Integrate performance testing
• JUnit
• BlazeMeter
• Integration testing
• Cucumber
• Automated testing allows gives you
repeatable tests that give you confidence
your application can be promoted
PHASE 2 - BENEFITS
• Immutable assets stored in a repository
• How do you define your configuration of an API?
• Confidence with each deployment due to testing
• In a position to release to the next environment
PHASE 2 - DRAWBACKS
• It takes time to develop promote functionality
• Re-work to change from a branch based release strategy
• Rolling back changes are hard, what do you do if your tests change?
• Have you stored your configuration from the previous build?
PHASE 3 • Decouple build and
release
• Automated release
• Code quality
PHASE 3 - DECOUPLE BUILD & RELEASE
• Remove your Mule Maven Plugin or
Anypoint CLI
• Requires ‘deployer’ functionality
• Automate API Discovery
• Automate policy management
• Deploy can use existing functionality used
to promote
PHASE 3 - AUTOMATE RELEASE
• Chain together your environments
• Deploy to an environment
• Test in the environment
• Repeat
• Ensure that Jenkinsfiles use your Shared Libraries methods
• It’s easier to change your code in one place and not in 150 APIs… Trust me!
PHASE 3 - CODE QUALITY
• Create rules for your developers
• Make sure they know what the rules are!
• Enforce naming conventions and developer standards
• Report on API standards
PHASE 3 - BENEFITS
• Automated release to any environment
• Ability to roll back applications (by redeploying older versions)
PHASE 3 - DRAWBACKS
• Rolling back is complicated
• Requires versioned storage of secure properties
• Not truly continuous, would need to revisit branching strategy
• Unsure if a built object will deploy
Additional
Functionality
ANYPOINT SYSTEM API
• Mule Maven Plugin and Anypoint CLI only allows username and passwords
managed in Anypoint Platform
• Ability to create a single endpoint that can create an API
• Allows configuration of an API
• Allows release of an Application
• Standards are enforceable
RAML GENERATOR
• Best practices around RAML
• Imports shared libraries and common components
MAVEN ARCHETYPE
• Create a customizable Mule project fit for your needs
• Import common components readily available
API GENERATOR
• Create a repository in source control
• Create the application based on best standards
• Import the RAML published from design center
• Generate application flows
• Generate MUnit flows
• Create Jenkins Job
• Create API in API Manager
• Deploy application into development environment
AUTOMATE DOCUMENTATION
• Don’t write any more API documentation.
• Need to know if an API is public or private?
• Business owners, Data owners?
• What developers have worked on the project?
• Customised security and authentication details.
42
THOUGHTS?
https://www.paceintegration.com/
connect@paceintegration.com
Contact Pace Integration:

Más contenido relacionado

La actualidad más candente

Meetup_Bangalore_Rajesh
Meetup_Bangalore_RajeshMeetup_Bangalore_Rajesh
Meetup_Bangalore_RajeshD.Rajesh Kumar
 
Top 5 Considerations for Successful Deployment of Kubernetes
Top 5 Considerations for Successful Deployment of KubernetesTop 5 Considerations for Successful Deployment of Kubernetes
Top 5 Considerations for Successful Deployment of KubernetesPlatform9
 
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits markACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits markAWS User Group Kochi
 
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps  DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps Docker, Inc.
 
Navigating the Container Orchestration Maze
Navigating the Container Orchestration MazeNavigating the Container Orchestration Maze
Navigating the Container Orchestration MazeAlex Vranceanu
 
Indore mule soft meetup 3
Indore mule soft meetup 3Indore mule soft meetup 3
Indore mule soft meetup 3Kirti Gurjar
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersBruno Borges
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkinscherryhillco
 
Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond	Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond ICON UK EVENTS Limited
 
Swift Buildpack for Cloud Foundry
Swift Buildpack for Cloud FoundrySwift Buildpack for Cloud Foundry
Swift Buildpack for Cloud FoundryRobert Gogolok
 
Meetup bangalore june29th2019
Meetup bangalore june29th2019Meetup bangalore june29th2019
Meetup bangalore june29th2019D.Rajesh Kumar
 
EMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWEMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWTommy Trogden
 
Meetup slide 1st june
Meetup slide 1st juneMeetup slide 1st june
Meetup slide 1st juneSantosh Ojha
 
Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.ICON UK EVENTS Limited
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsBruno Borges
 
Fyp 2 final presentation
Fyp 2 final presentationFyp 2 final presentation
Fyp 2 final presentationBaber Sheikh
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpowerMoya Brannan
 

La actualidad más candente (20)

Meetup_Bangalore_Rajesh
Meetup_Bangalore_RajeshMeetup_Bangalore_Rajesh
Meetup_Bangalore_Rajesh
 
Top 5 Considerations for Successful Deployment of Kubernetes
Top 5 Considerations for Successful Deployment of KubernetesTop 5 Considerations for Successful Deployment of Kubernetes
Top 5 Considerations for Successful Deployment of Kubernetes
 
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits markACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
 
Modern Software Development
Modern Software DevelopmentModern Software Development
Modern Software Development
 
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps  DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
DCSF19 Adding a Modern API Layer to ‘Dockerized’ Legacy Apps
 
Navigating the Container Orchestration Maze
Navigating the Container Orchestration MazeNavigating the Container Orchestration Maze
Navigating the Container Orchestration Maze
 
Indore mule soft meetup 3
Indore mule soft meetup 3Indore mule soft meetup 3
Indore mule soft meetup 3
 
Visual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring DevelopersVisual Studio Code for Java and Spring Developers
Visual Studio Code for Java and Spring Developers
 
Continuous integration / deployment with Jenkins
Continuous integration / deployment with JenkinsContinuous integration / deployment with Jenkins
Continuous integration / deployment with Jenkins
 
Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond	Find your data - use GraphDB capabilities in XPages applications - and beyond
Find your data - use GraphDB capabilities in XPages applications - and beyond
 
Swift Buildpack for Cloud Foundry
Swift Buildpack for Cloud FoundrySwift Buildpack for Cloud Foundry
Swift Buildpack for Cloud Foundry
 
Meetup bangalore june29th2019
Meetup bangalore june29th2019Meetup bangalore june29th2019
Meetup bangalore june29th2019
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
EMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWEMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTW
 
Meetup slide 1st june
Meetup slide 1st juneMeetup slide 1st june
Meetup slide 1st june
 
Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.Servlets made easy. 
Write once and run everywhere.
Servlets made easy. 
Write once and run everywhere.
 
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX AppsFrom GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
 
Fyp 2 final presentation
Fyp 2 final presentationFyp 2 final presentation
Fyp 2 final presentation
 
Chef onlinuxonpower
Chef onlinuxonpowerChef onlinuxonpower
Chef onlinuxonpower
 

Similar a MuleSoft London Community November 2019 - MuleSoft and CICD

ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Lucas Jellema
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics sbbabu
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops OverviewJoel W. King
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015WaveMaker, Inc.
 
Serverless Pune Meetup 1
Serverless Pune Meetup 1Serverless Pune Meetup 1
Serverless Pune Meetup 1Vishal Biyani
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native ApplicationVMUG IT
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015Henry Huang
 
Manchester MuleSoft Meetup #8 - 28 Sept.pptx
Manchester MuleSoft Meetup #8 - 28 Sept.pptxManchester MuleSoft Meetup #8 - 28 Sept.pptx
Manchester MuleSoft Meetup #8 - 28 Sept.pptxAkshata Sawant
 
Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10MagaliDavidCruz
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformJeffrey T. Fritz
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3Vishal Biyani
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectPatrick Chanezon
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejspfremm
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)yalini97
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Lucas Jellema
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 

Similar a MuleSoft London Community November 2019 - MuleSoft and CICD (20)

ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
Event Bus as Backbone for Decoupled Microservice Choreography - Lecture and W...
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
Net Devops Overview
Net Devops OverviewNet Devops Overview
Net Devops Overview
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Serverless Pune Meetup 1
Serverless Pune Meetup 1Serverless Pune Meetup 1
Serverless Pune Meetup 1
 
Cloud Native Application
Cloud Native ApplicationCloud Native Application
Cloud Native Application
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Manchester MuleSoft Meetup #8 - 28 Sept.pptx
Manchester MuleSoft Meetup #8 - 28 Sept.pptxManchester MuleSoft Meetup #8 - 28 Sept.pptx
Manchester MuleSoft Meetup #8 - 28 Sept.pptx
 
Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10Meetup Openshift Geneva 03/10
Meetup Openshift Geneva 03/10
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 
Highly available nodejs
Highly available nodejsHighly available nodejs
Highly available nodejs
 
Apereo OAE - Bootcamp
Apereo OAE - BootcampApereo OAE - Bootcamp
Apereo OAE - Bootcamp
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 

Más de Pace Integration

MuleSoft London Community July 2022 - Test Driven Development
MuleSoft London Community July 2022 - Test Driven DevelopmentMuleSoft London Community July 2022 - Test Driven Development
MuleSoft London Community July 2022 - Test Driven DevelopmentPace Integration
 
MuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub AutomationMuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub AutomationPace Integration
 
MuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project VitaMuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project VitaPace Integration
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataPace Integration
 
MuleSoft London Community October 2019 - Preparing for London Connect 2019
MuleSoft London Community October 2019 - Preparing for London Connect 2019MuleSoft London Community October 2019 - Preparing for London Connect 2019
MuleSoft London Community October 2019 - Preparing for London Connect 2019Pace Integration
 
MuleSoft London Community August 2019 - MuleSoft with Workday
MuleSoft London Community August 2019 - MuleSoft with Workday MuleSoft London Community August 2019 - MuleSoft with Workday
MuleSoft London Community August 2019 - MuleSoft with Workday Pace Integration
 
MuleSoft London Community March 2018 - The power of the Crowd
MuleSoft London Community March 2018 - The power of the CrowdMuleSoft London Community March 2018 - The power of the Crowd
MuleSoft London Community March 2018 - The power of the CrowdPace Integration
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationPace Integration
 
MuleSoft London Community August 2017 - API Led Connectivity
MuleSoft London Community August 2017 - API Led ConnectivityMuleSoft London Community August 2017 - API Led Connectivity
MuleSoft London Community August 2017 - API Led ConnectivityPace Integration
 
MuleSoft London Community - May 2017 RAML
MuleSoft London Community - May 2017 RAMLMuleSoft London Community - May 2017 RAML
MuleSoft London Community - May 2017 RAMLPace Integration
 
MuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and ToolingMuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and ToolingPace Integration
 
MuleSoft London CoP - November 2016
MuleSoft London CoP - November 2016MuleSoft London CoP - November 2016
MuleSoft London CoP - November 2016Pace Integration
 
MuleSoft London CoP - October 2016
MuleSoft London CoP - October 2016MuleSoft London CoP - October 2016
MuleSoft London CoP - October 2016Pace Integration
 
MuleSoft London Community September 2016
MuleSoft London Community September 2016MuleSoft London Community September 2016
MuleSoft London Community September 2016Pace Integration
 

Más de Pace Integration (14)

MuleSoft London Community July 2022 - Test Driven Development
MuleSoft London Community July 2022 - Test Driven DevelopmentMuleSoft London Community July 2022 - Test Driven Development
MuleSoft London Community July 2022 - Test Driven Development
 
MuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub AutomationMuleSoft London Community March 2022 - CloudHub Automation
MuleSoft London Community March 2022 - CloudHub Automation
 
MuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project VitaMuleSoft London Community September 2020 - Project Vita
MuleSoft London Community September 2020 - Project Vita
 
MuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and ODataMuleSoft London Community February 2020 - MuleSoft and OData
MuleSoft London Community February 2020 - MuleSoft and OData
 
MuleSoft London Community October 2019 - Preparing for London Connect 2019
MuleSoft London Community October 2019 - Preparing for London Connect 2019MuleSoft London Community October 2019 - Preparing for London Connect 2019
MuleSoft London Community October 2019 - Preparing for London Connect 2019
 
MuleSoft London Community August 2019 - MuleSoft with Workday
MuleSoft London Community August 2019 - MuleSoft with Workday MuleSoft London Community August 2019 - MuleSoft with Workday
MuleSoft London Community August 2019 - MuleSoft with Workday
 
MuleSoft London Community March 2018 - The power of the Crowd
MuleSoft London Community March 2018 - The power of the CrowdMuleSoft London Community March 2018 - The power of the Crowd
MuleSoft London Community March 2018 - The power of the Crowd
 
MuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP IntegrationMuleSoft London Community October 2017 - Hybrid and SAP Integration
MuleSoft London Community October 2017 - Hybrid and SAP Integration
 
MuleSoft London Community August 2017 - API Led Connectivity
MuleSoft London Community August 2017 - API Led ConnectivityMuleSoft London Community August 2017 - API Led Connectivity
MuleSoft London Community August 2017 - API Led Connectivity
 
MuleSoft London Community - May 2017 RAML
MuleSoft London Community - May 2017 RAMLMuleSoft London Community - May 2017 RAML
MuleSoft London Community - May 2017 RAML
 
MuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and ToolingMuleSoft London Community - API Marketing, Culture Change and Tooling
MuleSoft London Community - API Marketing, Culture Change and Tooling
 
MuleSoft London CoP - November 2016
MuleSoft London CoP - November 2016MuleSoft London CoP - November 2016
MuleSoft London CoP - November 2016
 
MuleSoft London CoP - October 2016
MuleSoft London CoP - October 2016MuleSoft London CoP - October 2016
MuleSoft London CoP - October 2016
 
MuleSoft London Community September 2016
MuleSoft London Community September 2016MuleSoft London Community September 2016
MuleSoft London Community September 2016
 

Último

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

MuleSoft London Community November 2019 - MuleSoft and CICD

  • 1. MULESOFT LONDON MEETUP. NOVEMBER 2019. https://www.paceintegration.com/ connect@paceintegration.com Contact Pace Integration:
  • 2. THE COMMUNITY. Signup at https://meetups.mulesoft.com/london/ Open to everyone Learn and share Interactive Build your network
  • 3. SLIDESHARE + LINKEDIN Material available afterwards on SlideShare. ENGAGE ON SOCIAL MEDIA J #MULESOFTMEETUP @PACEINTEGRATION
  • 4. ASYNC API Hybrid Integration Patterns Centre for Enablement B2B Integration API Enablement – start small, plan big GREAT TOPICS Anypoint Platform DevOps Tooling with Anypoint RAML 1.0 API Led Connectivity Anypoint Platform Crowd Release SaaS Integration Single view of Customer API Security The Connected Enterprise
  • 6. WHO WANTS TO BE A…
  • 8. ABHISHEK KUMAR A Mulesoft ESB integration developer with worth 9 yrs experience in designing, development, integrating applications for MuleSoft ESB. Worked on the integration and implementation of applications on cloud, On- premises and hybrid model for various domains like domains like Banking/Finance, Retail, Manufacturing, Energy & Utilities.
  • 10. ABOUT ME • 5 years working with MuleSoft • Built multiple CICD pipelines, and multiple iterations of each • Focus on enabling the developer experience • Building reusable self describing RESTful APIs in both Mule 3 and Mule 4 • I like houseplants
  • 12. WHAT DO YOU WANT TO ACHIEVE Zero (or minimal) human involvement in the deployment of releases Automated builds Automated deployments
  • 13. PHASE 1 • Branching strategy • Automate deployment • Build structure for future phases
  • 14. PHASE 1 - BRANCHING STRATEGY • Git Flow (other strategies are available) • feature/.* > Development • develop > SIT • release/.* > UAT • master > Production
  • 15. PHASE 1 - MULE MAVEN PLUGIN • Configured in the pom.xml • Arguments passed in from maven commands • Can deploy to: • Cloudhub (include the version!) • Runtime Fabric • On premise • Please include the version in your runtime application name!
  • 16. PHASE 1 - ANYPOINT CLI • Requires configuration installation on the Jenkins server • Username and passwords can be managed in Jenkins Credentials
  • 17. PHASE 1 - JENKINSFILE • Jenkins configuration as code • No more configuring Jenkins jobs! • Configuration managed in source code • Developers can configure how applications will be deployed
  • 18. PHASE 1 - SHARED LIBRARIES • Applications can call the same function • Reduces customization in Jenkinsfiles • Maintain multiple runnable versions of your pipeline • Protects against major changes
  • 19.
  • 20. PHASE 1 - BENEFITS • Quick to implement • Reduces human intervention • Shared libraries reduce duplicate code • Pipeline is ‘versionable’
  • 21. PHASE 1 - DRAWBACKS • Applications are build and deployed for each environment • No concept of ‘rollback’ if the deployment fails • Assets are only stored on the Jenkins instance • No configuration of the API, only the deployed Application
  • 22. PHASE 2 • Publish to repository (eg Nexus, Artifactory) • Promote functionality • Run automated tests
  • 23. PHASE 2 - PUBLISH • Immutable artifacts • Storage of previous versions • Managed in the pom.xml • Parent poms are your friend
  • 24. PHASE 2 - PROMOTE • Shared Library • Using Anypoint Platform APIs • Anypoint System API • Enhanced promote functionality
  • 25. PHASE 2 - TEST • Force MUnit tests • Integrate performance testing • JUnit • BlazeMeter • Integration testing • Cucumber • Automated testing allows gives you repeatable tests that give you confidence your application can be promoted
  • 26.
  • 27. PHASE 2 - BENEFITS • Immutable assets stored in a repository • How do you define your configuration of an API? • Confidence with each deployment due to testing • In a position to release to the next environment
  • 28. PHASE 2 - DRAWBACKS • It takes time to develop promote functionality • Re-work to change from a branch based release strategy • Rolling back changes are hard, what do you do if your tests change? • Have you stored your configuration from the previous build?
  • 29. PHASE 3 • Decouple build and release • Automated release • Code quality
  • 30. PHASE 3 - DECOUPLE BUILD & RELEASE • Remove your Mule Maven Plugin or Anypoint CLI • Requires ‘deployer’ functionality • Automate API Discovery • Automate policy management • Deploy can use existing functionality used to promote
  • 31. PHASE 3 - AUTOMATE RELEASE • Chain together your environments • Deploy to an environment • Test in the environment • Repeat • Ensure that Jenkinsfiles use your Shared Libraries methods • It’s easier to change your code in one place and not in 150 APIs… Trust me!
  • 32. PHASE 3 - CODE QUALITY • Create rules for your developers • Make sure they know what the rules are! • Enforce naming conventions and developer standards • Report on API standards
  • 33.
  • 34. PHASE 3 - BENEFITS • Automated release to any environment • Ability to roll back applications (by redeploying older versions)
  • 35. PHASE 3 - DRAWBACKS • Rolling back is complicated • Requires versioned storage of secure properties • Not truly continuous, would need to revisit branching strategy • Unsure if a built object will deploy
  • 37. ANYPOINT SYSTEM API • Mule Maven Plugin and Anypoint CLI only allows username and passwords managed in Anypoint Platform • Ability to create a single endpoint that can create an API • Allows configuration of an API • Allows release of an Application • Standards are enforceable
  • 38. RAML GENERATOR • Best practices around RAML • Imports shared libraries and common components
  • 39. MAVEN ARCHETYPE • Create a customizable Mule project fit for your needs • Import common components readily available
  • 40. API GENERATOR • Create a repository in source control • Create the application based on best standards • Import the RAML published from design center • Generate application flows • Generate MUnit flows • Create Jenkins Job • Create API in API Manager • Deploy application into development environment
  • 41. AUTOMATE DOCUMENTATION • Don’t write any more API documentation. • Need to know if an API is public or private? • Business owners, Data owners? • What developers have worked on the project? • Customised security and authentication details.