tdc2016sp - desafiando o status quo: quando e por que não usar microsserviços, big data e...
TRANSCRIPT
![Page 1: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/1.jpg)
Desafiando o status quo: quando e por que não usar microsserviços, Big Data, etc
Michael Nascimento Santos
![Page 2: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/2.jpg)
![Page 3: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/3.jpg)
![Page 4: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/4.jpg)
![Page 5: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/5.jpg)
Microsserviços(É, eita acordo ortográfico
complicado…)
![Page 6: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/6.jpg)
![Page 7: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/7.jpg)
![Page 8: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/8.jpg)
There's no reason why you can't make a single monolith with well defined module boundaries -
Martin Fowler
![Page 9: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/9.jpg)
“Microservices ... only work well if you come up with good, stable boundaries between the services - which is essentially the task of drawing up the right set of BoundedContexts. Any refactoring of functionality between services is much harder than it is in a monolith. Even experienced architects working in familiar domains have great difficulty getting boundaries right at the beginning. By building a monolith first, you can figure out what the right boundaries are, before a microservices design brushes a layer of treacle over them.” - Martin Fowler
![Page 10: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/10.jpg)
Deploy e desenvolvimento complexo
![Page 11: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/11.jpg)
I've heard people say that you need to use microservices because it's impossible to do Continuous Delivery with monoliths - yet there are plenty of organizations that succeed with a cookie-cutter deployment approach: Facebook and Etsy are two well-known examples. - Martin Fowler
![Page 12: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/12.jpg)
The microservices approach is all about handling a complex system, but in order to do so the approach introduces its own set of complexities. When you use microservices you have to work on automated deployment, monitoring, dealing with failure, eventual consistency, and other factors that a distributed system introduces. There are well-known ways to cope with all this, but it's extra effort, and nobody I know in software development seems to have acres of free time. - Martin Fowler
![Page 13: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/13.jpg)
Difícil de evoluir com múltiplos times
![Page 14: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/14.jpg)
![Page 15: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/15.jpg)
Remember that the microservices approach brings a high premium, one that can slow down your
development considerably. So if you can keep your system simple enough to avoid the need for
microservices: do. - Martin Fowler
![Page 16: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/16.jpg)
I'm always reluctant to play the distribution card, and think too many people go distributed too quickly
because they underestimate the problems - Martin Fowler
![Page 17: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/17.jpg)
First Law of Distributed Object Design: "don't distribute your
objects" - Martin Fowler
![Page 18: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/18.jpg)
Pré-requisitos● Testes
● Provisionamento rápido
● Monitoramento
● Deployment rápido
● Saber lidar com computação distribuída (transações, caches
eventualmente consistentes, latência etc.)
![Page 19: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/19.jpg)
Não siga a manada● Chamadas assíncronas
● Protocolo binário
● Design for failure
![Page 20: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/20.jpg)
![Page 21: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/21.jpg)
The additional complexity that comes from distributed systems requires an additional level of maturity and investment. We are concerned that some teams are rushing in to adopting microservices without understanding the changes to development, test, and operations that are required to do them well. Our general advice remains simple. Avoid microservice envy and start with one or two services before rushing headlong into developing more, to allow your teams time to adjust and understand the right level of granularity. - ThoughtWorks
![Page 22: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/22.jpg)
Big Data
![Page 23: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/23.jpg)
Seus dados cabem em RAM?
![Page 24: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/24.jpg)
r3.2xlarge - 61GB - USD160r3.8xlarge - 244GB - USD638,4
![Page 25: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/25.jpg)
Péssimo exemplo● Base com milhões de linhas :-)
![Page 26: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/26.jpg)
Bons exemplos● Sensores (IoT)
● Dados não estruturados
● Bases que chegam a TB
● Processamento real-time (streaming)
![Page 27: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/27.jpg)
Relational databases are mature technology, that lots of people are familiar with and have good tooling. Unless there is a good argument for something else, they are
currently still the default choice. - Martin Fowler
![Page 28: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/28.jpg)
Referências● http://martinfowler.com/bliki/MonolithFirst.html● http://martinfowler.com/bliki/MicroservicePremium.html● http://martinfowler.com/bliki/MicroservicePrerequisites.html● http://martinfowler.com/articles/microservice-trade-offs.html● http://martinfowler.com/articles/distributed-objects-microservices.html● http://techblog.netflix.com/2011/07/netflix-simian-army.html● http://martinfowler.com/articles/bigData/● https://www.thoughtworks.com/radar/techniques/microservice-envy
![Page 29: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/29.jpg)
Use se fizer SENTIDO!
![Page 31: TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda](https://reader034.vdocuments.mx/reader034/viewer/2022042723/58743b611a28ab0e6c8b57e5/html5/thumbnails/31.jpg)
Improving your business