jug - soup to nuts with self contained systems

Post on 05-Apr-2017

80 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SELF CONTAINED SYSTEMSSOUP TO NUTS

WHO AM I

▸ DONOVAN MULLER

▸ LEAD TECHNICAL PARTNER AT BARCLAYS AFRICA/ABSA

SO(A) WHAT’S THE BIG HYPE?

▸ ISN’T THIS JUST SOA?

▸ YES BUT WITHOUT ESB, VENDORS, ORCHESTRATION ENGINES, SOAP

▸ SO, NO CENTRALISED ESB TEAM

HOW BIG IS A MICRO SERVICE ANYWAY

DOES SIZE REALLY MATTER?

▸ NO, IT SHOULDN’T

▸ SIZE DOES NOT MAKE A MICROSERVICE

▸ IT’S ALL ABOUT CONTEXT…

NO DEPENDENCIES

WHY DO WE NEED MICROSERVICES?

▸ IT’S ABOUT BEING INDEPENDENT/AUTONOMOUS

▸ ASKING FOR PERMISSION SUCKS

▸ WAITING SUCKS

▸ I HATE JEE

▸ I WANNA GO FAST

WE HAVE TO WAIT HOW LONG…

NO HAND OFFS

▸ INTER-TEAM DEPENDENCIES WASTE TIME

▸ KEEP IT IN THE TEAM

▸ WHICH MEANS, WE NEED TO CONTROL THE STACK

I THOUGHT THIS WAS ABOUT MICROSERVICES…

WHAT’S A SELF CONTAINED SYSTEM?

▸ http://scs-architecture.org

▸ Autonomous application

▸ Owned by one team

▸ Communication asynchronous where possible

▸ No shared UI

▸ No shared business code

▸ Minimal shared infrastructure

BE SELFISH

SHARE NOTHING

▸ SHARING IS NOT CARING

▸ CAUSES DEPENDENCIES BETWEEN TEAMS

▸ SHARING SOME THINGS IS OK THOUGH

▸ STANDARDISED LIBRARIES FOR LOGGING ETC.

▸ TRADE OFFS

BUT…

TRADE OFFS

▸ NO PERFECT DESIGN

▸ ALWAYS TRADE OFFS

DDD

▸ DOMAIN DRIVEN DESIGN

▸ MODEL THE BUSINESS PROBLEM

▸ NOT THE INFRASTRUCTURE

BOUNDED CONTEXTS

▸ MOST IMPORTANT CONCEPT?

▸ THINGS THAT BELONG TOGETHERSTAY TOGETHER

▸ BOUNDED CONTEXT = SCS

AGGREGATES

▸ A GROUP OF RELATED DOMAIN OBJECTS

▸ CONSISTENCY BOUNDARY

DOMAIN EVENTS

▸ WHEN THINKING OF STATE, THINK WHAT EVENT HAS JUST TAKEN PLACE

▸ EASIER FOR PEOPLE TO MODEL WHAT SOMETHING SHOULD DO, RATHER THAN HOW TO DO IT

EVENT SOURCING

▸ STATE IS THE LEFT FOLD OF YOUR DOMAIN EVENTS

▸ KEPT IN A PERSISTENT EVENT STORE

▸ BUILT IN AUDIT RECORD

▸ TEMPORAL QUERIES

CQRS

▸ COMPLIMENTS EVENT SOURCING

▸ MATERIALISED VIEWS

▸ EASY COME, EASY GO

DEMO - AXON

FRAMEWORKS

▸ AXON WITH SPRING X

▸ LAGOM

▸ MANY MORE

▸ ROLL YOUR OWN?

PAAS - OPENSHIFT

▸ “ENTERPRISE” KUBERNETES

▸ SERVICE DISCOVERY, CONFIGURATION MANAGEMENT, ETC. FOR FREE

▸ BUILD AND RUN

▸ BUILT IN JENKINS PIPELINES

EVENT DRIVEN ARCHITECTURE

▸ ASYNCHRONOUS COMMUNICATION BETWEEN SYSTEMS

▸ LESS DEATH STAR

▸ MORE FLEXIBLE AND AUTONOMOUS

▸ TRADE OFFS

REACTIVE MANIFESTO

▸ http://www.reactivemanifesto.org/

▸ RESPONSIVE

▸ RESILIENT

▸ ELASTIC

▸ MESSAGE DRIVEN

INTEGRATIONS (STREAMS)

▸ SPRING CLOUD STREAM/DATA FLOW

▸ ALPAKKA

▸ ETC.

WHAT ABOUT TRANSACTIONS?

▸ NO XA (BETWEEN SYSTEMS) :O

▸ EVENTUALLY CONSISTENT

▸ SAGA PATTERN

MSA FOR THE UI

▸ MICROSERVICES ARE NOT ONLY FOR THE BACKEND

▸ AVOID SHARED UI

▸ TAILOR, ESI (EDGE SIDE INCLUDES), ETC.

JUST GETTING STARTED

▸ MONITORING

▸ LOGGING

▸ SERVICE CATALOGUE

▸ API GATEWAY

▸ SECURITY

THANK YOU

@donovancmuller

top related