how do you eat an elephant
TRANSCRIPT
1
How do you eat an elephant?- Creating architectures supporting deferred decisioning
so....
How do you eat an Elephant?
piece by piece!
How do you look at a software architecture?
piece by piece!
How do you design a software architecture?
piece by piece!
Deferring design decisions
Innovation and speed
Two casesPower management on a farm
Handling of Meter data
Metrologicaldata
Continuous10 sec pulsecollection
FarmPowerManagement
Powerlines
Power management on a farm
Equipmentpower monitoring and control
ETL process
Periodicexports
Nightlydatacollection
Periodicdatacollection
Internalbusinesssystems
Powerlinecommunication
ZigBee
Current handling of Meter data
Case goalsA way to handle growing data volumes Faster ETL and in a streaming manner
Easier handling of alarms
On the fly data aggregation
Lightweight way to integrate new options
Choosing Akka.Net
ETL
Periodicexports
Nightlydatacollection
Periodicdatacollection
Internalbusinesssystems
Powerlinecommunication
ZigBee
Goal architecture for handling Meter data
Akka nodeImport Service
Akka nodeREST API
Akka nodeCore Cluster
Akka nodeREST APIETL
Realtime incoming dataand push alarms
Choosen TechnologiesAkka.Net
SQL Server and a nosql-ish data model
TopShelf for “micro Windows services”
NancyFx for REST services
OWIN for “hosting”
Technology deferred decisioningAkka.Net can scale with our needs
Database can be migrated if needed
Hosting where needed
How do you create a architecture that support
deferred decisioning?
piece by piece!
In shortChange a “single” technology at a time, and for the rest stick with the good old stuff to reduce risk
In shortChoose designs and technologies that allows us to revert and grow
In shortChoose a data model that can coexist with the old
In shortKeep focus on the business goals, keep innovating piece by piece, keep the speed up and have fun