MuleSoft Platform Architect's Guide: A practical guide to using Anypoint Platform's capabilities to architect, deliver, and operate APIs
By Jitendra Bafna and Jim Andrews
()
About this ebook
We’re living in the era of digital transformation, where organizations rely on APIs to enable innovation within the business and IT teams are asked to continue doing more with less. As such, this book will help you deliver a robust, secure, and flexible enterprise API platform, supporting any required business outcome.
You’ll begin by understanding Anypoint Platform’s architecture and its capabilities for a modern integration approach. Then, you’ll learn how to align business outcomes with functional requirements and how non-functional requirements influence the shape of the architecture. You’ll also explore how Catalyst and Accelerators can be leveraged successfully, enabling efficient development cycles. As you progress, you’ll become familiar with hassle-free deployment and hosting APIs in CloudHub 1.0/2.0, Runtime Fabric Manager, and a hybrid customer-hosted environment. You’ll discover advanced operating and monitoring techniques with API Manager and Anypoint Monitoring. The concluding chapters will offer guidance and best practices on how to tackle complex topics, which will also be useful in helping you pass the challenging MuleSoft Certified Platform Architect exam.
By the end of this book, you’ll understand Anypoint Platform’s capabilities and be able to architect solutions that deliver the desired business outcomes.
Related to MuleSoft Platform Architect's Guide
Related ebooks
Enterprise Application Development with C# 9 and .NET 5: Enhance your C# and .NET skills by mastering the process of developing professional-grade web applications Rating: 0 out of 5 stars0 ratingsEnterprise Integration with Mulesoft: Learn how to leverage MuleSoft to power Enterprise Integration (English Edition) Rating: 0 out of 5 stars0 ratingsBuilding Microservices with .NET Core: Develop skills in Reactive Microservices, database scaling, Azure Microservices, and more Rating: 0 out of 5 stars0 ratingsEnterprise Application Architecture with .NET Core: An architectural journey into the Microsoft .NET open source platform Rating: 0 out of 5 stars0 ratingsKnockoutJS by Example Rating: 0 out of 5 stars0 ratingsHands-On Microservices with C# 8 and .NET Core 3: Refactor your monolith architecture into microservices using Azure, 3rd Edition Rating: 0 out of 5 stars0 ratingsMicroservices with Azure Rating: 0 out of 5 stars0 ratingsInfrastructure Automation with Terraform: Automate and Orchestrate your Infrastructure with Terraform Across AWS and Microsoft Azure Rating: 0 out of 5 stars0 ratingsMySQL 8 for Big Data: Effective data processing with MySQL 8, Hadoop, NoSQL APIs, and other Big Data tools Rating: 0 out of 5 stars0 ratingsMySQL 8 Administrator's Guide: Effective guide to administering high-performance MySQL 8 solutions Rating: 0 out of 5 stars0 ratingsMicrosoft BizTalk 2010: Line of Business Systems Integration Rating: 0 out of 5 stars0 ratingsHands-On Parallel Programming with C# 8 and .NET Core 3: Build solid enterprise software using task parallelism and multithreading Rating: 0 out of 5 stars0 ratingsLearning NServiceBus Sagas Rating: 0 out of 5 stars0 ratingsHands-On Machine Learning with Azure: Build powerful models with cognitive machine learning and artificial intelligence Rating: 0 out of 5 stars0 ratingsUltimate Machine Learning with ML.NET Rating: 0 out of 5 stars0 ratingsInstant .NET 4.5 Extension Methods How-to: Utilize and harness the power of extension methods in your .NET applications Rating: 0 out of 5 stars0 ratingsDeveloping Cloud Native Applications in Azure using .NET Core: A Practitioner’s Guide to Design, Develop and Deploy Apps Rating: 0 out of 5 stars0 ratingsAzure Serverless Computing Cookbook Rating: 0 out of 5 stars0 ratingsMicroservices with Clojure: Develop event-driven, scalable, and reactive microservices with real-time monitoring Rating: 0 out of 5 stars0 ratings
Software Development & Engineering For You
Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Hand Lettering on the iPad with Procreate: Ideas and Lessons for Modern and Vintage Lettering Rating: 4 out of 5 stars4/5Python For Dummies Rating: 4 out of 5 stars4/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5PYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs Rating: 5 out of 5 stars5/5Agile Practice Guide Rating: 4 out of 5 stars4/5Level Up! The Guide to Great Video Game Design Rating: 4 out of 5 stars4/5Wordpress 2023 A Beginners Guide : Design Your Own Website With WordPress 2023 Rating: 0 out of 5 stars0 ratingsiPhone Application Development For Dummies Rating: 4 out of 5 stars4/5Beginning Programming For Dummies Rating: 4 out of 5 stars4/5Lua Game Development Cookbook Rating: 0 out of 5 stars0 ratingsAdobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5Tiny Python Projects: Learn coding and testing with puzzles and games Rating: 5 out of 5 stars5/5SQL For Dummies Rating: 0 out of 5 stars0 ratingsThe Inmates Are Running the Asylum (Review and Analysis of Cooper's Book) Rating: 4 out of 5 stars4/5Managing Humans: Biting and Humorous Tales of a Software Engineering Manager Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsSucceeding with AI: How to make AI work for your business Rating: 0 out of 5 stars0 ratingsHow to Write Effective Emails at Work Rating: 4 out of 5 stars4/5Flow: A Handbook for Change-Makers, Mavericks, Innovators and Leaders Rating: 0 out of 5 stars0 ratingsBlender 3D Printing Essentials Rating: 0 out of 5 stars0 ratingsGray Hat Hacking the Ethical Hacker's Rating: 5 out of 5 stars5/5Data Visualization: a successful design process Rating: 4 out of 5 stars4/5Ry's Git Tutorial Rating: 0 out of 5 stars0 ratingsGet Programming: Learn to code with Python Rating: 0 out of 5 stars0 ratingsThe Professional ScrumMaster's Handbook Rating: 4 out of 5 stars4/5Android App Development For Dummies Rating: 0 out of 5 stars0 ratings
Reviews for MuleSoft Platform Architect's Guide
0 ratings0 reviews
Book preview
MuleSoft Platform Architect's Guide - Jitendra Bafna
MuleSoft Platform Architect’s Guide
Copyright © 2024 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Aaron Tanna
Publishing Product Manager: Uzma Sheerin
Senior Editor: Nisha Cleetus
Technical Editor: Vidhisha Patidar
Copy Editor: Safis Editing
Language Support Editor: Safis Editing
Project Coordinator: K Thoshith Vignesh
Proofreader: Nisha Cleetus
Indexer: Hemangini Bari
Production Designer: Prafulla Nikalje
Marketing Coordinator: Deepak Kumar and Mayank Singh
First published: July 2024
Production reference: 1190724
Published by Packt Publishing Ltd.
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB, UK
ISBN 978-1-80512-618-8
www.packtpub.com
This book has been in progress for a long time and I want to thank my parents, who have raised me, and planted the seed of knowledge in me, and nurtured it. To my loving wife, you have always been a source of profound inspiration and relentless support. To my kids, the lifeline and the light of my life.
– Jitendra Bafna
To my wife Debra, you are a constant source of encouragement, support and love. The world is so much more fun with you and your smile in it. To my daughters Elizabeth and Grace, who are already out there being super-heros in the world, you have inspired me to be a better version of myself and always remind me to Be Awesome
. To my parents and brother for all the life steerage. And to my best friend Gil, for teaching me the fine arts of design along with the science of good architecture.
- Jim Andrews
Contributors
About the authors
Jitendra Bafna is a Senior Solution Architect and expert with vast experience in designing and solutioning the integrations and APIs solutions. He is a TOGAF 9.2 Level 1 and Level 2 certified and has expertise in various integration platforms. Jitendra has expertise in architecting and setting up MuleSoft Platform including CloudHub, CloudHub 2.0, Runtime Fabric, Hybrid, Flex Gateway, and Customer Hosted Platform. He completed his Bachelor of Engineering in Computer Science from Mumbai University and a Certificate Programme in Digital Transformation and Innovation from Indian Institute of Management Indore (IIM-I) in 2023.
I would like to first and foremost thank my parents, loving wife, and kids for their continued support, patience, and encouragement throughout the long process of writing this book. Thanks to all MuleSoft Community Managers, leaders, and members for continued support, inspiration and encouragement that I get from the MuleSoft Community.
Jim Andrews is an Integration Architecture Specialist, a MuleSoft evangelist, and a life-long learner: He has been designing and building integration solutions for dozens of clients for over 30 years in an ever-evolving technical landscape. A student of architectural methods, he holds TOGAF 9 Level 1 & 2 certifications. As a volunteer for the MuleSoft certification team, Jim helped develop exams for MuleSoft Developer L2, Integration Associate, Integration and Platform Architecture. A member of the MuleSoft Developer Community and Houston Meetup Leader, Jim presents at Meetups, Dreamforce, and Salesforce TDX. In his spare time, he co-hosts the podcast Bits That Bind. Jim holds BSc degree in a Computer Information Systems from Tarleton State University.
I want to thank my wife for setting the example by plowing through all the writing you've had to do for your MBA. I also want to thank my co-author Jitendra for stepping up and helping when life started throwing me curveballs. And thank you Prajakta. Every week you found a way to encourage me and make writing this book easier. Thank you Mariana Lemus for encouraging me to step up in the MuleSoft Community many years ago, and to the other community managers, Sabrina Hockett, Sabrina Marechal, Isabella Navarro - I truly believe you run the very best developer community in the world. Thanks Packt for believing in me and Jitendra and giving us the space, time, patience, and resources to get this book completed.
About the reviewers
Jose Ramon Huerga began his journey as a self-taught programmer at just 14 years old in the 80s, mastering C++. He earned a degree in Computer Engineering from the Universidad Autonoma of Madrid and has worked in the UK, Germany, Switzerland, Argentina, and Spain, leading projects in content management, integration, and API management. Jose is a MuleSoft Ambassador and leads the MuleSoft Meetup group of Barcelona. He coauthored the book Kong: Becoming a King of API Gateways
and is a frequent speaker on APIs and integration. Married to Margarita, he is the proud father of two, Carlos and Victor. Jose loves learning new technologies and staying updated.
D. Rajesh Kumar is an Enterprise Architect with over 18 years of extensive experience in the IT industry. For the past 10+ years, he has specialized in the MuleSoft platform, working across various domains on end-to-end platform setups, architecture, design, and Center For Enablement (C4E) setups. He has written multiple technical blogs and has been a speaker and meetup leader, sharing his insights on advanced MuleSoft topics, integration strategies, and architectural patterns. He is a certified MuleSoft Architect and a MuleSoft Ambassador, recognized by MuleSoft for his expertise and contributions to the community. Currently, he is working as an Enterprise Architect at TCS, driving large-scale digital integration initiatives.
Table of Contents
Preface
1
What is the MuleSoft Platform?
Technical requirements
What is MuleSoft and iPaaS?
How have integration approaches evolved?
J&J Music Store Use Case
Point to Point
Middleware and Remote Procedure Calls
Enterprise Service Bus
Service Oriented Architecture
Representational State Transfer (REST Services)
iPaaS
What is the modern challenge to integration?
Breaking the law is harder than you think
Business innovation at the speed of technical debt
The Architectural capabilities of MuleSoft
Planes of operations
Platform deployment options
MuleSoft capabilities and components
Why are APIs so important in delivering modern integrations?
Summary
Questions
Answers
Further Reading
2
Platform Foundation Components and the Underlying Architecture
Technical requirements
The Anypoint control plane
Control plane hosting options
Securing the Anypoint control plane
Organizing the Anypoint control plane
The runtime plane overview
Runtime deployment options
Runtime plane hosting
Core components in the runtime plane
Combining control plane hosts and runtime hosts
Anypoint Core Services
Management capability
Design capability
Discover Capability
Summary
Questions
Further reading
Answers
3
Leveraging Catalyst and the MuleSoft Knowledge Hub
Exploring Catalyst, its core principles, and its engagements
What is Catalyst?
Catalyst’s foundation
Playbook organization
Catalyst engagements
Leveraging the Catalyst Knowledge Hub
Finding value in a C4E
Team enablement
Metrics and KPIs
Staffing
Summary
Questions
Further reading
Answers
4
An Introduction to Application Networks
An introduction to MuleSoft application networks
What is an application network?
Components and the importance of an application network
Building and implementing an application network
Planning the roadmap
Designing and developing
Managing and evangelizing reuse
The benefits and best practices of an application network
Benefits
Best practices
Summary
Questions
Further reading
Answers
5
Speeding with Accelerators
Unpacking the accelerator building blocks
Pre-built APIs
Connectors
Templates
Best practices
Data mappings
Endpoints
Customizing MuleSoft accelerators
Customizing the Accelerator for Retail – J&J Music Store speeds up
Essential building blocks for MuleSoft accelerators
The MuleSoft Catalyst GitHub repository
Summary
Further reading
6
Aligning Desired Business Outcomes to Functional Requirements
Developing business outcomes and functional requirements
Designing for communication
EDM
Advantages of an EDM
Disadvantages of EDMs
Bounded context data model
Advantages of the bounded context data model
Disadvantages of the bounded context data model
Coarse-grained APIs
Advantages of coarse-grained APIs
Disadvantages of coarse-grained APIs
Fine-grained APIs
Advantages of fine-grained APIs
Disadvantages of fine-grained APIs
API concurrency
HTTP verbs
API callback
Summary
7
Microservices, Application Networks, EDA, and API-led Design
Monolithic architecture
Advantages of a monolithic architecture
Disadvantages of a monolithic architecture
Microservices architecture
Characteristics of microservices
Advantages of a microservices architecture
Disadvantages of a microservices architecture
Saga pattern
Saga choreography pattern
Saga orchestration pattern
The Competing Consumers pattern
Benefits of implementing the Competing Consumers pattern
Circuit Breaker pattern
Circuit Breaker states
Anypoint MQ
Message exchanges and queues
Cross-region failover for Anypoint MQ standard queues
Dead-letter queues
The Circuit Breaker pattern with Anypoint MQ
Event-driven architecture (EDA)
Benefits of EDA
Limitations of EDA
API-led connectivity and EDA together
Experience API
Process API
System API
Application networks and composability
Summary
8
Non-Functional Requirements Influence in Shaping the API Architecture
Common non-functional requirements
Meeting performance requirements in the platform
Response time
Throughput
Error rates
Availability
Latency
Scalability
Resource allocation
Performance testing
Performance monitoring
Load balancing
Application caching
API security
Data security in motion or in transit
Data security at rest
Deployment strategies
Rolling update deployment
Blue-green deployment
Canary deployment
Summary
Further reading
9
Hassle-free Deployment with Anypoint iPaaS (CloudHub 1.0)
Technical requirements
What is CloudHub 1.0?
Workers and worker size
Shared load balancer
Region
DNS records
Intelligent healing (single-region disaster recovery)
Zero downtime updates
High availability
Scalability
Persistent Queues
Managing schedules
Object Store V2
Static IP address
Anypoint VPC
Anypoint VPC architecture
VPN IPsec tunnels
VPC peering
Transit Gateway Attachments
AWS Direct Connect
Calculating a CIDR mask for Anypoint VPC
Anypoint dedicated load balancer
Allowlist CIDRs
SSL certificates
Mutual authentication
Dedicated load balancer sizing
Dedicated load balancer timeout
Dedicated load balancer mapping rules
HTTP inbound mode
Recommendations
Dedicated load balancers for public and private traffic
Different options for deploying a MuleSoft application to CloudHub 1.0 Runtime Manager
The Mule Maven plugin
Anypoint CLI
CloudHub 1.0 API
Summary
Further reading
10
Hassle-Free Deployment with Anypoint iPaaS (CloudHub 2.0)
What is CloudHub 2.0?
Why CloudHub 2.0?
Replicas and replica size
Region
Clustering
High availability
Application isolation
Intelligent healing
Zero-downtime updates
Scalability
Supported Mule runtime
Granular vCore options
Object Store v2
Managing schedules
Last-mile security
Shared space
Private space
AWS service role
Inbound and outbound traffic rules
TLS context and domains
Public and private endpoints
Ingress load balancer
HTTP requests
VPN connection
Transit gateways
Private space network architecture
Multiple environments in private spaces
Multiple domains in private spaces
Different options for deploying MuleSoft applications to CloudHub Runtime Manager
Anypoint CLI
Technical enhancements from CloudHub 1.0 to CloudHub 2.0
Summary
Further reading
11
Containerizing the Runtime Plane with Runtime Fabric
Technical requirements
Kubernetes architecture
Master node components
Worker node components
What is Runtime Fabric?
Runtime Fabric on bare-metal servers/VMs
Network architecture
Shared responsibility between the customer and MuleSoft
The concept of etcd in Runtime Fabric
Quorum management
Scalability
High availability
Fault tolerance
Inbound load balancer (ingress load balancer)
Anypoint Security
Application performance metrics
Internal load balancer performance metrics
Runtime Fabric on self-managed Kubernetes
Runtime Fabric architecture on EKS
Installing Runtime Fabric on self-managed Kubernetes
Shared responsibilities between the customer and MuleSoft
High availability and fault tolerance
Scalability
How will an application deployed to self-managed Kubernetes communicate with an external service for which IP whitelisting is required?
The difference between Runtime Fabric on self-managed Kubernetes and bare-metal/VMs
Tokenization services
Secrets Manager
CPU bursting in Runtime Fabric
Pod
Last-mile security
Internal service-to-service communication
Persistence Gateway with Runtime Fabric
Deployment strategy
Clustering
Backing up and restoring Runtime Fabric
When to use the backup and restore process
What’s backed up?
Backing up and restoring
Different options for deploying a MuleSoft application to Runtime Fabric
The Mule Maven plugin
The benefits of Runtime Fabric
Runtime Fabric on Red Hat OpenShift
Summary
12
Deploying to Your Own Data Center
Technical requirements
Hardware requirements
Software requirements
Why an on-premises Mule runtime?
Running applications in an on-premises Mule runtime
High availability
Scalability
Load balancer
Anypoint clustering
Concurrency issues
Setting up Anypoint clustering manually
Setting up Anypoint clustering on Anypoint Platform
Persistent object store
Primary node and secondary nodes
VM queues in Anypoint clustering
Anypoint server group
Anypoint Platform Private Cloud Edition
Running on-premises Mule runtime use cases
Mule runtime plane on-premises and no control plane (standalone)
Mule runtime plane on-premises and control plane on Anypoint Platform (hybrid)
Mule runtime plane on-premises and control plane on Anypoint Platform PCE (fully on-premises)
Running multiple MuleSoft applications on a single port (Mule domain)
How to use a domain project in API-led connectivity architecture
Deploying a MuleSoft application on-premises using the Mule Maven plugin
Deploying a MuleSoft application on-premises using the Anypoint Runtime Manager (ARM) REST API
Deploying Mule for high availability and disaster recovery strategies
Cold standby
Warm standby
Hot standby – active-passive
Active-active
Upgrading a Mule runtime or scaling the underlying infrastructure without any downtime
Mule runtime on-premises security
Summary
Further reading
13
Government Cloud and the EU Control Plane – Special Considerations
FedRAMP compliance
What is MuleSoft Government Cloud?
Government Cloud considerations
Security in MuleSoft Government Cloud
Anypoint Virtual Private Cloud and Virtual Private Network in MuleSoft Government Cloud
A dedicated load balancer in MuleSoft Government Cloud
The MuleSoft Government Cloud control plane
The MuleSoft Government Cloud runtime plane
Standalone Mule support in MuleSoft Government Cloud
Deployment models for MuleSoft Government Cloud
The EU control plane
EU control plane considerations
Deploying applications to the EU control plane
Object Store in the EU control plane
Moving from the US control plane to the EU control plane
Anypoint VPC and VPN in the EU control plane
Anypoint Dedicated Load Balancer (DLB) in the EU control plane
Summary
Further reading
14
Functional Monitoring, Alerts, and Operation Monitors
Why is API monitoring required?
Anypoint Monitoring
The monitoring and analytics capabilities of Anypoint API Manager
Understanding Mule API analytics charts
API Manager alerts
Understanding the Mule Analytics Event API
API reports
Understanding Anypoint Monitoring
Dashboards
Anypoint Monitoring event-driven alerts
Enabling Anypoint Monitoring for applications deployed to CloudHub
Enabling Anypoint Monitoring for applications deployed to CloudHub 2.0
Enabling Anypoint Monitoring for applications deployed to Runtime Fabric
Enabling Anypoint Monitoring for applications deployed in hybrid environments
Data retention policy and limits
Monitoring connectors
Server information for hybrid environments
Enabling alerts for hybrid environments with Runtime Manager
Enabling alerts for CloudHub with Runtime Manager
Enabling alerts for CloudHub 2.0 with Runtime Manager
Functional Monitoring
Monitoring the endpoints of public APIs
Monitoring the endpoints of private APIs
Why is logging important?
Logs in Anypoint Monitoring
Understanding logging with MuleSoft applications deployed to CloudHub
Understanding logging with MuleSoft applications deployed to CloudHub 2.0
Understanding logging with MuleSoft applications deployed to on-premises/hybrid environments
Understanding logging with MuleSoft applications deployed to Runtime Fabric on bare-metal systems/VMs
JSON logging with a Mule application
Anypoint Visualizer
Summary
Further reading
15
Controlling API Sprawl with Universal API Management
API sprawl
How to prevent API sprawl
Universal API management
API management
The full API management life cycle
API gateway
Mule Gateway
API proxies
When to use an API proxy
API proxies versus API autodiscovery
Anypoint Service Mesh
Benefits of Flex Gateway
Flex Gateway in Connected Mode
Flex Gateway in Local Mode
Flex Gateway deployment models
High availability and scalability with Flex Gateway
Routing in Flex Gateway
Flex Gateway in Centralized Mode
Flex Gateway in Decentralized Mode
Flex Gateway API policies
Flex Gateway versus Mule Gateway
Share and discover APIs using Anypoint Platform
Developer portal
ACM
API Experience Hub
ACM versus API Experience Hub
API Analytics
API policies
API Governance
Implementing API Governance
Anypoint API Manager alerts
API security threats
DoS
Summary
References
16
Addressing Non-Functional Requirements – from a Thought to an Operation
Prerequisites
What are NFRs?
High availability
High availability and fault tolerance with CloudHub 1.0
High availability and fault tolerance with CloudHub 2.0
High availability and fault tolerance with the on-premises Mule runtime
High availability and fault tolerance with Runtime Fabric (bare-metal servers/VMs)
High availability and fault tolerance with Runtime Fabric (self-managed Kubernetes)
Scalability
Scalability with CloudHub 1.0
Scalability with CloudHub 2.0
Scalability with Runtime Fabric (bare-metal servers/VMs)
Scalability with Runtime Fabric (self-managed Kubernetes)
DR
DR for CloudHub 1.0 (multi-region)
DR for CloudHub 2.0 (multi-region)
DR for the on-premises Mule runtime
vCores allocation and optimization
vCores optimization and allocation with CloudHub 1.0 and CloudHub 2.0
vCores optimization and allocation with the on-premises Mule runtime
vCores optimization and allocation with Runtime Fabric
Summary
17
Prepare for Success
MCPA – Level 1 certification
Format of the examination
Validity
MCPA – Level 1 Maintenance exam
How to prepare for MCPA – Level 1
Why take the MCPA – Level 1 exam?
Who should take the MCPA – Level 1 exam?
What topics are covered in the examination?
Strategies for answering multiple-choice questions
System requirements for the examination
Exam day
Summary
Questions
Further reading
Answers
18
Tackling Tricky Topics
Considerations for choosing the right deployment model
CloudHub 1.0
CloudHub 2.0
Runtime Fabric
On-premises Mule runtime
Anypoint CLI
Resilient API techniques
Idempotent scope
Cache scope
Core components
Choice router
Scatter-Gather router
Error handling
Transform Message
Use case 1
Use case 2
Use case 3
Summary
Index
Other Books You May Enjoy
Preface
We are living in the era of Digital Transformation, where organizations rely on APIs to enable innovation within the business and across business partners. A robust, secure, and flexible enterprise platform is key to driving successful business outcomes which enable this innovation to thrive.
This book is a comprehensive guide exploring the capabilities and architecture of the Anypoint Platform. Beginning with an overview we will look at how business outcomes and functional requirements can be addressed in MuleSoft with out of the box Platform capabilities. This book will then walk you through best practices and the usage of core components including API Manager, Anypoint Monitoring, hosting options including CloudHub, CloudHub 2.0, Runtime Fabric Manager, and customer hosted. The book will also explore how Catalyst and Accelerators can be leveraged successfully from the start of a project through go-live and support, enabling faster, more efficient development cycles so you can release your APIs and get started innovating with the business.
By the end of this book, you will be able to master the Anypoint Platform capabilities and architect solutions that will not only enable but empower the Digital Transformation of your company.
Who this book is for
Technical Architects with knowledge of Integration and APIs looking to understand how to implement these solutions with the MuleSoft Anypoint Platform
MuleSoft Senior Developers who want to take on MuleSoft Platform Architect roles, are planning to take the MuleSoft Platform Architect certification exam and want to understand the platform capabilities in-depth.
Infrastructure Architects who need to understand and define MuleSoft hosting options and who are responsible for their organizations Anypoint Platform strategy.
What this book covers
Chapter 1
: What is the MuleSoft Platform? In this chapter we will examine MuleSoft and the Anypoint Platform. We’ll identify the components and how they relate to each other. And we will describe the platform’s role in an organization and high level capabilities it provides as an integration Platform as a Service. We’ll also review a history of traditional integration approaches and how MuleSoft solves the need for a modern integration approach.
Chapter 2
: Platform foundation components and the underlying architecture, The Anypoint platform is made up of many different services, components, and capabilities. This chapter examines at a high level the major components of the platform, why they are important to integration, if and how they interact. Essentially, this chapter begins to explore the properties and characteristics of the platform including Exchange, Runtime Manager, API Manager, Monitoring. This chapter will also point to later chapters where a more detailed exploration of certain services (such as CloudHub 2.0) and design an architecture to make the best use of them.
Chapter 3
: Leveraging Catalyst and the Mulesoft KnowledgeHub, MuleSoft provides customers and partners access to a framework and methodology for delivery enterprise integration. This chapter will describe the methodology and how it combines business outcomes with technology and organization enablement using a library of artifacts, templates, and examples gathered from the field across numerous MuleSoft projects and deployments.
Chapter 4
: Introduction to Application Networks, The structure produced through API-led connectivity is a network of nodes and applications. In this chapter we will discuss the logical concept of the application network, the physical manifestation, the benefits and the challenges of the network. This chapter will show how designing an application network not only enables the creation of a composable enterprise but also how it impacts the different platform deployment approaches.
Chapter 5
: Speeding with Accelerators, MuleSoft has developed and made available 8 accelerators accessible through Anypoint Exchange. In this chapter, the reader will learn how these accelerators can save time across the various stages of the API lifecycle. The reader will gain a perspective on how the building blocks in each accelerator can be used and customized and what different assets, patterns, mappings, and endpoints have been included. Following a use case of a retail music store, the reader will walk through setting up and customizing the Retail Accelerator.
Chapter 6
: Aligning desired business outcomes to functional requirements, A critical step in getting the most out of the MuleSoft platform is to understand the desired business outcomes and turn those outcomes into functional requirements. This chapter looks at how functional requirements line up with the platform capabilities. The reader will look at how these functional requirements can influence architecture decisions and design patterns such as data models, granularity, concurrency, and HTTP methods. The chapter will include examples of using bounded context data models vs. enterprise data models, using asynchronous APIs with polling and callbacks.
Chapter 7
: Microservices, Application Networks, and API led design, The MuleSoft Platform is very flexible and is able to accommodate multiple approaches to architecture design. This chapter will address popular architecture design approaches and how these will look when deployed to (or managed by) the Anypoint Platform. The chapter will also compare and contrast the architecture approaches, examine pros and cons of each, and suggest best practices for designing solutions.
Chapter 8
: Non-Functional Requirements influence in shaping the Architecture, Every architect must manage a set of non-functional requirements. These non-functional requirements describe the technical constraints of the solution and document how the solution should behave. What kind of performance is expected? What about availability? What happens when disaster strikes? Who can access and when? Is security critical or not? What kind of encryption is needed? The reader will see in this chapter how the answers to these questions influence the architecture design and how the design should use MuleSoft Platform.
Chapter 9
: Hassle-free deployment with Anypoint iPaaS (CloudHub), In this chapter the reader will learn approaches to deployment using MuleSoft CloudHub. This chapter will look at what are the differences and how are the two cloud iPaaS environments similar. This chapter will also look at the different ways to deploy your solution to the Anypoint CloudHub offerings and the pros and cons of each of these methods. It will also examine licensing implications of your design and architecture approach.
Chapter 10
: Hassle-free deployment with Anypoint iPaaS (CloudHub 2.0), In this chapter the reader will learn approaches to deployment using MuleSoft CloudHub 2.0. This chapter will look at what are the differences and how are the two cloud iPaaS environments similar. This chapter will also look at the different ways to deploy your solution to the Anypoint CloudHub 2.0 offerings and the pros and cons of each of these methods. It will also examine licensing implications of your design and architecture approach.
Chapter 11
: Containerizing the Runtime Plane with Runtime Fabric, This chapter will introduce the Anypoint Runtime Fabric (RTF). The chapter will look at the basic concepts of containerization using some of the industry standards such as EKS and AKS. It will then look at how RTF aligns with these container concepts and platforms. The chapter will also examine the different approaches MuleSoft supports with RTF, including self-managed containers and Anypoint managed containers.
Chapter 12
: Deploying to your own Data Center, As a hybrid integration platform as a service, MuleSoft can run anywhere including inside a businesses data center on the businesses own iron. This chapter takes a look at how to set up the server to run the MuleSoft engine and how to connect it to the control panel so it can be managed. The chapter will also take a brief look at Private Cloud Edition (PCE) and how it allows an organization to run both the control plane as well as the runtime plane from their own hardware and servers from within their own development center.
Chapter 13
: Government Cloud and EU Control Plane: Special considerations, This chapter will show the reader some important differences when working with the Government Cloud as well as the EU Control Plane. The chapter will give a brief introduction to FEDRAMp compliance. The reader will learn the government cloud is deployed in a special AWS region which is FEDRamp compliment.
Chapter 14
: Functional Monitoring, Alerts, and Operation Monitors: Advanced monitoring techniques, This chapter will show the reader what are the capabilities provided by Anypoint Monitoring and what are the different alerts that can be configured on APIs and Servers. The reader will learn about Functional Monitoring and some of the advanced features of Anypoint Monitoring.
Chapter 15
: Controlling API Sprawl in one Platform with Universal API Management, This chapter will show the reader how to manage MuleSoft APIs and Non MuleSoft APIs lifecycle using API Manager. The reader will learn Mule Gateway, Flex Gateway, Service Mesh, API Proxies, Analytics, Alerts etc.
Chapter 16
: Addressing non-functional requirements from thought to operate, This chapter will show the reader about implementing Non-Functional requirements like HA, Fault Tolerance, Resilience and allocating and optimizing the vCores to enhance the application performance.
Chapter 17
: Prepare for exam success, This chapter will show the reader how to prepare for the MuleSoft Certified Platform Architecture Exam - Level 1 and eligibility criteria for the exam. It will tell what are the important topics for the MCPA exam and recommendations and guidelines for the exam.
Chapter 18
: Tackling Tricky Topics, The MuleSoft Exams are not meant to be tricky. They have been designed and developed to set the bar at just the right level to ensure the exam takers know the material. Occasionally some of the topics covered in the Platform Architecture exam are a bit more difficult and can seem tricky. This chapter will look at the topics that may be more difficult.
To get the most out of this book
Download the color images
We also provide a PDF file that has color images of the screenshots and diagrams used in this book. You can download it here: https://packt.link/gbp/9781805126188
.
Disclaimer on images
Some images in this title are presented for contextual purposes, and the readability of the graphic is not crucial to the discussion. Please refer to our free graphic bundle to download the images. You can download the images from https://packt.link/gbp/9781805126188
Conventions used
There are number of text conventions used throughout this book.
Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: The backup and restore process is simple via rtfctl.
A block of code is set as follows:
Any command-line input or output is written as follows:
./rtfctl backup
Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: "Checking specifically for Design Architecture & Implementation, as shown in Figure 3.1, we find a playbook step that may be helpful.
Tips or important notes
Appear like this.
Get in touch
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at [email protected]
and mention the book title in the subject of your message.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata
and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected]
with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com
.
Share Your Thoughts
Once you’ve read MuleSoft Platform Architect’s Guide, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page
for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.
Download a free PDF copy of this book
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere?
Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily
Follow these simple steps to get the benefits:
Scan the QR code or visit the link below
https://packt.link/free-ebook/9781805126188
Submit your proof of purchase
That’s it! We’ll send your free PDF and other benefits to your email directly
1
What is the MuleSoft Platform?
In this chapter, we start by taking a high-level view of the MuleSoft Anypoint Platform. We will then look back at the evolution of different integration approaches and how the current modern integration approach fits within the MuleSoft platform. We will look at the different components that form the core building blocks of MuleSoft and how they relate to each other. These components form the basis of the architectural capabilities available in this platform. Next, the chapter will describe where this technology fits within any organization and in particular those looking to seize the future through modernization, digital innovation, and business transformation. We will also look at what MuleSoft is capable of as an integration Platform as a Service (iPaaS) and why MuleSoft is important in the modern integration approach.
In this chapter we’re going to cover the following main topics:
What is MuleSoft and iPaaS?
How have integration approaches evolved?
The architectural capabilities of MuleSoft
Solving the modern challenge to integration
How the MuleSoft architecture delivers modern integrations
Technical requirements
Many of the MuleSoft components and services discussed in this chapter are available by signing up for a free trial MuleSoft account and by downloading the MuleSoft Anypoint Studio. Also, you will find a GitHub repository for the chapter here as well.
Download MuleSoft Anypoint Studio, (visit https://www.mulesoft.com/lp/dl/anypoint-mule-studio
.
Fill out the form providing:
email address
operating system
Check your email to get the download link to the latest Anypoint Studio version. (Note this link will only be valid for 24 hours.)
Sign up for a free 30-Day MuleSoft account, visit Anypoint.MuleSoft.com/login/signup
What is MuleSoft and iPaaS?
Trying to define the MuleSoft platform requires us to look at it through several different lenses. There is much ground to cover when examining the Anypoint Platform because it addresses so many aspects of API Integration but at its heart is a Mule carrying the load and doing a great deal of heavy lifting.
Through a developer lens, MuleSoft is:
A comprehensive directory of services,
A pre-built connector,
A building block, and
A powerful developer portal.
It boasts a customizable, searchable public and private API directory called Anypoint Exchange. The integrated tooling with Anypoint Design Center makes the platform capable of designing, developing, and versioning API specifications using all the industry standard languages and presents them for testing using mocking services and publishing these API specifications through Exchange so other developers can find and use these building blocks.
Through an architect lens, the MuleSoft runtime engine is a platform providing deployment solutions capable of:
microservice style API and application isolation,
horizontal and vertical scaling,
zero downtime deployment,
container-based runtimes,
on-premises and managed cloud based runtimes.
These capabilities are augmented with Anypoint API Monitoring and analytics features which share an operations lens.
Through operations lens, MuleSoft can be seen as:
an API Security and
API Management platform.
The platform has comprehensive management tools and universal API management capabilities to manage Service Level Agreements (SLAs), versioning, and security, and to apply policies to MuleSoft developed APIs as well as non-Mule APIs developed with other tooling running in remote environments.
The Anypoint platform is all of these things. Its performance in these areas is one of the reasons it regularly lands as a Leader in Gartner’s magic quadrant for Enterprise iPaaS solution as well as for Full Life Cycle API Management Solution.
Gartner was first to describe the term iPaaS defining it as "a suite of cloud services enabling development, execution and governance of integration flows connecting any combination of premises and cloud-based processes, services, applications, and data within individual or across multiple organizations". Garner glossary) As this definition suggests (cloud services), the MuleSoft Anypoint platform has been developed using an API first design approach, making all of the services highlighted above (and detailed throughout the rest of this book) available as APIs themselves.
MuleSoft is a sophisticated, powerful, dynamic, and feature rich integration platform solution providing technical architects with the tools and capabilities needed to design and deliver solutions for complex integration requirements.
This book is intended for those who need to see this platform through the architects’ lens. The MuleSoft Platform Architect’s job is to keep all these viewpoints of the platform in mind and understand how the combination and interaction of these different platform building blocks work with each other. Doing this will enable the organization to create flexible, scalable, and reusable solutions capable of driving the business vision forward through innovation and digital transformation.
How have integration approaches evolved?
An iPaaS is the latest generation in a long line of Integration solutions which have evolved over the years. The need to integrate applications has been around practically since the second computer system was developed and architects realized the first system offered data and functionality that would add value to the second system. Let’s take a quick look at how integration approaches have evolved across major innovations leading to this newest generation of iPaaS. To help us visualize the different approaches, consider the following simplified use case.
J&J Music Store Use Case
J&J Music is a business founded in 1970 that sells records direct from the publishers. They regularly receive large shipments from the publishers and these records must be added to the inventory available for sale. The company developed an inventory system allowing them to keep up with the number of records they are carrying in their store. Using this system, they were able to increase the quantity on hand when new shipments of a record arrive. As records leave the shelves of the store, they can update the system to reflect the new quantity. This was all done manually by the inventory management team. A different team handles the sales.
The sales clerks in the store eventually realize they also need a system to help keep up with all the orders being placed, so they build a Sales System to track the orders and invoices. As the store grew, the sales clerks realized they were often unsure if a product was available for purchase. They needed to login to the Inventory system and check the quantity before completing the sales transaction. However, because they are not part of the inventory management team, they do not update the