microservices best practices

31
All contents © MuleSoft Inc. Best Practices for Microservices

Upload: mulesoft

Post on 09-Jan-2017

629 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Microservices Best Practices

All contents © MuleSoft Inc.

Best Practices for Microservices

Page 2: Microservices Best Practices

All contents © MuleSoft Inc.

Microservices are a top tech trend for 2016

2

Business model transformation

Enhancing customer

experiences

New products and services

Page 3: Microservices Best Practices

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

Page 4: Microservices Best Practices

All contents © MuleSoft Inc.Why Microservices are good for Business

Page 5: Microservices Best Practices

All contents © MuleSoft Inc.

What the Business wants from IT

5

Customer Experience Composable Enterprise Valuable Assets

Page 6: Microservices Best Practices

All contents © MuleSoft Inc.

Interoperability

Benefits to the Business

6

Business and IT Alignment

LOB Enablement

Page 7: Microservices Best Practices

All contents © MuleSoft Inc.What are Microservices?

Page 8: Microservices Best Practices

All contents © MuleSoft Inc.

Basics

8

Fundamental Building Block

Core Business Capability Participant in Customer transaction

Page 9: Microservices Best Practices

All contents © MuleSoft Inc.

Consumption Modes

9

REST API Event-driven Composition

Page 10: Microservices Best Practices

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

Page 11: Microservices Best Practices

All contents © MuleSoft Inc.

What is ‘micro’ in Microservices?

11

Discrete Responsibility Team Organization Ease of Deployment

Page 12: Microservices Best Practices

All contents © MuleSoft Inc.

Design Characteristics

12

• Business oriented

• Adaptable

• Autonomous

• Loosely coupled

• Discoverable

• Composable

Page 13: Microservices Best Practices

All contents © MuleSoft Inc.

Business Domain Orientation

13

•Focus on Business domains

•Cross-domain integration through Experience APIs

•Avoids the Monolith

Page 14: Microservices Best Practices

All contents © MuleSoft Inc.Continuous Delivery of Microservices

Page 15: Microservices Best Practices

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

Page 16: Microservices Best Practices

All contents © MuleSoft Inc.Self-service of Microservice Consumption

Page 17: Microservices Best Practices

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

Page 18: Microservices Best Practices

All contents © MuleSoft Inc.Microservices on Anypoint Platform

Page 19: Microservices Best Practices

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

Page 20: Microservices Best Practices

All contents © MuleSoft Inc.

Build

Engage

Test

Model

Simulate

Validate

Solicit Feedback

Design

Manage

End-to-End Microservice Development Lifecycle

Page 21: Microservices Best Practices

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

Page 22: Microservices Best Practices

All contents © MuleSoft Inc.

Build

Engage

Test

Model

Simulate

Validate

Solicit Feedback

Design

Manage

Discover, Contribute, Collaborate, Innovate

Anypoint Exchange

Anypoint Exchange

Anypoint Exchange

Page 23: Microservices Best Practices

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

Page 24: Microservices Best Practices

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• ….

Page 25: Microservices Best Practices

All contents © MuleSoft Inc.

VMOS

Java Virtual Machine

Mule Runtime

Mule microservice on-prem runtime

Logic

Connectivity

API Contract

Page 26: Microservices Best Practices

All contents © MuleSoft Inc.

VMOS

Container

Java Virtual Machine

Mule Runtime

Mule microservice on private PaaS

Logic

Connectivity

API Contract

PaaS

Page 27: Microservices Best Practices

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

Page 28: Microservices Best Practices

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

Page 29: Microservices Best Practices

All contents © MuleSoft Inc.

Unified Platform for Microservices

Page 30: Microservices Best Practices

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

Page 31: Microservices Best Practices

All contents © MuleSoft Inc.

Questions