microservices - what i've learned after a year building systems

27
Microservices WHAT I’VE LEARNED AFTER A YEAR BUILDING SYSTEMS www.designcoderelease.blogspot.com @NathanGloyn

Upload: nathan-gloyn

Post on 21-Jan-2018

167 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Microservices - What I've learned after a year building systems

MicroservicesWHAT I ’VE LEARNED AFTER A YEAR BUILDING SYSTEMS

www.designcoderelease.blogspot.com@NathanGloyn

Page 2: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Disclaimer

Page 3: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

AgendaWhy use microservices?

Aspects of microservices

Development

Testing

Data

Deployment

The reality of a live system

Page 4: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Why use microservices?

Page 5: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Different way of thinking

Page 6: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Different way of thinking

Page 7: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Different way of thinking

Page 8: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Different way of thinking

Page 9: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Identifying services

Page 10: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – messaging

Page 11: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – messaging

Message B

us

Page 12: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Fat vs Thin

Vs

Page 13: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Distributed system

Page 14: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Aspects – Security

Page 15: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Development – repositories

or

Page 16: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Development – Technology Stack

Page 17: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Development – shared functionality

Page 18: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Development - UI

Page 19: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Testing

Page 20: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Deployment

Page 21: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Live system – Configuration

Page 22: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Live system – Data

Page 23: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Live system – Logging

Page 24: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Live system – Monitoring

Page 25: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

Live system – Custom tools

Page 26: Microservices - What I've learned after a year building systems

@NathanGloyn www.designcoderelease.blogspot.com

SummaryDifferent way of thinking

Choice of technology not necessarily important but at same time can be crucial

Service identification is important and if should be fat or thin dependent upon resilience

Put configuration in one place

You will need to alter data in production – know how you are going to do this

Log, log and log some more

Monitor the system not just individual services

Page 27: Microservices - What I've learned after a year building systems

Questions?

www.designcoderelease.blogspot.com@NathanGloyn