The mission to μServices, should anyone choose to accept it, typically starts with a set of approaches and patterns around system design or deconstruction. The objective of these methods being to enable better isolation and autonomy for teams, data and processes. As the journey progresses, events typically appear as both a goal and an approach to enable even looser coupling and better scalability.
In this talk Kingsley will share with you a rough overview of the eventing landscape and why events, immutable data, functions and processes are key to developing scalable services. Concretely, pub/sub, event sourcing and event storming will be covered as well as experiences from building event based services and frameworks. There will also be suggestions on where microservices are heading, and the close proximity between MuServices and blockchain technology.
The talk will be both introductory and interactive, with life vests and support provided.
See: https://skillsmatter.com/skillscasts/10730-looking-forward-to-kingsley-davies-talk
20. Checkpoint
● Event Storming
● Immutable journal of events
● State and Reads as a leftFold on events
● Build for failure
21. Anything else familiar from checkpoint ?
● Immutable journal of events
● State and Reads as a leftFold on events
...from serverless to masterless ?
…….and trustless (anonymous) ?
Contact details:
Twitter: @kings13y
Email: kingsley@underscore.io
Underscore are a UK based consulting company specialising in training, development and delivery of all things FP (esp Scala), Microservice design, build and support.
Holla at me if you want support on a journey to MuServices or Event based services!
https://underscore.io/
OVERVIEW
Past
Where and why for microservices
Present
Current state of play
What, How and Why
Future
Indicators from the direction of travel
WHAT DO ATTENDEES WANT FROM THE DAY ?
ONE DOES NOT SIMPLY MOVE TO MUSERVICES
Deploy, monitor, eventual consistency, interfaces blah..
DRIVEN BY SUPPORTING ECOSYSTEM
SCALE
WORK; DEPLOY; TEAMS;
COGNITIVE LOAD
microservice really allow us to optimise up the weakest relationship which is the cognitive one (Cockroft sic)
X-FUNCTIONAL TEAMS…. TO A POINT
DUAL - NOUNS and EVENTS
PUSH
Data processing
PULL
Freedom
Both
Supporting technologies (Kafka, Nats.io)
Postel’s Law++ (more on that later)
What are events ?
FACTS and IMMUTABLE
PAST TENSE
(ideally) async - Promises ?
Events always start at the PUB…
P2P (e.g. frameworks), pub/sub…
Missing/dropped events
How to deal with this..
Lead by business… using the language of the business
Cluster of notes on problem areas
Locks and writes
Loses context of change
Typically couples Write and Read storage
COULD HAVE A table that mutates and an audit table (updated by triggers) from it..
- each update saves a copy of entire row
- need to figure out the change
- not always reliable (what is a trigger gets dropped)
- no correlation to what lead to the change.
- partition system by aggregates (which are ordered) e.g. by user
- guaranteed order within an aggregate
- talked about dropped events earlier..
http://kappa-architecture.com/
- polyglot persistence for reads
- snapshots and memento patterns
- projections
Ask ppl for input!
Autonomy => moving faster; looser coupling - Postel++ (from data/space to time)
Traceability => regulation
Stability => Inversion of control, upgrades
Postel’s law: Be conservative in what you send, be liberal in what you accept
Monitoring key
Ability to delay / replay events
Promise theory and build for chaos and resilience
http://shop.oreilly.com/product/0636920036289.do
Product as (event) architecture
Still with ops teams as a function of procurement/budget management