A "soup to nuts" look at implementing Self Contained Systems. From selecting a microservice architecture, implementation and onto deploying to an OpenShift container platform using a CI/CD pipeline.
2. WHO AM I
▸ DONOVAN MULLER
▸ LEAD TECHNICAL PARTNER AT BARCLAYS AFRICA/ABSA
3. 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
4. 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…
5. 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
6. 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
7. 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
8. 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
13. 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
14. EVENT SOURCING
▸ STATE IS THE LEFT FOLD OF YOUR DOMAIN EVENTS
▸ KEPT IN A PERSISTENT EVENT STORE
▸ BUILT IN AUDIT RECORD
▸ TEMPORAL QUERIES
18. PAAS - OPENSHIFT
▸ “ENTERPRISE” KUBERNETES
▸ SERVICE DISCOVERY, CONFIGURATION MANAGEMENT,
ETC. FOR FREE
▸ BUILD AND RUN
▸ BUILT IN JENKINS PIPELINES
19. EVENT DRIVEN ARCHITECTURE
▸ ASYNCHRONOUS COMMUNICATION BETWEEN
SYSTEMS
▸ LESS DEATH STAR
▸ MORE FLEXIBLE AND AUTONOMOUS
▸ TRADE OFFS