Slide 1

Slide 1 text

Enterprise Architectural Patterns Microservices
 Governance, Discovery, Configuration Isa Goksu
 Head of Enterprise Architecture! Istanbul Stock Exchange

Slide 2

Slide 2 text

Istanbul Coders ❖ We are…! ❖ Enthusiastic Peeps! ❖ Evangelists! ❖ Volunteers! ❖ http://www.istanbulcoders.org! ❖ [email protected]

Slide 3

Slide 3 text

Agenda ❖ Enterprise Applications! ❖ Enterprisy Concerns ! ❖ Microservices! ❖ Solving

Slide 4

Slide 4 text

Enterprise Applications ❖ What? (n-tiered; UI, Business, Persistence)! ❖ Types! ❖ Monolithic / COA! ❖ Service Based / Traditional SOA / ESBs! ❖ Microservices / HATEOAS

Slide 5

Slide 5 text

Enterprisy Concerns ❖ Tons of them…! ❖ Development! ❖ Configuration! ❖ Integration! ❖ Transactional Guarantees! ❖ Maintenance! ❖ Deployment! ❖ Monitoring (logs, events, system, etc)! ❖ Performance / Load! ❖ Fungible Resources

Slide 6

Slide 6 text

Traditional SOA ❖ Mostly vendor products! ❖ Not really a bus (more like service broker)! ❖ They are lying

Slide 7

Slide 7 text

Traditional SOA ❖ Planned design! ❖ Change controls! ❖ Heavy configuration (u need dedicated folks)! ❖ Only EA group can tell you what to do! ❖ UDDI sh*t (sorry man, didn’t even work)! ❖ Hard deployments

Slide 8

Slide 8 text

–Melvyn Conway “organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations..”

Slide 9

Slide 9 text

Nope, thanks!

Slide 10

Slide 10 text

Microservices ❖ Evolutionary architecture! ❖ Unix style (rock solid for more than 40 years)! ❖ Pipes of Business Values (single value each time)! ❖ Small footprint (less than 1K LoC)! ❖ Any technology (java, c#, ruby, python, etc)! ❖ No contracts (consumer driven contracts, tolerant reads)

Slide 11

Slide 11 text

Yeap!

Slide 12

Slide 12 text

Compare Yourself

Slide 13

Slide 13 text

Typical Implementations ❖ Service Orchestrations! ❖ SPOF! ❖ There has to be an orchestrator! ❖ Choreographic alignment! ❖ Entities! ❖ Capabilities! ❖ Choreographies

Slide 14

Slide 14 text

Choreographic Alignment

Slide 15

Slide 15 text

Service Harness

Slide 16

Slide 16 text

Extra Needs ❖ Governance! ❖ Service Discovery! ❖ Configuration Management! ❖ Transactional Guarantees! ❖ Maintenance

Slide 17

Slide 17 text

ZooKeeper ❖ Distributed Configuration! ❖ Distributed Synchronization! ❖ Distributed Registry! ❖ Watches, Ephemeral, etc

Slide 18

Slide 18 text

Configuration ❖ environment (dev/test/uat/pre-prod/prod)! ❖ app id (uuid)! ❖ key-value pairs

Slide 19

Slide 19 text

Service Discovery ❖ DBED + TXT Records! ❖ Tagging system inside ZooKeeper! ❖ XMPP-based

Slide 20

Slide 20 text

–Thanks for listening Q/A