31
INTERN Integrasjoner og datadeling i skyen: avmystifisering Leslaw Lopacki (Vy) og Valéry Buzungu (KPMG) 13/02/2020

Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Integrasjoner og

datadeling i skyen:

avmystifisering

Leslaw Lopacki (Vy) og Valéry Buzungu (KPMG) 13/02/2020

Page 2: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Agenda

Referansearkitektur for integrasjon og datadeling

Moderne, smidig integrasjonsarkitektur

Integrasjoner og datadeling i skyen (AWS og Azure)

Alternative løsninger for dataintegrasjon

Page 3: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Referansearkitektur

for integrasjon og

datadeling

Page 4: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Referansearkitektur for (hybrid) integrasjon

syn

kro

n (re

st/h

ttp, s

oa

p/h

ttp, …

)

asyn

kro

n (m

eld

ing

er, e

ve

nte

r, …)

batc

h (b

ulk

AP

Is, filo

ve

rførin

g, …

)

API og Event gateway

API og Event gateway

Applikasjon

(legacy)

{..} {..} {..}Applikasjon

(µ-tjenester)

{..} {..}

Applikasjon

(µ-tjenester)

{..} {..}

{..} {..}

Applikasjon

(µ-tjenester)

{..} {..}

{..} {..}

Integrasjon

SoR SoR SoR SoR SoRSoR

Engagement systemer

(forretningslogikk)

SoR

Kjernesystemer

Empowering av

digitale team

API

compositionEventer Data-

synkronisering

Digital konnektivitet

API composition EventerData-

synkronisering

Lav-nivå konnektivitet

Basert på: http://ibm.biz/HybridIntRefArch (Think 2018)

SaaS

offeringsPartnersWeb/Mobile API Economy IoT

Page 5: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Moderne, smidig

integrasjonsarkitektur

Page 6: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Veien til smidig integrasjonsarkitektur

Integrasjonshub

SoR SoR SoR

Integrasjonshub

Eksponering GW

Eng. app Eng. app

Eksternt eksponerte tjenester/APIer

Eksponering GW (ekstern)

Sentralisert

ESB

Eksternt eksponerte tjenester/APIer

SoR SoR SoR

Eng. appμ-tjeneste

app

Eksponering GW (ekstern)

Fingranulert

deployment

av integrasjoner

Desentralisering

SoR SoR

Eng. appμ-tjeneste

app

Eksternt eksponerte tjenester/APIer

Eksponering GW (ekstern)

SoR

ContaineriseringApplikasjonsautonomi Polyglott integrasjoner

Økosystemer

Integrasjoner

som μ-tjeneste

SoR SoR

Eng. app

μ-tjeneste

app

Eksternt eksponerte tjenester/APIer

Eksponering GW (ekstern)

SoR

MikrotjenesterSkytjenesterDomenedrevet

Data mesh

Page 7: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

AWS

Integrasjon i skyen

Page 8: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Amazon API Gateway

• Andre tjenester som bruker synkrone invokes• Amazon CloudFront

• Amazon Kinesis Data Firehose

• Amazon Cognito

AWS synkrone invokes (Push)AWS

Page 9: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

AWS synkrone invokes med Amazon API Gateway

Mobile

client

Website

InternetAmazon

CloudFrontAmazon API

Gateway

API Gateway

cache

Amazon

CloudWatch

Lambda function

Endpoint

Amazon Kinesis

Data Streams

Other AWS

Services

Other publicly

endpoints

Lambda function

Endpoint

VPC2

Services

Stateful

connections

Stateless

connections

AWSVPC1

Page 10: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Amazon Simple Notification Service

• Amazon SQS

• Andre tjenester som bruker asynkrone invokes• Amazon Simple Storage Service

• Amazon Simple Email Service

• AWS CloudFormation

• Amazon CloudWatch Logs

• Amazon CloudWatch Events

• AWS CodeCommit

• AWS Config

AWS asynkrone invokes (Event) AWS

Page 11: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

AWS asynkron integrasjon med AWS SNS (PUSH)

Event

AWS Lambda

Amazon

Simple Notification

Service

Queue EmailAWS Lambda

Task

AWS

Page 12: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

AWS asynkron integrasjon med AWS SQS (PULL)

Users Webserver

Amazon EC2

Amazon Simple

Queue Service

Request Queue

Response Queue

Instance

Auto scaling

AWS

Page 13: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Amazon Kinesis

• Andre Stream-tjenester• Data Pipelines

• Amazon DynamoDB Streams

AWS Streams (Poll-based)AWS

Page 14: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Amazon Kinesis

Webserver

Amazon EC2

Client

Mobile client

Office building

Webserver

Amazon EC2

Amazon Simple Storage

Amazon DynamoDB

Amazon Redshift

Amazon MapReduce

Android service

AWS

Page 15: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Azure

Integrasjon i skyen

Page 16: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Integrasjon i Azure – synkron

• APIM – API Management

• Bruksområder:

• API publisering til eksterne og interne klienter

API Gateway

Motsvarende

komponent

i AWS

Azure

Page 17: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Integrasjon i Azure – asynkron

• Event grid:

• Bruksområder:

• mottak av hendelser

• Service Bus

• Bruksområder:

• kø med garantert leveranse

• Persistent pub/sub kø

• Event hubs:

• Bruksområder:

• massiv inntak av små data strømmer f.eks.

fra småenheter

• Queue Storage

• Bruksområder:

• køsystem

Motsvarende

komponent

i AWS

SQS

SQS

SNS

Kinesis Data

Firehose

Kinesis Data

Streams

Azure

Page 18: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Integrasjon i Azure – batch og annet

• Data Factory

• Bruksområder:

• flytte data mellom forskjellige systemer/

datalager (skedulert)

Data pipeline

• Logic Apps

• Bruksområder:

• Ferdiglagde konnektorer

• Koble data, applikasjoner og enheter

Motsvarende

komponent

i AWS

AWS Step

Functions

Azure

Page 19: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Azure kombinasjon

Mobile

client

Website

Internet API Management

Logic Apps

Service Bus Event Grid

SaaS Services

Azure Services

REST services

Web servicesMultiple Data sources

(IoT, logs, internal sources)

Event Hubs Stream analytics

Azure

Page 20: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

AWS kombinasjon

Mobile

client

Website

Internet

SaaS Services

Web servicesMultiple Data sources

(IoT, logs, internal sources)

Kinesis Data

Streams

Amazon API

Gateway

Endpoint

Lambda function

Request Queue

Response Queue

Lambda function

Amazon

Simple Notification

Service

Lambda function

Webserver

Amazon EC2

AWS

Page 21: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Alternative løsninger

Integrasjon i skyen

Page 22: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Rigid løsning som bare tilbyr integrasjoner

mellom et og et system

• Høyt antall integrasjoner - i verste fall er det

((N-1)*N)/2 integrasjoner. Dette er kostbart.

• Point-to-point integrasjon er ofte bare en liten

del av en større forretningsprosess

• Vedlikehold av mange integrasjoner er

kostbart og tidskrevende

• Ofte kompleks integrasjonsarkitektur som er

vanskelig å holde kontroll over (spagetti)

P2P utfordringen

A

E

CG

B

DF

H

Page 23: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Hva er iPaaS?

• Integrasjon av applikasjoner, data, prosesser, B2B, API og

hendelser:

• Transformasjon, routing, orkestrering,

• Ferdiglagde integrasjoner (adaptere, API-er)

• Leverandørstyrt skytjeneste (PaaS)

• Low-code/No-code utviklingsverktøy

• Best når det er:

• Kort tid til integrasjon/verdi (time to market)

• Sky/mobil er kjernen av løsningen

• Intercloud og intracloud til on-prem

• Flere brukstilfeller som må støttes

• Men, kan resultere i mange P2P integrasjoner likevel

• Titalls leverandører: Informatica, IBM, Dell Boomi, MuleSoft ...

iPaaS – integrasjonsplattform som tjeneste

iPaaS

Mobilapplikasjoner

Page 24: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Høy skalerbarhet, feil-

toleranse, robusthet, ytelse

• Pub-sub meldingssystem

• Støtte for massiv persistering

av meldinger (PB scale)

• Men, kanskje ikke så god støtte

til transaksjonshåndtering

Kafka – mer enn bare streaming plattform

Kafka

Cluster

App

App

App

AppAppApp

DB

DB

Connectors

Consumers

Stream

Processors

AppApp

Producers

Page 25: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

• Endringer i navet distribueres til alle

klienter som subscriber på endringer

• Kan ses på som:• datalake med pub-sub kø

• slags pub-sub kø med lagring

• Fokus på å integrere data, ikke

systemer – unngå punkt til punkt

integrasjon

• Men, ikke godt egnet til

transaksjonshåndtering og streaming

Sesam – datanav som en integrasjonsplattform

Page 26: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Dolittle – mikrotjeneste og integrasjonsplattform

• Fokus på å støtte mikrotjeneste

arkitektur

• Distribuert og event-drevet

• God separasjon av data i

forskjellige «bounded context»

Page 27: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Oppsummering

Page 28: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

Oppsummering

User interface

Business Processing

Data access

integration &

Integrations components

Monolitter

SOA

ESB

Mikrotjenester

Skytjenester

Fingranulering

Desentralisering

Øko-

systemer

Page 29: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Q&A

Takk for oss :=)

Page 30: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN

Page 31: Integrasjoner og datadeling i skyen: avmystifisering · 2020-04-10 · AWS asynkron integrasjon med AWS SNS (PUSH) Event AWS Lambda Amazon Simple Notification Service Queue Email

INTERN