monolith vs microservices vs teams

37
monolith vs microservices vs team Tomáš Strejček, Dev Leader, Mall Group @TomasStrejcek

Upload: tomas-strejcek

Post on 16-Apr-2017

294 views

Category:

Internet


2 download

TRANSCRIPT

monolith vs microservices vs teamTomáš Strejček, Dev Leader, Mall Group

@TomasStrejcek

aboutme.mdMallGroup, Rockaway, RocDevs, Stuff

No PHP, #bummerBut we can chat about it later and I will mention few things about

what we do and how.

But I must say, lot of things are pretty generic, no matter the

programming language.

Don’t take me too seriouslyNo, really. Don’t.

I will not tell you what is better..but I will show you stuff that matters

I won’t show you how to do M/SOA..you can google that sh**

Monoliths are #evilNot!

Monoliths are big and strong..and maybe bloated.

But what does it mean? How does it look like?

Big ball of mud..is something you don’t want.

Ever.

Monoliths or microservices, it may still end up in the same hell

holeOr not, but you really have to design your application first hand.

All the musts for M/SOA are valid for every software projectDocumenting! Testing! Loose coupling! No shortcuts! No hacking!

Good SW design! Separation of concerns! Fast deployments!

Continuous integration! Monitoring! Caching! Other stuff!

Is it really binary (or black and white for nontech) problem?

It is not.

3mw architecture slide

How hard is to find what is going on?

Are monitoring tools and logs enough? Do you have API?

Microservices are great, but you need to GET there, not START

there.

#MonolithFirstIs then M/SOA last?

Monolith -> ? -> M/SOA? = time or something else

Modular distributed monolith architecture

MDMA for short

I made it up obviously but it really made me laugh, so I am rolling with it.

What I mean is....wait for it ..

Is application different when run in CLI instead over FPM?

It should be.

Is application different when you access it through user backend or user frontend?

It should be.

You, as developers, have great power to change you app

behavior via configuration.Incl. feature flags, environment variables etc.

How do you maintain 20 microservices in team of 5

developers?You can’t and you shouldn’t get to the point where you do.

Managing, deploying and scaling complexity is hard.

But deploying single app? Just git pull and adios.

Everybody doesn’t have to be DevOps

Not even those fancy react redux nodejs javascript hybrid guys

rolling on AWS.

Infrastructure as a code to the rescue!

Or not, you don’t really need IaaC in monoliths.

What really matters: does it work? :)

(for you)

Thank you! Questions?

Tomáš Strejček, Dev Leader, Mall Group

@TomasStrejcek

More reading… (and watching)Microservices, monoliths and laser nail guns: Etsy tech boss on finding the right focus

https://medium.com/s-c-a-l-e/microservices-monoliths-and-laser-nail-guns-how-etsy-finds-the-right-focus-in-a-se

a-of-cf718a92dc90#.m2jxzcb0l

Modular Monoliths - Simon Brown

https://www.youtube.com/watch?v=k8bi2r6Z0h8

Microservice Trade-Offs - Martin Fowler

http://martinfowler.com/articles/microservice-trade-offs.html

Modular vs Monolithic: No Holy Grails

https://speakerdeck.com/pote/modular-vs-monolithic-no-holy-grails

MonolithFirst - Martin Fowler

http://martinfowler.com/bliki/MonolithFirst.html