Microserviços – Hipsters #17

Teve a época do Corba, do COM, passamos para webservices com SOAP, WSDL até chegar ao Rest… é muita letrinha nesse cenário de sistemas distribuídos. A bola da vez são os microserviços. Vamos conversar com Phil Calçado, que sempre esteve muito presente no GUJ e em palestras no mundo inteiro, sobre arquiteturas distribuídas e de como chegamos, vantagens, desvantagens e como adotar uma arquitetura de microserviços.

Participantes:

  • Paulo Silveira, host do hipsters, que queria ter escrito MicroSServiços para seguir a nova gramática
  • Mauricio Linhares, o cohost que chamou o chefe para o episódio
  • Phil Calçado, vulgo Phillip, diretor de engenharia na Digital Ocean em Nova York

Links citados no episódio:

Produção e conteúdo:

Edição e sonorização: Radiofobia Podcast e Multimídia

Leave a Reply

56 Comentários

  1. Lucas Formiga

    Mais um episódio absurdo de bom. Toda semana eu espero dar meia noite de terça para olhar se já entrou episódio novo ?

  2. Novamente tive que reservar um tempo pra dar um feedback, vocês realmente estão de parabéns… Mais um conteúdo que pode ajudar muito! 😉

  3. otaviof

    Ótimo episódio, vem a calhar com os projetos que eu venho trabalhando. 🙂

    Agora, eu discordo do @pcalcado em somente usar containers pra quando a quantidade de micro-serviços chega a um número considerável. Eu vejo que usar o modelo proposto por Container Platforms como Kubernetes ou DCOS (Mesos/Marathon), vão te ajudar a definir padrões e mapear todas as dependências de forma prática, e que pode ser reproduzida do laptop até CI/CD/produção.

    A capacidade de simular ambientes complexos a partir do seu laptop dá velocidade e liberdade ao time de desenvolvimento que tem a capacidade de criar e destruir este stack em poucos segundos.

    Então, na minha opinião, mesmo para apps menores faz sentido usar containers, porem, reconhecidamente fazer o setup de uma plataforma destas pode ser um tanto quanto desafiador pra um iniciante, no entanto, são inúmeras as empresas que oferecem Container Platforms como serviço.

    Bom, no mais ótimo programa, o #Hipsters virou rapidamente o meu podcast favorito de tecnologia! Continuem o ótimo trabalho, um abraço!

    • Obrigado pelo feedback, Otávio!

      Talvez nós não discordemos tanto assim. Eu não lembro que palavras usei no podcast, mas eu estava me referindo à orquestradores de containers (Mesos, K8s, etc) e não ao uso de containers em si.

      Eu acho que o ponto principal aqui é quando você diz: “A capacidade de simular ambientes complexos a partir do seu laptop dá velocidade e liberdade ao time de desenvolvimento que tem a capacidade de criar e destruir este stack em poucos segundos.”.

      Eu concordo plenamente com essa afirmação. A minha pergunta para você, entretanto, é: se a aplicação é pequena, será que ela não deveria (ou poderia) ser simples? Se ela for simples, será que ainda precisamos dessas ferramentas?

      Enfim, tudo é relativo mas é sempre bom termos essas perguntas na cabeça.

      • otaviof

        Olá! Realmente a gente não pensa tão diferente assim, tem razão. 🙂

        A minha experiencia com Docker é que existe uma infinidade de parâmetros e variáveis de ambiente. E considerando uma aplicação, mesmo que simples, sempre existe ao menos quatro ou cinco elementos necessários. Ou seja, rapidamente o usuário se vê inundado por variáveis de ambiente, parâmetros e arquivos de configuração. Nós precisamos de ajuda pra organizar as coisas, e garantir a repetibilidade dos processos.

        Dai entram os orquestradores, que no geral, fazem bem mais do que o papel do “scheduler”, eles também tem um overlap grande com o “configuration management”. [0]

        Bom, os meus “dois centavos” sobre usar logo de cara um projeto como Kubernetes, é a ajuda que ele te dá padrões bem definido e reusáveis. É bastante fácil colocar um `minikube` pra rodar no laptop, e sair testando os seus containers, mesmo acontece com Mesos/Marathon.

        Também existem outras coisas que eu acho interessante usar em qualquer fase, que é usar ativamente a monitoração pra determinar se um container (POD) está apto a receber requisições, ou seja, de “agora em diante” a monitoração é parte integral da sua aplicação. E acaba sendo útil pro processo de release também, os orquestradores de containers vão usar esta monitoração ativa para, por exemplo, saber se a nova versão da sua app está saudável para chegar a produção.

        Então digamos que você quer ter todas as features com “bare Docker”, não seria mais trabalhoso tentar adicioná-las a um ambiente tradicional do que adotar um orquestrador direto?

        Abraço!

        [0] Em uma plataforma de containers, o configuration management se transforma em um problema, e deixa todo o processo de release lento como um todo. A vantagem de usar um orquestrador é ter uma separação clara sobre aplicação vs. infraestrutura, te ajudar a distribuir a sua app bem como configuração, secrets, etc.

  4. William R. Fernandes

    P>>>A muito bom o Podcast! Parabéns rapaziada!!!

  5. Excelente conteúdo. Meu podcast favorito. Recebendo o e-mail de notificação e correndo pra ouvir, muitas vezes na madrugada mesmo!!

  6. Philipe dos Santos Pompeu

    Parabéns pelo podcast! Ótimo conteúdo, sempre assuntos interessantes.

  7. Glauco Machado

    Seria interessante se houvesse a possibilidade de aumentar a velocidade de reprodução do podcast aqui no site. Tenho o hábito de assistir vídeos e podcasts de 1,5x a 2x a velocidade padrão.

  8. Eduardo Medeiros Branquinho

    Enquanto você ouvia este podcast, três novos cursos foram lançados no alura.

  9. Fernando Boaglio

    Vocês precisam achar o Lipe para fazer um podcast… esse cara é uma figura e deve ter muita história para contar, nem que seja das tatuagem dele kkk

  10. Luiz França Dos Santos

    Há um tempo atrás perguntei num comentário se era possível achar alguma empresa usando Scala em produção, num é que eles acharam….Sem palavras!!! Obrigado. Agora só falta o cursos de Scala, Play2 e Akka no Alura. kkkkk

  11. Diego Medeiros

    Putz, não poderia estar mais satisfeito: já era viciado em podcasts e agora tem um falando justamente sobre as tecnologias que trabalho. Simplesmente fantástico.

  12. Andre Rezende

    Estou a algum tempo procurando algo que discutisse questões de Microserviços. Trabalhei com SOA no passado, mas não acho que SOA ajudou, pelo contrário, inventou muita coisa ruim.
    Microserviços eu encaro como uma solução aperfeiçoada do SOA e o futuro do desenvolvimento. Obrigado e parabéns pelo podcast.

  13. Thiago Taranto

    Ficaria mais fácil de acompanhar vocês se estivessem na soundcloud. Algum motivo específico para não estarem lá? Abraços. Keep moving!

    • Paulo Silveira

      é uma duvida mesmo Thiago. mas tenho seguido as tendencias dos maiores podcasters de la de fora e dos conselhos do pessoal do radiofobia. alem de que o soundcloud pode ter problemas mesmo com o uso de 3 segundos de uma faixa musical, como eh a trilha do rock que fizemos pro linhares.

  14. Juquinha

    Melhor episódio até agora. Escutei 2 vezes. Obrigado!

  15. Artur Veiga

    @peasilveira:disqus seria interessante um podcast sobre esse desenvolvimento de 1 mês de um sistema gigante, sobre a questão quem trabalha com TI que não da prazo e sim recebe um prazo minusculo para desenvolver 3 sistemas. Forte abraço e EXCELENTE PODCAST, CONTINUEM PF!.

  16. euprogramador

    Alguém já ouviu sobre WAMP-Protocol http://wamp-proto.org/ ? ele pode ser usado para implementar microservices com comunicação nativa via websockets, e entre outros serviços.

  17. Este episódio realmente ficou sensacional!!!

    É uma tema hipster que foi abordado com um pragmatismo gigante! Gostei inclusive da ideia de começar monolítico antes de adicionar complexidade no sistema – e vejo essa sugestão de forma muito interessante e produtiva.
    Minha pergunta: vocês utilizam algum design pattern dentro do Ruby on Rails para facilitar depois essa “extração” do microserviço que acabou crescendo e precisou ser promovido? Se sim, qual?

  18. Fabio Cesar Masson

    O podcast esta cada vez melhor, Parabéns a todos os envolvidos!
    Poderia ter um podcast especifico sobre a cultura/tecnologia na digital ocean.

  19. Ivan Miranda

    Muito massa! Conteúdo excelente! Por acaso é possível disponibilizar um player que deixe ouvir em 2x sem precisar baixar? No mais tão de parabéns!

  20. JOAO JOSE MARANHAO JUNIOR

    Fantástico !! Vocês estão de parabéns !

    @peasilveira:disqus quando teremos a participação do Guilherme Silveira?

    • Paulo Silveira

      quando ele parar de me enrolar 😛

  21. Iuri Wollmann

    Excelente podcast pessoal! Cada dia melhor.

    Queria saber de vocês, quais técnicas e ferramentas vocês usam para garantir as transações em uma arquitetura de microserviços.

    Abraços.

    • O melhor é não precisar, mas você pode usar Zookeeper ou Consul pra simular isso, mas você ainda vai ter que fazer muita coisa manualmente pra fazer rodar. Engines de workflow como o Amazon Simple Workflow Service ajudam muito nesse caso também.

  22. Diego Duarte

    Excelente episódio. Já tinha ouvido o Phil Calçado em um episódio do Grok, e agora mandou bem demais denovo. Na minha empresa cada vez mais microserviços tem tomado tração, mas é uma coisa que ainda anda muito devagar, é sempre um tradeoff entre continuar melhorando o produto adicionando novas funcionalidades ao sistema monolitico e fazer uma transformação e converter a aplicação em pequenos serviços. Mesmo apesar de ter ouvido bastante sobre microserviços, esse podcasts com certeza foi uma das coisas mais esclarecedoras sobre o assunto.

  23. JUNIOR FERREIRA

    Poxa eu mudei meus conceitos sobre gostar e não gostar de x linguagem… kkkkkkkkkkkk

  24. Pingback: Morte à sessão! Entenda esse tal de stateless session com tokens | blog.caelum.com.br

  25. João Eduardo Dos Santos

    Na faculdade tinha e tem aquele proverbio para o profissional de TI ” Sempre estar antenado ao mercado “,
    então sempre tenho em minha agenda semanal “hipsters”.
    Os podcast são show!!!!

  26. Jose Cordeiro (Junior)

    Fala Pessoal, tudo bem?

    Estou fazendo um TCC de Pós graduação em TI e gostaria muito da ajuda de vocês para responder um questionário acadêmico sobre microsserviços.

    Segue o link abaixo da pesquisa:
    https://pt.surveymonkey.com/r/microsservicos

    No final, existe a opção de receber o resultado via e-mail.

    Muito obrigado.

    Abraços,
    José C. B. Jr

Next ArticleBancos, Inovação e o Vale do Silício - Hipsters #18