Microservices and the Cloud-Based Future of Integration
-
Upload
biztalk360 -
Category
Technology
-
view
365 -
download
2
Transcript of Microservices and the Cloud-Based Future of Integration
tSponsors
Charles YoungSolidsoft Reply, Principal Consultant
Microservices and the Cloud-Based Future
of Integration
BizTalk Summit 2015 – LondonExCeL London | April 13th & 14th
Charles Young
Principal Consultant
Solidsoft Reply
www.solidsoftreply.com
geekswithblogs.net/cyoung
Specialist Microsoft development consultancy
1993 Microsoft certified application developers
1999 Microsoft managed partner
2000 Microsoft BizTalk integration specialists
2002 Microsoft global advisory council
2010 Windows Azure “cloud first” solutions
2013 Joined Reply
Microsoft® Global Partner Network™
PARTNER OF THE YEAR
2006 Winner Application Integration
2008 Finalist Application Integration
2010 Finalist Custom Development
2011 Winner Application Integration
2012 Finalist Government Solutions
2013 Winner Cloud Solutions
Today
UK “SME” £10M revenue
Core team of 60 specialists
100% Microsoft focus
ISO 9001 & 27001 compliant
UK Government IL3 certified
International Society for Pharmaceutical Engineering GAMP5
who we are
Agenda
• Understanding Integration
• Integration Trends
• Microservices
• Microservices & PaaS
• Container
• Microservice Integration
UnderstandingIntegration
Integration • Adaptation
• Mediation
• Transformation
• Routing
• Orchestration
Enterprise Application Integration
Data Integration
Electronic Data Integration
• Extract, Transform and Load
• Data Warehousing
• Change Data Capture
• Federation
• Master Data Management
• B2B
• EDIFACT/X12
• TRADACOMS
• HL7
• Partner Management
• VANs
Enterprise Application Integration (EAI)
Web Site Email
Mobile Devices
CMS
CRM
ERP
Channels
Line-of-Business
Back Office
Cloud ServicesTrading Partners
Data
Services
HubAdaptationMediation
Orchestration
ESB Service Integration
Web Site EmailMobile Devices
CMS CRM ERP
Distributed Services
On-Ramp
Services
Off-Ramp
Services
Adaptation
Mediation
Routing
Bus
ESB Service Integration
Web Site Email
Mobile Devices
CMS
CRM
ERP
Channels
Line-of-Business
Back Office
Cloud ServicesTrading Partners
Data
Services
Layered Architecture
Web Site EmailMobile Devices
CMS CRM ERP
Data / Integration
Business Logic(Application Domain)
Presentation
Mediation
Boundary
Hexagonal Architecture - Alistair Cockburn
Web Site
Mobile Devices
CMS
CRM
ERP
Channels
Line-of-Business
Back Office
Cloud ServicesTrading Partners
Data
Services
Application Domain
Ports &
Adapters
The Changing Faceof Integration
Standardising the Interface
RESTover
HTTPServiceClient
GET
HEAD
PUT
POST
PATCH
DELETE
OPTIONS
HATEOAS
Hypermedia
URIResource
Metadata (optional)
Roy Fielding
“Supports software engineering
on the scale of decades”
SOAP+
WDSLServiceClient
Response
Service URL
SOAP Action
SOAP Envelope
Payload
WSDL Metadata
Extensions (WS-*)
Wraps messages in
standardized, extensible
envelope.
Provides strongly-typed
interfaces
Cloud Services Integration
Mobile Application Integration
INTERNET of THINGS
iPaaS Integration Platform-as-a-Service
On-Premises SystemsHybrid
SaaS
• Connectors• Mediation• Workflow
• Elastic & available• No Capex• Usage-based cost• Browser-based tools
iPaaS
EAI Server / ESB Fidelity
Aspirations • Simplicity
• Velocity
• Evolution
• Democratisation
• Cost Reduction
SIMPLICITY
Microservices
Microservices in Hexagonal Architecture
Web Site
Mobile Devices
CMS
CRM
ERP
Channels
Line-of-Business
Back Office
Cloud ServicesTrading Partners
Data
Services
Application Domain
Ports &
Adapters
Microservices
Microservice Principles
Monolith Monolith
Monolith
Monolith
Presentation
Data / Integration
Microservices
Avoid centralised governance
and management
Use lightweight communicationDeploy, host and version independentlyOrganise around business capabilitiesDo one thing and do it wellDecompose monoliths into
microservices
MicroserviceMicroservice
REST
No container needed
Microservices
• Emad Benjamin: http://bit.ly/1BmMuet
… 16 VMs
400 JVMs
Load Balancer
6 VMs
12 JVMs
Port
BizTalk Server and Microservices
Ports & Adapters
Orchestration
Message Box
Queues & Subscriptions
Mediation Container (e.g., Receive Location)
Adapter
Pipelines
Message AgentBT Transport
Mes
sage
Bo
x
MessagesSchemas
Pipeline Components
Maps
MessageEndpoint
Orchestration Engine
Port
Port
Port
PortMessage
Agent
MessagesSchemas
Pipeline Components
Maps
Connector
Connector
iPaaS and Microservices
Container
MessagesSchemas
Maps
MediationWorkflow
MessageEndpoint
On-Premises
Connector
Connector
Connector
Connector
Connector
Azure BizTalk Services - MABS
Bridge (container)
Connector
ConnectorMessagesSchemas
Maps
MediationMessageEndpoint
On-Premises Adapter
Pipelines
Ecosystem
Connector
Azure App Service and Microservices
MessageEndpoint
Transformer ValidatorConnector
Connector
MediationLogic
Hybrid Connection
Application
Gateway
Logic App (Workflow)
Business Logic
Decoupled
Resource Group(container)
Connector
Application Gateway
Application Gateway
Runtime• Name resolution
• Isolated Storage
• Shared Config
Proxy• API Logging
• API access level
• Transforming API definition
Identity Broker• AAD & social login
• Identity brokerage
• Secure token store
External Inbound Calls
Calls between microservices
Platform Services
• Discovery
• Logging
• Billing
• Automatic Updates
• Isolated Storage
Authorisation
• Application secrets
(Twitter, Facebook, etc.)
• Azure Active Directory
• App and On Behalf Of
Access
• RBAC rules
Metadata
• Generate client libraries
• Powers Siena and
workflow
Monitoring
• Installed applications
• Number of calls to components
• Network traffic including
endpoints
• Detailed performance data
• Up time & crashes
Proxy
• API’s define public/private endpoints
Component Author
• Crash logs for components
Isolated storage
Shared config
Secure token store
Containers
Azure Containers Today
MABSApp Service
Web AppsMobile AppsAPI AppsBizTalk AppsLogic Apps
PaaS Roles
Web RolesWorker Roles
Windows Server Containers
Windows ProcessWindows Process
Windows Server Container
Windows Process
Hyper-V Container
Windows Process
OS Kernel
Docker Engine
Docker Client
Bins & LibsBins & LibsBins & Libs
Docker
Kernel
OS
DockerEngine
Bins & Libs Bins & Libs Bins & Libs
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
DockerContainer
Docker HubPublic & Private Repos
Local Registry
Base Image
Read Only
Writeable
Bin & Libs
Base
DockerClient
Tools / API
Containership
Base
Docker and DevOps
Development
Test
Production
Ship
Run
Build
Docker Image Repos
Source Code Repo
Build scripts, frameworks
and tools
Package Management• NuGet
• OneGet
• Chocolatey
Docker and Platform Independence
On-Premises
Datacentre
Service
Provider
Cloud
Platform
ProviderRun
anywhere
Evolving PaaS Landscape• Elastic Beanstalk• EC2 Container Service• Lambda
• PaaS ‘V2’• Resource Groups• Docker for WIndows
• Gears
• Slugs• Dynos
Kubernetes Docker SwarmDocker
• App Engine• Container Engine• Cloud Foundry
• Docker Container Service
Microservice Integration
Microservice Integration
“5^`V z1NphE56V 1`N 7j&`V 3t$ j
One container to rule them allOn-Premises or
Service Provider
Microservice Integration
Hybrid Agents
Connectors
AdaptationMediation
On-Premises or
Service Provider
Microservice Integration
Session Presentation ApplicationTransport
Batch Control Message model Reliable messaging Deduplication Transaction control In-order delivery Message priority Throttling Content streaming and
chunking Buffering
Connectors
Transport protocols Application protocols Message endpoints Metadata and discovery Connections and pooling Timeouts Authentication Push and pull Acknowledgments Fault messages Batch size Metadata harvesting
Message exchange patterns: One-Way Two-Way – Half-duplex
Two-Way – Full-duplex
Certificate management Trust Scheduling Fast Fail Retry Recovery Failed message handling
Encoding & decoding Encryption and decryption Enveloping Framing and disassembly Validation Fixing Filtering Enrichment Transformation Caching Auditing Logging
Persistence Routing Operation Publishing Subscribing Correlation
A
NetworkStack
Application, Service or Data Store
Mediation Framework – Composition, Configuration, Deployment, Hosting, Management, Monitoring, Tracking, DisagnosticsPorts and Adapters
Inherent complexity wont go away
Mediation microservices
Microservice Integration
On-Premises or
Service Provider
Platform-level mediation microservices
Microservice Integration
On-Premises or
Service Provider
Fully-decoupled business logic
Microservice Integration
On-Premises or
Service Provider
Platform-levelservice orchestration
Microservice Integration
On-Premises or
Service Provider
Route by any means
• Direct• Data stores• Cache• Queues• Topics & subscriptions• Event hubs
Microservice Integration
On-Premises or
Service Provider
Platform-levelMonitoring & tracking
Microservice Integration
On-Premises or
Service Provider
Favour Horizontal Scaling
Microservice Integration
On-Premises or
Service Provider
Technology agnosticism
Thank You!
Charles Young
Principal Consultant
Solidsoft Reply
www.solidsoftreply.com
geekswithblogs.net/cyoung
Specialist Microsoft development consultancy
1993 Microsoft certified application developers
1999 Microsoft managed partner
2000 Microsoft BizTalk integration specialists
2002 Microsoft global advisory council
2010 Windows Azure “cloud first” solutions
2013 Joined Reply
Microsoft® Global Partner Network™
PARTNER OF THE YEAR
2006 Winner Application Integration
2008 Finalist Application Integration
2010 Finalist Custom Development
2011 Winner Application Integration
2012 Finalist Government Solutions
2013 Winner Cloud Solutions
Today
UK “SME” £10M revenue
Core team of 60 specialists
100% Microsoft focus
ISO 9001 & 27001 compliant
UK Government IL3 certified
International Society for Pharmaceutical Engineering GAMP5
who we are