How do you eat an elephant

Post on 13-Jan-2017

188 views 0 download

Transcript of How do you eat an elephant

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

How do eat an Elephant?

Jesper FærgemannLead Software Architect

jef@mjolner.dk +45 41 95 36 51