rural areas in the cloud – digital transformation...
TRANSCRIPT
© 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
Balthasar WeitzelPhone: +49 631 6800 [email protected]
Steffen HessPhone: +49 631 6800 [email protected]