O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda

704 visualizações

Publicada em

Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda

Publicada em: Educação
  • Posso recomendar um site. Ele realmente me ajudou. Chama-se ⇒ www.boaaluna.club ⇐ Eles me ajudaram a escrever minha dissertação.
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui

TDC2016SP - Desafiando o status quo: quando e por que não usar microsserviços, Big Data e soluções em moda

  1. 1. Desafiando o status quo: quando e por que não usar microsserviços, Big Data, etc Michael Nascimento Santos
  2. 2. Microsserviços (É, eita acordo ortográfico complicado…)
  3. 3. There's no reason why you can't make a single monolith with well defined module boundaries - Martin Fowler
  4. 4. “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
  5. 5. Deploy e desenvolvimento complexo
  6. 6. 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
  7. 7. 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
  8. 8. Difícil de evoluir com múltiplos times
  9. 9. 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
  10. 10. 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
  11. 11. First Law of Distributed Object Design: "don't distribute your objects" - Martin Fowler
  12. 12. 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.)
  13. 13. Não siga a manada ● Chamadas assíncronas ● Protocolo binário ● Design for failure
  14. 14. 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
  15. 15. Big Data
  16. 16. Seus dados cabem em RAM?
  17. 17. r3.2xlarge - 61GB - USD160 r3.8xlarge - 244GB - USD638,4
  18. 18. Péssimo exemplo ● Base com milhões de linhas :-)
  19. 19. Bons exemplos ● Sensores (IoT) ● Dados não estruturados ● Bases que chegam a TB ● Processamento real-time (streaming)
  20. 20. 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
  21. 21. 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
  22. 22. Use se fizer SENTIDO!
  23. 23. Obrigado! michael@improving.com.br @mr_ _m
  24. 24. Improving your business