microservices best practices
TRANSCRIPT
All contents © MuleSoft Inc.
Best Practices for Microservices
All contents © MuleSoft Inc.
Microservices are a top tech trend for 2016
2
Business model transformation
Enhancing customer
experiences
New products and services
All contents © MuleSoft Inc.All contents © MuleSoft Inc. 3
1. What are Microservices and why are they good for business?
2. Continuous delivery of Microservices
3. Self-service of Microservice consumption
4. Best practices for Microservices using Anypoint Platform
Agenda
All contents © MuleSoft Inc.Why Microservices are good for Business
All contents © MuleSoft Inc.
What the Business wants from IT
5
Customer Experience Composable Enterprise Valuable Assets
All contents © MuleSoft Inc.
Interoperability
Benefits to the Business
6
Business and IT Alignment
LOB Enablement
All contents © MuleSoft Inc.What are Microservices?
All contents © MuleSoft Inc.
Basics
8
Fundamental Building Block
Core Business Capability Participant in Customer transaction
All contents © MuleSoft Inc.
Consumption Modes
9
REST API Event-driven Composition
All contents © MuleSoft Inc.
API-led Connectivity
10
System APIs(Core Business Capabilities)
Process APIs(Composition of APIs through Orchestration and Choreography)
Experience APIs(Adaptations to deliver tailored APIs to apps)
Mainframe FTP, Files Databases Legacy Systems SaaS apps ApplicationsWeb services
Central IT
LoB Dev/IT
App Dev
Accessibility& Ownership
All contents © MuleSoft Inc.
What is ‘micro’ in Microservices?
11
Discrete Responsibility Team Organization Ease of Deployment
All contents © MuleSoft Inc.
Design Characteristics
12
• Business oriented
• Adaptable
• Autonomous
• Loosely coupled
• Discoverable
• Composable
All contents © MuleSoft Inc.
Business Domain Orientation
13
•Focus on Business domains
•Cross-domain integration through Experience APIs
•Avoids the Monolith
All contents © MuleSoft Inc.Continuous Delivery of Microservices
All contents © MuleSoft Inc.
Continuous Delivery of Microservices
15
• A business ideal only realizable through small artifacts
• Software Development Lifecycle
• From Continuous Integration to continuous release
All contents © MuleSoft Inc.Self-service of Microservice Consumption
All contents © MuleSoft Inc.
Self-service of Microservice Consumption
17
• Decentralization of Microservice access requires API Management
• Publication of APIs across LOBs
• Reutilize and / or adapt Microservices with auto-generated Proxies
• Apply policies in order to tailor Microservices for specfic usage
All contents © MuleSoft Inc.Microservices on Anypoint Platform
All contents © MuleSoft Inc.
Anypoint Platform
19
Mule
Anypoint Connectors
Hybrid Cloud Runtime services
Anypoint Design Center Anypoint Management Center
Anypoint ExchangeStudio API Designer
Connector DevKit
Runtime Manager
API Manager Analytics
All contents © MuleSoft Inc.
Build
Engage
Test
Model
Simulate
Validate
Solicit Feedback
Design
Manage
End-to-End Microservice Development Lifecycle
All contents © MuleSoft Inc.
Build
Engage
Test
Model
Simulate
Validate
Solicit Feedback
Design
Manage
API Designer
Mocking Services
Anypoint StudioMUnit
API Console
API Portal
Analytics API Notebook
MuleSoft Tools mapped to the Microservice life-cycle
Anypoint Exchange
Anypoint Exchange
Anypoint Exchange
All contents © MuleSoft Inc.
Build
Engage
Test
Model
Simulate
Validate
Solicit Feedback
Design
Manage
Discover, Contribute, Collaborate, Innovate
Anypoint Exchange
Anypoint Exchange
Anypoint Exchange
All contents © MuleSoft Inc.
Release
Package
MuleSoft SDLC tools for Microservices CI/CDDevelopment
Production
Anypoint StudioDeveloper
Run Mocked TestsRun Unit Tests
Run TestsRun Build Process
DEVELOPMENT
UAT
PRODUCTION
Create Mocked TestsCreate Unit Tests Functional Tests
Test Driven Design
Mule Microservice
Mule Microservice
Mule Microservice
All contents © MuleSoft Inc.
Anatomy of a Mule microservice
RAML specification• Traits• ResourceTypes• SecuritySchemes• Re-usable properties• ….
Mule deployable
archive(.zip)Mule Runtime
Logic
Connectivity
API Contract
Connectivity• MQ, Database, SOAP,
HTTP, SaaS, OTS software
• Protocol implementation
• Connections/resources management
• Pooling…
Business Logic flows• Routing• Enrichment• Transformation• Aggregation• Parallel execution• Splitting• ….
All contents © MuleSoft Inc.
VMOS
Java Virtual Machine
Mule Runtime
Mule microservice on-prem runtime
Logic
Connectivity
API Contract
All contents © MuleSoft Inc.
VMOS
Container
Java Virtual Machine
Mule Runtime
Mule microservice on private PaaS
Logic
Connectivity
API Contract
PaaS
All contents © MuleSoft Inc.
3rd Party Tools
Build
Runtime Platform
Deploy, Manage, Scale
CI/CD
Studio
JUnit
Dev
Test
Stage
Prod
Anypoint Platform (on-premises)
Runtime Manager
API Manager Exchange
Com
mit
ShipImage
Development
Operations
Mgmt Agent
All contents © MuleSoft Inc.
CloudHub
Mule microservice on CloudHub
Mule Runtime
Logic
Connectivity
API Contract
• Fully hosted and managed• Secure, scalable, HA, DR• Self-serve• Global• No Microservice Premium
All contents © MuleSoft Inc.
Unified Platform for Microservices
All contents © MuleSoft Inc.
Legacy
ESBMainframe FTP
SaaS apps
LOB 1
Global System / Backend
System API’s
Process API’s
Experience API’s
LOB 2
System API’s
Process API’s
Experience API’s
Global Frontend
Decentralized Platform for Microservices
Biz Apps
Business Groups
All contents © MuleSoft Inc.
Questions