Rural areas in the cloud – Digital transformation...

Preview:

Citation preview

© Fraunhofer IESE

1

Rural areas in the cloud –Digital transformation beyond cities

Balthasar Weitzel18.05.2017

AWS Berlin Summit 2017

© Fraunhofer IESE

2

Fraunhofer IESE

© Fraunhofer IESE

3

This Talk

Architecture of a crowd logistics app ecosystem

Event-orientation as key architectural style

Usage of AWS for quick feedback cycles

© Fraunhofer IESE

4

© Fraunhofer IESE

5

Betzdorf

Donnersbergkreis(Göllheim/Eisenberg)

© Fraunhofer IESE

6

Digitale Dörfer Plattform

© Fraunhofer IESE

7

Digitale Dörfer Application Landscape

Admin UITaschen AppFahrBar

Additional Services

MotivationDigiTaler

Concepts

HeilBar CarUnity

Partners

© Fraunhofer IESE

8

Crowd Logistics

© Fraunhofer IESE

9

Crowd Logistics

© Fraunhofer IESE

10

© Fraunhofer IESE

11

Pooling Station

© Fraunhofer IESE

12

Webshop and Apps

© Fraunhofer IESE

13

Events in Logistics ScenarioPurchase Order

Received

DeliveryReady

Transport Selected

DeliveryPicked Up

DeliveryReady

Transport Selected

DeliveryPicked Up

DeliveryDelivered

DeliveryReceived

DeliveryScanned

DoorOpened

DoorClosed

© Fraunhofer IESE

14

Event-Driven Architecture

© Fraunhofer IESE

15

Basic Architecture of Logistics System – Event-Oriented B

acke

nd

API Gateway

Event-Bus

Event Processor

Event Processor

Event Processor

Mob

ile D

evic

e

Logistics App

Bro

wse

r

Shop Web-UI

Pool

ing

Stat

ion

Control SW

© Fraunhofer IESE

16

Events: Types B

acke

nd

API Gateway

Event-Bus

Event Processor

Event Processor

Event Processor

Clie

nt Logistics App

Typed Domain Event

Data

Technical Event(Reactor)

Typed DomainEvent

Data

DeliveryReady

Transport Selected

DeliveryReceived

© Fraunhofer IESE

17

Interfaces between Clients and BackendB

acke

nd API

Gat

eway

Clie

nt Logistics App

Event-Bus

Event API

Event Receiving

Event Sending

Data API

Read-Only

Client DB

Backend DBEvent

Processor

© Fraunhofer IESE

18

Impact on Client Architecture

Clie

nt

Logistics App

Client DB

Screen

Data

Event

Events created on real-world interaction

Event QueueEvent

Event

Events queue for offline interactions

No direct data manipulation (via backend)

Minimal logic in client(3 clients)

© Fraunhofer IESE

19

Technical Realization

© Fraunhofer IESE

20

Technologies

Runtime

Devtime

AWS

© Fraunhofer IESE

21

Deployment Overview

Clients

AWS Elastic Beanstalk

External Services

AWS

Environments (dev/stage/prod)Environments (dev/stage/prod)Environments (dev/stage/prod)

AndroidWebApp iOSShop Pooling Station

AWS RDS AWS S3

Buckets (dev/stage/prod)Buckets (dev/stage/prod)Buckets (dev/stage/prod)Buckets (dev/stage/prod)Buckets (dev/stage/prod)MySQL DB (dev/stage/prod)

Service AWS EC2 Instance Buckets (dev/stage/prod)Buckets (dev/stage/prod)Worker AWS EC2 Instance

TwilioSMS

Push Services

APNSGCM

Social Media

Wordpressdigitale-

doerfer.de GMail

AWS SQS

Queue

Mobile Services

Cognito SNSLoad Balancer SQS Queue

FacebookTwitterbusiness

worker

Authentication Provider

Jackson Swagger

Spring

datamanagement

business

service

datamanagement Hibernate

Reactor

Spring

© Fraunhofer IESE

22

Time Triggered Events via Elastic Beanstalk Workers B

acke

nd

Event Processor

Waiting Event Processor

Handling of deadlines for business processes

Backend DB

Regularlycheck deadline

TransportWaitingForDeliveryExpiredEvent

Service Instance Worker Instance

Persist deadline

WaitingForXExpired

ExpiryWorker

© Fraunhofer IESE

23

Pooling Station: Reverse Communication Queues via SQSB

acke

ndPo

olin

g St

atio

n

Event-Bus

API

Gat

eway Event API

Event Receiving

Command Sending

Data API

Read-Only

AWSSQS

Control Software

In unknown network, unknown IP address

AWS IoT

© Fraunhofer IESE

24

AWSSNS

Events from Backend to Clients via SNSB

acke

ndM

obile

Dev

ice

iOSLogistics App

Event-Bus

AndroidLogistics App

GCM

API

Gat

eway Event API

Event Receiving

Event Sending

Data API

Read-Only

APNS

Data

© Fraunhofer IESE

25

Scaling of Backend Services via Elastic BeanstalkEl

astic

Bea

nsta

lk In

stan

ce

1

API

G

atew

ay

Clie

nt

Logistics App

Event-Bus

Event API

Data API

1

Backend DB

Event Processor

Logistics App

Logistics App

Elastic Load Balancer

Elas

tic B

eans

talk

Inst

ance

2

API

G

atew

ay

Event-Bus

Event API

Data API

Event Processor

2

23

1

3

© Fraunhofer IESE

26

Lessons Learned

Event-orientation fits well as paradigm for logisticsbut needs a lot of concretization

Operation still requires significant knowledge, automation is the key for success

Running a system of that size within a research project only works with prefabricated high quality services

© Fraunhofer IESE

27

Key Takeaways

Running a research prototype in production is possible

“Simple” AWS services like Elastic Beanstalk and RDS are well suited for a learning team

© Fraunhofer IESE

28architecture@iese.fraunhofer.dearchitecture.iese.fraunhofer.de

Balthasar WeitzelPhone: +49 631 6800 2276balthasar.weitzel@iese.fraunhofer.de

Steffen HessPhone: +49 631 6800 2275Steffen.hess@iese.fraunhofer.de

Recommended