bedcon 2016 - kay lerch on "will trade an esb for an agile integration solution in the...

Post on 23-Jan-2018

247 Views

Category:

Internet

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Will trade an ESB for an agile

Integration solution in the

Cloud

Berlin Expert Days,16. September 2016, Urania Berlin

@KayLerch | Engineering Manager | Immobilien Scout

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy Drawing the big picture of a hybrid integration solution

Competitive forces and what they do with Enterprise IT

Competitive forcesMarket

IT of an E-commerce business

Fast-paced featuredevelopment (“Lean IT”)

Core business systems and services (“Classical IT”)

Innovation / Agility / Speed

Agile teams

Microservices / modularized

DevOps

Efficiency / compliance / reliability

Project organization

Legacy / monolithic

Operations management

Release-driven Deployments

API-led Connectivity Proprietary Interfaces

Boostingtime to market

CLDContinuous DeploymentProduct

BEDCon 2016 | @KayLerch

“Two speed IT” parts heavily depend on each other not only for the good

Competitive forcesMarket

A digital business

Fast-paced featuredevelopment (“Lean IT”)

Core business systems and services (“Classical IT”)

Innovation / Agility / Speed

Agile teams

Microservices / modularized

DevOps

Continuous Deployment

Efficiency / compliance / reliability

Project organization

Legacy / monolithic

Operations management

Release-driven Deployments

API-led Connectivity Proprietary Interfaces

Boostingtime to market

CLD

Organizationalclash

Technical clash

„Two Speed IT“

Product

BEDCon 2016 | @KayLerch

Overcome technical burden with Integration strategy (SOA?)

Competitive forcesMarket

A digital business

Fast-paced featuredevelopment (“Lean IT”)

Core business systems and services (“Classical IT”)

Innovation / Agility / Speed

Agile teams

Microservices / modularized

DevOps

Continuous Deployment

Efficiency / compliance / reliability

Project organization

Legacy / monolithic

Operations management

Release-driven Deployments

API-led Connectivity Proprietary Interfaces

Boostingtime to market

CLD

„Two Speed IT“

Product

BEDCon 2016 | @KayLerch

Organizationalclash

Technical clash

ICC

ESB

Well, not … Integration projects tend to be traditional (often) for good reason

Competitive forcesMarket

A digital business

Fast-paced featuredevelopment (“Lean IT”)

Core business systems and services (“Classical IT”)

Innovation / Agility / Speed

Agile teams

Microservices / modularized

DevOps

Continuous Deployment

Efficiency / compliance / reliability

Project organization

Legacy / monolithic

Operations management

Release-driven Deployments

API-led Connectivity Proprietary Interfaces

Boostingtime to market

CLD

„Two Speed IT“

Product

BEDCon 2016 | @KayLerch

Organizationalclash

Technical clash

ICC

ESB

An integration strategy should follow a “bimodal” approach where so-called hybrid integration platforms (HIP) strive for Self Service Integration

Competitive forcesMarket

A digital business

Fast-paced featuredevelopment (“Lean IT”)

Core business systems and services (“Classical IT”)

Innovation / Agility / Speed

Agile teams

Microservices / modularized

DevOps

Continuous Deployment

Efficiency / compliance / reliability

Project organization

Legacy / monolithic

Operations management

Release-driven Deployments

API-led Connectivity Proprietary Interfaces

Boostingtime to market

CLD

„Two Speed IT“

Product

ISG

HIP

BEDCon 2016 | @KayLerch

The digital ecosystem brings a lot of new potential but also threat

Mobile

IoT

User Data

Cloud Social Networks Digital marketplace

Digital ecosystem

discruptive

BEDCon 2016 | @KayLerch

Businesses need to adopt and integrate these potential

Mobile

IoT

User Data

Cloud Social Networks Digital marketplace

Digital ecosystem

discruptive

BEDCon 2016 | @KayLerch

An HIP got its name from being the gateway for those new stuff

Mobile

IoT

User Data

Cloud Social Networks Digital marketplace

Digital ecosystem

discruptive

BEDCon 2016 | @KayLerch

HIP is a concept whereas iPaaS, iSaaS are (commercial) solutions in the cloud

Mobile

IoT

User Data

Cloud Social Networks Digital marketplace

Digital ecosystem

discruptive

iPaaSiSaaS

BEDCon 2016 | @KayLerch

Ok, you got your BINGO! Let’s move on in the real world …

BEDCon 2016 | @KayLerch

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy Drawing the big picture of a hybrid integration solution

Given an ESB in charge of syncing business data across the enterprise

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

BEDCon 2016 | @KayLerch

This centralized hub is key for processes arching over multiple domains

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

BEDCon 2016 | @KayLerch

It encapsulates the burden of integrating system interfaces with brokers

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

{ } { }

{ }{ }

BEDCon 2016 | @KayLerch

Teams depend on those brokers in order to change their interfaces

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

{ } { }

{ }{ }

API

API

API

API

BEDCon 2016 | @KayLerch

It would be great to push responsibility (integration logic) to the edges

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

{ }

{ }{ }

{ }

BEDCon 2016 | @KayLerch

It would also be great to delegate process ownership (orchestration logic)

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

{ }

{ }{ }

{ }

BEDCon 2016 | @KayLerch

ESB left over for “dirty work” (messaging, tracking, governance, …)

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

{ }

{ }{ }

{ }

BEDCon 2016 | @KayLerch

It should also be in the cloud to not be isolated from the digital ecosystem

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

{ }

{ }{ }

{ }

BEDCon 2016 | @KayLerch

It should also be in the cloud to not be isolated from the digital ecosystem

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

{ }

{ }{ }

{ }

BEDCon 2016 | @KayLerch

Why can’t this thing just be like an HIP?

HIPSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

{ }

{ }{ }

{ }

BEDCon 2016 | @KayLerch

As our company moves to AWS anyway, let’s give SWF a try

• There is PAYG• AWS ecosystem is huge, it serves all the hip stuff like serverless architecture (Lambda, API Gateway),

IoT, Mobile integration, Messaging, Elastic computing, Container deployments and more• There‘s a big community around AWS• SWF (Simple Workflows) is used by NASA for processing data from the Mars-Rover on earth

You got me at „Mars“…

BEDCon 2016 | @KayLerch

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy

SWF is a workflow engine scheduling tasks for all the workflow participants

BEDCon 2016 | @KayLerch

A workflow starter simply kicks off a workflow with some input via API

1

BEDCon 2016 | @KayLerch

{ "childPolicy": "string", "domain": "string", "executionStartToCloseTimeout": "string", "input": "string", "lambdaRole": "string", "tagList": [

"string" ], "taskList": { "name": "string" }, "taskPriority": "string", "taskStartToCloseTimeout": "string", "workflowId": "string", "workflowType":

{ "name": "string", "version": "string" } }

{ "runId": "string" }

SWF has no clue what comes next so it schedules a “decision task”

2

BEDCon 2016 | @KayLerch

A decider owns the actual workflow logic. It is an application polling for tasks via API and returns decisions to the SWF engine

3

BEDCon 2016 | @KayLerch

{ "domain": "string", "identity": "string", "maximumPageSize": number, "nextPageToken": "string", "reverseOrder": boolean, "taskList": { "name":

"string" } }

{ "decisions": [ { "cancelTimerDecisionAttributes": { … }, "cancelWorkflowExecutionDecisionAttributes": { … },

"completeWorkflowExecutionDecisionAttributes": { … }, "continueAsNewWorkflowExecutionDecisionAttributes": { … }, "recordMarkerDecisionAttributes": {

… }, "requestCancelActivityTaskDecisionAttributes": { … }, "requestCancelExternalWorkflowExecutionDecisionAttributes": { … },

"scheduleActivityTaskDecisionAttributes": { … }, "scheduleLambdaFunctionDecisionAttributes": { … },

"signalExternalWorkflowExecutionDecisionAttributes": { … }, "startChildWorkflowExecutionDecisionAttributes": { … }, "startTimerDecisionAttributes":

{ … } } ], "executionContext": "string", "taskToken": "string" }

SWF fulfills the remotely given decisions –> e.g. it schedules an activity task

4

BEDCon 2016 | @KayLerch

SWF receives the result – again has no clue how to go on – so it schedules another decision task

6

BEDCon 2016 | @KayLerch

The decider receives the task. It now contains a detailed protocol of what happened in this workflow-execution. Based on that it gives the next decision(s)

7

BEDCon 2016 | @KayLerch

SWF schedules the next task – according to the last decision by the decider. Activity workers can be serverless Lambda-functions as well

8

BEDCon 2016 | @KayLerch

This goes on and on until the decider aka workflow worker decides for completing the workflow. What again is executed by SWF itself.

BEDCon 2016 | @KayLerch

You keep track of your workflow executions in AWS console

BEDCon 2016 | @KayLerch

AWS CloudWatch provides performance metrics for your workflows

BEDCon 2016 | @KayLerch

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy Drawing the big picture of a hybrid integration solution

SWF-powered IoT-Photobooth

BEDCon 2016 | @KayLerch

2) Shoot a photo

View progress on breadboard

3) View on Slack1) Press a button

AWS Lambda

AWS SWF

LambdaTask

LambdaUpload to S3

& Start Workflow

LambdaUpdate Shadow

LambdaTask

LambdaGet S3 Photo and Post Message to

Slack

LambdaTask

LambdaTask

LambdaTask

LambdaShorten Urlwith Bitly

LambdaUpdate Shadow

LambdaUpdate Shadow

AWS EC2

WorkflowWorkerDeciderImpl

Raspberry Pi

AWS IoT

Thing Shadow

Python Script

GP

IO

Rule

AWS S3Bucket

Pu

t Fi

le

Star

t W

FIn

voke

MQTT

Publish

MQTT

Receive

Update

Shadow

Poll Tasks

Shoot

Impulse

Impulse

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy Drawing the big picture of a hybrid integration solution

So let’s use SWF for replacing the ESB in our company.

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

{ } { }

{ }{ }

API

API

API

API

BEDCon 2016 | @KayLerch

Client-side worker integrate their services by pulling tasks from SWF

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

worker

worker

worker

worker

Activity

Activity

ActivityActi

vity

AWS SWF

BEDCon 2016 | @KayLerch

Workers poll for tasks in task lists associated with declarative activity type

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

API

API

Activity

Activity

ActivityActi

vity

Tasklist

Tasklist

Tasklist

Tasklist

HTTPREST

HTTPREST

HTTPREST

HTTPREST

AWS SWF

worker

worker

worker

worker

BEDCon 2016 | @KayLerch

Workers can be Lambda functions as well in charge of the edge team

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

Activity

Activity

ActivityActi

vity

Tasklist

Tasklist HTTP

RESTHTTPREST

AWS SWF

worker

worker

lambda

AWSlambda

AWS

EventTrigger

EventTrigger

BEDCon 2016 | @KayLerch

That’s nice, but there’s still a central orchestration controlled by one decider

ESBSINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

Activity

Activity

ActivityActi

vity

Tasklist

Tasklist HTTP

RESTHTTPREST

AWS SWF

worker

worker

lambda

AWSlambda

AWS

EventTrigger

EventTrigger

BEDCon 2016 | @KayLerch

Delegate parts of the orchestration in child workflows reclaims process ownership

SINA

Salesforce

CRM Sales

CC

ERP

AMGFinance

CheckoutService

ARTE

FraudService

SHIELD

CustomerContractUser TrustOpen PaymentPayment ProfileArticle

CustomerContractUser TrustOpen PaymentPayment ProfileArticlePerformance Rec

User TrustCustomerContractArticle

API

API

HTTPREST

AWS SWF

worker

lambda

AWSEventTriggerEvent

Trigger

HTTPREST

AWS

Activity

Tasklist

worker

Sub WF

Activity

BEDCon 2016 | @KayLerch

Tasklist

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy Drawing the big picture of a hybrid integration solution

Reclaim process ownership leads to real end-2-end-autonomy of teams

Sales

BEDCon 2016 | @KayLerch

End-2-End autonomy along the whole lifecycle of a worker

Sales

BEDCon 2016 | @KayLerch

We call them Microworker as this is what they really are

Sales

BEDCon 2016 | @KayLerch

Agenda

BEDCon 2016 | @KayLerch

Disruptive forces and what they do with enterprise IT An ideal integration platform AWS Simple Workflows (SWF) in a nutshell Demo time Leveraging SWF to get rid of a classical ESB solution Reclaim process ownership and end-2-end-autonomy Drawing the big picture of a hybrid integration solution

Q & A

BEDCon 2016 | @KayLerch

It‘s time to ask questions and give feedback.

Thanks for joining my session ...

Backup (SWF at JPL Datacenter of NASA)

Sales

BEDCon 2016 | @KayLerch

Backup (SWF-powered processing of images from Mars rover)

Sales

BEDCon 2016 | @KayLerch

Backup (SWF-powered contract data distribution at Scout24)

Sales

BEDCon 2016 | @KayLerch

Backup (SWF-powered contract data distribution at Scout24)

Sales

BEDCon 2016 | @KayLerch

top related