Post on 08-Jul-2020
transcript
INTERN
Integrasjoner og
datadeling i skyen:
avmystifisering
Leslaw Lopacki (Vy) og Valéry Buzungu (KPMG) 13/02/2020
Agenda
Referansearkitektur for integrasjon og datadeling
Moderne, smidig integrasjonsarkitektur
Integrasjoner og datadeling i skyen (AWS og Azure)
Alternative løsninger for dataintegrasjon
INTERN
Referansearkitektur
for integrasjon og
datadeling
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
INTERN
Moderne, smidig
integrasjonsarkitektur
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
INTERN
AWS
Integrasjon i skyen
• Amazon API Gateway
• Andre tjenester som bruker synkrone invokes• Amazon CloudFront
• Amazon Kinesis Data Firehose
• Amazon Cognito
AWS synkrone invokes (Push)AWS
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
• 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
AWS asynkron integrasjon med AWS SNS (PUSH)
Event
AWS Lambda
Amazon
Simple Notification
Service
Queue EmailAWS Lambda
Task
AWS
AWS asynkron integrasjon med AWS SQS (PULL)
Users Webserver
Amazon EC2
Amazon Simple
Queue Service
Request Queue
Response Queue
Instance
Auto scaling
AWS
• Amazon Kinesis
• Andre Stream-tjenester• Data Pipelines
• Amazon DynamoDB Streams
AWS Streams (Poll-based)AWS
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
INTERN
Azure
Integrasjon i skyen
Integrasjon i Azure – synkron
• APIM – API Management
• Bruksområder:
• API publisering til eksterne og interne klienter
API Gateway
Motsvarende
komponent
i AWS
Azure
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
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
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
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
INTERN
Alternative løsninger
Integrasjon i skyen
• 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
• 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
• 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
• 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
Dolittle – mikrotjeneste og integrasjonsplattform
• Fokus på å støtte mikrotjeneste
arkitektur
• Distribuert og event-drevet
• God separasjon av data i
forskjellige «bounded context»
INTERN
Oppsummering
Oppsummering
User interface
Business Processing
Data access
integration &
Integrations components
Monolitter
SOA
ESB
Mikrotjenester
Skytjenester
Fingranulering
Desentralisering
Øko-
systemer
INTERN
Q&A
Takk for oss :=)
INTERN
INTERN