{"id":5959,"date":"2025-02-28T11:12:23","date_gmt":"2025-02-28T14:12:23","guid":{"rendered":"https:\/\/geekblogti.wpengine.com\/?p=5959"},"modified":"2025-03-13T18:40:22","modified_gmt":"2025-03-13T21:40:22","slug":"microservices-e-o-perigo-das-modinhas","status":"publish","type":"post","link":"https:\/\/www.geekhunter.com/pt/blog\/microservices-e-o-perigo-das-modinhas\/","title":{"rendered":"Microservices e o perigo das \u201cmodinhas\u201d"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">A modinha do momento se chama <em>microservices<\/em>. Quando <em>devs <\/em>ouvem essa palavrinha m\u00e1gica, os olhos brilham. Cada dia mais, esse tem se tornado um dos assuntos centrais em palestras, eventos, v\u00eddeos, cursos e afins.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Empresas altamente admiradas<strong>,<\/strong> como a<strong> Netflix<\/strong> por exemplo, tem aplicado essa arquitetura, e isso inspira muitos a tamb\u00e9m querer aplic\u00e1-la.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O uso de <em>microservices<\/em>, por\u00e9m, n\u00e3o \u00e9 recomendado para todos. E \u00e9 a\u00ed que mora o perigo. Para ter certeza de que ele se adequa \u00e0s suas necessidades, o primeiro passo \u00e9 entender o que exatamente s\u00e3o <em>microservices<\/em>.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><a href=\"http:\/\/bit.ly\/2YtkL9G\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"wp-image-6705\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/CTA-Quiz-Python-1024x134.jpg\" alt=\"\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Entenda o que <\/strong>s\u00e3o microservices<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"960\" height=\"640\" class=\"wp-image-5975\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss.jpg\" alt=\"tela com c\u00f3digos de programa\u00e7\u00e3o\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-150x100.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-100x67.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-600x400.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-450x300.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-810x540.jpg 810w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-300x200.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/microsservi\u00e7oss-768x512.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O grande perigo de uma modinha \u00e9 como o uso dos termos se torna uma esp\u00e9cie de \u201cepidemia an\u00f4nima\u201d, com todos ficando doentes sem saber ao certo o que tem.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O mais comum \u00e9 ver gente resumindo <em>microservices<\/em> pura e simplesmente ao conceito de \u201cservi\u00e7os pequenos\u201d, sem se atentar para temas importantes relacionados a ele como<a href=\"https:\/\/martinfowler.com\/articles\/microservices.html#DecentralizedDataManagement\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\"><strong> desacoplamento de comportamento e de dados<\/strong><\/a>, orquestra\u00e7\u00e3o e coreografia.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Eu n\u00e3o pretendo abordar estes e outros pontos conceituais sobre <a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/python-microservices\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"microservices (abre numa nova aba)\"><strong>microservices<\/strong><\/a> pois a internet est\u00e1 recheada de informa\u00e7\u00f5es sobre. Uma pesquisa r\u00e1pida te deixar\u00e1 a par disso e tamb\u00e9m das suas vantagens.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Aqui, eu pretendo apenas abordar alguns pontos que acho importante considerar antes de decidir por essa abordagem, sem romantismo e sem paix\u00f5es.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&gt;<strong>&gt;Leitura Recomendada:<\/strong><br \/>Os principais servi\u00e7os da <a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/arquitetura-aws-principais-servicos\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>arquitetura AWS<\/strong><\/a>!<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">A import\u00e2ncia de entender sua arquitetura de software<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"960\" height=\"678\" class=\"wp-image-5962\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/seu-cenario.jpg\" alt=\"placa apontando o lado certo e o lado errado\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-150x106.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-100x71.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-600x424.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-450x318.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-765x540.jpg 765w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-300x212.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/seu-cenario-768x542.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">N\u00e3o v\u00e1 pela euforia. E isso vale pra qualquer tecnologia, t\u00e9cnica ou metodologia que esteja sendo a <em>hype <\/em>do momento.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 muito importante entender as vantagens, as desvantagens e relacionar essas informa\u00e7\u00f5es com o seu cen\u00e1rio atual para saber o que \u00e9 mais adequado. E muitas vezes <a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/python-microservices\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"microservices (abre numa nova aba)\"><strong>microservices<\/strong><\/a> n\u00e3o s\u00e3o. Da\u00ed v\u00e1rios problemas tendem a ocorrer, mas reverter o que foi feito se torna complicado ou at\u00e9 invi\u00e1vel.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">N\u00e3o deixe pra encontrar o <em>Godzilla<\/em> somente quando ele j\u00e1 invadiu a cidade. Evite esse tipo de problema avaliando a real necessidade de se usar <em>microservices <\/em>dentro do seu contexto.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong><em>&gt;&gt;Leitura Recomendada:<br \/><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/tudo-o-que-voce-precisa-saber-sobre-o-spring-boot\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (abre numa nova aba)\">Tudo o que voc\u00ea precisa saber sobre o Spring Boot<\/a><\/em><\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Analise alguns riscos, oportunidades, vantagens e desvantagens antes de come\u00e7ar a usar <\/strong><em><strong>microservice<\/strong><\/em><strong>s:<\/strong><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Microservices \u00e9 uma<strong> arquitetura mais complexa<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"960\" height=\"639\" class=\"wp-image-5963\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma.jpg\" alt=\"dois pr\u00e9dios\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-150x100.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-100x67.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-600x399.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-450x300.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-811x540.jpg 811w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-300x200.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/arquitetura-de-plataforma-768x511.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em uma <strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/arquitetura-de-microsservicos-x-arquitetura-monolitica\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"aplica\u00e7\u00e3o monol\u00edtica (abre numa nova aba)\">aplica\u00e7\u00e3o monol\u00edtica<\/a><\/strong>, \u00e9 uma boa pr\u00e1tica utilizar padr\u00f5es e conceitos de modelagem e <em>arquitetura de software,<\/em> como por exemplo DDD, especialmente <em>Bounded Contexts<\/em>, de forma que o escopo de seus objetos esteja bem separado, conforme as responsabilidades do seu sistema.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">J\u00e1 em uma aplica\u00e7\u00e3o de <em>microservices<\/em>, isso deixou de ser uma boa pr\u00e1tica e passou a ser obrigatoriedade. Se voc\u00ea n\u00e3o tratar a coisa dessa forma, correr\u00e1 um s\u00e9rio risco de ter bastante retrabalho ou muito c\u00f3digo ocioso em seus servi\u00e7os.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Logo, usar <em>microservices <\/em>implica maior responsabilidade e exig\u00eancia t\u00e9cnica, mas muitos n\u00e3o se atentam a isso pois saem aplicando o conceito por pura euforia.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Perda de performance<\/strong> no software<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"626\" height=\"417\" class=\"wp-image-5964\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/perda-de-performance.jpg\" alt=\"homem olhando triste para o computador\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/perda-de-performance.jpg 626w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/perda-de-performance-150x100.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/perda-de-performance-100x67.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/perda-de-performance-600x400.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/perda-de-performance-450x300.jpg 450w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong>Se o seu sistema tem uma performance cr\u00edtica, talvez <\/strong><em><strong>microservices <\/strong><\/em><strong>n\u00e3o seja a melhor abordagem. <\/strong><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como se trata de uma abordagem fundada na cria\u00e7\u00e3o e\/ou decomposi\u00e7\u00e3o de muitos servi\u00e7os pequenos que se comunicam utilizando algum protocolo, como <em>HTTP<\/em> por exemplo, isso faz com que, dependendo de como forem separadas as responsabilidades, o que antes seria a execu\u00e7\u00e3o de um c\u00f3digo incorporado no mesmo <em>assembly<\/em>, se tornar\u00e1 uma chamada de um servi\u00e7o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso afeta significativamente a performance, pois um c\u00f3digo invocado em um mesmo <em>assembly <\/em>sempre ser\u00e1 consideravelmente mais r\u00e1pido, principalmente se o protocolo de comunica\u00e7\u00e3o escolhido n\u00e3o for dos mais r\u00e1pidos (como \u00e9 o pr\u00f3prio <em>HTTP<\/em>).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Assim, parta da premissa de que uma abordagem <em>microservices <\/em>dever\u00e1 implicar em perda de performance.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Obviamente que, dependendo do contexto, isso pode ser tolerado ou at\u00e9 contornado, com alguma compensa\u00e7\u00e3o ou n\u00e3o, mas esse fato deve ser reconhecido e pesado devidamente na tomada de decis\u00f5es do projeto.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><strong><em>&gt;&gt;Leitura Recomendada:<\/em><\/strong><em><br \/><\/em><strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/bitbucket-vs-git-quem-vence-a-batalha\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Bitbucket vs GitHub: (abre numa nova aba)\"><em>Bitbucket vs GitHub:<\/em><\/a><\/strong> <em>quem vence a batalha?<\/em><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&nbsp;<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Implanta\u00e7\u00e3o de microservices pode ser mais custosa<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" class=\"wp-image-5965\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao.jpg\" alt=\"tablet mostrando gr\u00e1ficos\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-150x100.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-100x67.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-600x400.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-450x300.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-810x540.jpg 810w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-300x200.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/custo-de-implanta\u00e7ao-768x512.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Quanto mais servi\u00e7os voc\u00ea tiver no seu sistema, maior a probabilidade de o <em>deploy <\/em>dele ser custoso.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ao utilizar <em>microservices<\/em>, n\u00f3s ganhamos a vantagem de ter uma maior independ\u00eancia e desacoplamento das partes do sistema, mas em contrapartida, temos mais servi\u00e7os para publicar e configurar.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Logicamente que esse problema pode ser minimizado dependendo da sua pol\u00edtica de publica\u00e7\u00e3o. Se ela, por exemplo, contiver um processo automatizado de integra\u00e7\u00e3o cont\u00ednua para a gera\u00e7\u00e3o dos <em>builds <\/em>e publica\u00e7\u00e3o, esses efeitos colaterais ser\u00e3o minimizados.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por\u00e9m, h\u00e1 circunst\u00e2ncias que dificultam isso, como a falta de infraestrutura ou at\u00e9 alguns aspectos pr\u00f3prios da solu\u00e7\u00e3o em si. Como no caso dela ser <em>on premise<\/em>, por exemplo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E a\u00ed, como proceder em casos desse tipo? Vale a pena investir nessa arquitetura mesmo assim? Voc\u00ea pode decidir isso ou depende de decis\u00f5es do cliente? Todas essas quest\u00f5es devem ser consideradas.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Usar microservices traz um gerenciamento mais complexo<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"685\" class=\"wp-image-5966\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI.jpg\" alt=\"mulher olhando para o computador\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-150x107.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-100x71.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-600x428.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-450x321.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-757x540.jpg 757w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-300x214.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/funcion\u00e1ria-TI-768x548.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No \u00e2mbito do desenvolvimento, <strong>uma das principais vantagens de <\/strong><em><strong>microservices <\/strong><\/em><strong>\u00e9 permitir uma manuten\u00e7\u00e3o mais simples e r\u00e1pida do c\u00f3digo<\/strong>, por deix\u00e1-lo com um alto desacoplamento e focado em um contexto espec\u00edfico do neg\u00f3cio. Afinal, <em>troubleshootings <\/em>s\u00e3o mais facilmente aplicados em pequenos sistemas.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por\u00e9m, quanto \u00e0 gest\u00e3o do <em>software<\/em>, essa abordagem tende a aumentar consideravelmente sua complexidade em virtude da quantidade excessiva de servi\u00e7os. Em suma, <em>microservices <\/em>favorece a manuten\u00e7\u00e3o do c\u00f3digo, mas n\u00e3o do <em>software<\/em>.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Assim, quando analisar a possibilidade de adotar <em>microservices<\/em>, seja na cria\u00e7\u00e3o ou na migra\u00e7\u00e3o de um sistema, pense no<strong> gerenciamento<\/strong> dele, considerando o ambiente em que ele estar\u00e1 rodando e a equipe que cuidar\u00e1 dele.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Que aspectos do ambiente podem tornar a gest\u00e3o do <em>software<\/em> mais complexa? A equipe que manter\u00e1 o sistema \u00e9 capaz de suport\u00e1-lo, tanto em conhecimento quanto em carga de trabalho?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Considere essas quest\u00f5es e formule uma estrat\u00e9gia que pense \u00e0 frente, n\u00e3o s\u00f3 na entrega do sistema agora, mas em como mant\u00ea-lo futuramente.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><a href=\"http:\/\/bit.ly\/2JS9hZn\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"wp-image-6578\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/CTA-Rodap\u00e9-Front-end-e-Back-end-34-1024x134.jpg\" alt=\"\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Gerenciamento de dados e transa\u00e7\u00f5es<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" class=\"wp-image-5967\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os.jpg\" alt=\"tela com c\u00f3digos de programa\u00e7\u00e3o\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os-150x84.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os-100x56.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os-600x338.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os-450x253.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os-300x169.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-microsservi\u00e7os-768x432.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Em uma abordagem <em>microservices <\/em>ideal, cada servi\u00e7o, se contiver opera\u00e7\u00f5es de persist\u00eancia, dever\u00e1 ter o seu pr\u00f3prio banco de dados. Isso se d\u00e1 para que o desacoplamento entre eles seja completamente preservado.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por\u00e9m, sabemos que no mundo real \u00e9 muito dif\u00edcil modelar o sistema dessa forma e, se for modelado, manter as N bases para os N servi\u00e7os pode se tornar uma tarefa monstruosa, n\u00e3o s\u00f3 nos aspectos relacionados ao desenvolvimento, mas tamb\u00e9m \u00e0 gest\u00e3o (DBAs que o digam).<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Al\u00e9m disso, pelo fato dos dados estarem desagregados e em bases separadas, pode se tornar muito dif\u00edcil aplicar consultas complexas para an\u00e1lise deles. Talvez voc\u00ea tenha que considerar duplicar dados, salvando c\u00f3pias em uma base de relat\u00f3rios, por exemplo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Mas e o espa\u00e7o em disco dispon\u00edvel? \u00c9 suficiente? Como isso ser\u00e1 gerido? Estas e outras quest\u00f5es precisam ser levadas em conta.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Outro ponto importante e que exigir\u00e1 maior <strong>capacita\u00e7\u00e3o t\u00e9cnica<\/strong> \u00e9: como lidar com transa\u00e7\u00f5es? Se voc\u00ea estiver migrando um sistema transacional monol\u00edtico para uma abordagem <em>microservices<\/em>, o trabalho ser\u00e1 maior ainda, pois uma transa\u00e7\u00e3o que hoje abre e fecha em um mon\u00f3lito ter\u00e1 que ser fragmentada, sendo aberta em um servi\u00e7o e finalizada em outro, j\u00e1 que agora aquele trecho de c\u00f3digo foi distribu\u00eddo entre eles.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Ou seja, mudan\u00e7as nessas rotinas ser\u00e3o necess\u00e1rias. H\u00e1 padr\u00f5es voltados \u00e0 resolu\u00e7\u00e3o deste tipo de problema, mas eles devem ser analisados com prud\u00eancia quanto \u00e0 adequa\u00e7\u00e3o ao cen\u00e1rio.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">De qualquer forma, independente de voc\u00ea estar iniciando do zero uma arquitetura <em>microservices <\/em>ou migrando um sistema monol\u00edtico, \u00e9 importante estar ciente desses \u201cespinhos\u201d.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><em>&gt;&gt;<\/em><strong><em>Leitura Recomendada:<br \/><\/em><\/strong><a href=\"https:\/\/www.geekhunter.com\/pt\/blog\/kubernetes-a-arquitetura-de-um-cluster\/\"><strong><em>Kubernetes:<\/em><\/strong> <\/a><em>a arquitetura de um cluster<\/em><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Excesso de requisi\u00e7\u00f5es<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" class=\"wp-image-5968\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/coding.jpg\" alt=\"tela com codigo de programa\u00e7ao\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-150x100.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-100x67.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-600x400.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-450x300.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-810x540.jpg 810w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-300x200.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/coding-768x512.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">O conceito de <em>microservices <\/em>aumenta exponencialmente o n\u00famero de requisi\u00e7\u00f5es \u2013 ou chamadas de servi\u00e7o \u2013 executadas pelo sistema.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Numa migra\u00e7\u00e3o se, por exemplo, voc\u00ea tinha um sistema contendo um <em>client <\/em>e um <em>server <\/em>exigindo uma requisi\u00e7\u00e3o para executar uma regra de neg\u00f3cio, em um sistema com uma arquitetura <em>microservices<\/em>, essa mesma regra, dependendo de sua complexidade, pode passar por dezenas de servi\u00e7os para ter sua execu\u00e7\u00e3o finalizada. Ou seja, passamos de 1 para N requisi\u00e7\u00f5es. Um aumento consider\u00e1vel.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso pode, por\u00e9m, aumentar mais ainda. Por determinados trechos de c\u00f3digo estarem dispon\u00edveis em servi\u00e7os, existe a possibilidade deles serem chamados por mais de um sistema ao mesmo tempo, ou seja, abrimos um cen\u00e1rio de concorr\u00eancia que antes poderia n\u00e3o existir.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E nestes poss\u00edveis cen\u00e1rios, as requisi\u00e7\u00f5es aumentariam exponencialmente. A sua infraestrutura est\u00e1 preparada para isso? Como ela se comportaria com uma demanda maior e concorrente de execu\u00e7\u00e3o de regras? S\u00e3o preocupa\u00e7\u00f5es que agora surgem.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Pontos de falha<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" class=\"wp-image-5969\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/erro-computador.jpg\" alt=\"tela de computador com erro\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador-150x84.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador-100x56.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador-600x338.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador-450x253.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador-300x169.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/erro-computador-768x432.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Comparado a um sistema monol\u00edtico, os pontos de falha mudar\u00e3o em uma abordagem <em>microservices<\/em>, pois o <em>mindset <\/em>\u00e9 outro. Voc\u00ea ter\u00e1 que mape\u00e1-los e criar planos de conting\u00eancia para eles.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Tomando o mesmo exemplo citado acima, considere um sistema que toma diversos passos para executar uma regra de neg\u00f3cio. Em uma aplica\u00e7\u00e3o <em>microservices<\/em>, esses passos se tornariam servi\u00e7os.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">E se por acaso um deles cair, como ser\u00e1 o comportamento da aplica\u00e7\u00e3o? Haver\u00e3o alarmes falsos? H\u00e1 uma conting\u00eancia? Isso causar\u00e1 inconsist\u00eancia de dados?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Essas preocupa\u00e7\u00f5es provavelmente n\u00e3o existiriam se essa regra pertencesse a um sistema monol\u00edtico, mas quando voc\u00ea transporta isso para uma abordagem <em>microservices<\/em>, voc\u00ea passa a ter novas preocupa\u00e7\u00f5es que, se n\u00e3o forem consideradas, afetar\u00e3o o neg\u00f3cio.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Muitos pontos de brecha poder\u00e3o impactar consideravelmente requisitos n\u00e3o funcionais.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por exemplo, na migra\u00e7\u00e3o de um sistema monol\u00edtico para <em>microservices<\/em>, considere a quest\u00e3o das requisi\u00e7\u00f5es envolvidas na execu\u00e7\u00e3o de uma regra de neg\u00f3cio. O que antes era c\u00f3digo incorporado se tornou chamada a um servi\u00e7o.\u00a0<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Como uma maior lat\u00eancia no tempo de resposta deste servi\u00e7o afetar\u00e1 a efic\u00e1cia do sistema em executar essa regra de neg\u00f3cio? Ele manter\u00e1 os tempos em valores aceit\u00e1veis?<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">No caso de um sistema arquitetado do zero, os tempos atender\u00e3o aos requisitos do cliente? Como fazer com que atendam? Se estes pontos n\u00e3o forem considerados, <em>microservices <\/em>podem mais atrapalhar que ajudar.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Disponibilidade<\/strong><\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"640\" class=\"wp-image-5970\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao.jpg\" alt=\"homem programando\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-150x100.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-100x67.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-600x400.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-450x300.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7ao-810x540.jpg 810w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Dependendo de como est\u00e1 estruturada a sua arquitetura <em>microservices<\/em>, a disponibilidade de seu sistema pode diminuir, logo este \u00e9 um ponto de aten\u00e7\u00e3o a se considerar, analisar e, se for o caso, formular uma estrat\u00e9gia para contornar.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Uma regra de neg\u00f3cio em uma arquitetura de <em>microservices <\/em>tende a ter diversas chamadas encadeadas entre os servi\u00e7os, ou seja, se em um mon\u00f3lito um servi\u00e7o X ir\u00e1 executar uma regra de neg\u00f3cio, em uma arquitetura <em>microservices<\/em> a mesma regra de neg\u00f3cio poder\u00e1 ser executada pelos servi\u00e7os X1, X2, X3\u2026. XN, onde X1 chama X2, que chama X3 e assim por diante.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Agora considere que o servi\u00e7o X, monol\u00edtico, tinha uma disponibilidade de 99%, ou seja, ele est\u00e1 dispon\u00edvel em 99% do tempo de opera\u00e7\u00e3o em produ\u00e7\u00e3o. Numa arquitetura <em>microservices<\/em>, essa disponibilidade ir\u00e1 decair em decorr\u00eancia dos muitos servi\u00e7os que entram no processo.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por exemplo, se numa regra de neg\u00f3cio eu utilizo o servi\u00e7o X1 e esse chama X2 para complet\u00e1-la, teremos uma disponibilidade de 98% e n\u00e3o mais 99%.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Isso ocorre pelo fato de que as poss\u00edveis causas de uma indisponibilidade de X1 ocorrer\u00e3o tamb\u00e9m em X2, por\u00e9m de forma independente, ou seja, o fato de X1 estar dispon\u00edvel n\u00e3o garante necessariamente que X2 tamb\u00e9m esteja.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><a href=\"http:\/\/bit.ly\/2JS9hZn\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" class=\"wp-image-6405\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/CTA-Rodap\u00e9-Front-end-e-Back-end-3-1024x134.jpg\" alt=\"\" \/><\/a><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Conclus\u00e3o<\/strong>: usar microservices ou n\u00e3o?<\/h2>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" class=\"wp-image-5971\" src=\"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o.jpg\" alt=\"homem programando no computador\" srcset=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o.jpg 960w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o-150x84.jpg 150w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o-100x56.jpg 100w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o-600x338.jpg 600w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o-450x253.jpg 450w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o-300x169.jpg 300w, https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/programa\u00e7\u00e3o-768x432.jpg 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Longe de mim ser contra <em>microservices<\/em>, n\u00e3o \u00e9 essa a inten\u00e7\u00e3o desse post. N\u00e3o se trata, na verdade, de ser contra ou de ser a favor, pois \u00e9 poss\u00edvel ser os dois, dependendo da situa\u00e7\u00e3o.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">\u00c9 maravilhoso ter cada vez mais abordagens novas de arquitetura surgindo e, no caso de <em>microservices<\/em>, est\u00e1 mais do que comprovado que h\u00e1 benef\u00edcios, e muitos!<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Por\u00e9m, ele pode ter s\u00e9rios efeitos colaterais se n\u00e3o for usado com senso cr\u00edtico e prud\u00eancia. A inten\u00e7\u00e3o do post foi justamente conscientizar o leitor disso ao alistar alguns dos pontos de aten\u00e7\u00e3o que considero importante.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">Resumindo: n\u00e3o h\u00e1 bala de prata. \u00c9 sempre importante ter prud\u00eancia e an\u00e1lise cr\u00edtica ao se conhecer novas t\u00e9cnicas, arquiteturas ou tecnologias. E <em>microservices <\/em>pode ser realmente algo sensacional, se voc\u00ea fizer isso.<\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\"><em>Artigo original retirado do site <\/em><strong><a href=\"https:\/\/tecnificando.wordpress.com\/2019\/05\/10\/microservices-e-o-perigo-das-modinhas\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"tecnificando (abre numa nova aba)\"><em>tecnificando<\/em><\/a><\/strong><em> e postado com autoriza\u00e7\u00e3o do autor.<\/em><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>A modinha do momento se chama microservices. Quando devs ouvem essa palavrinha m\u00e1gica, os olhos brilham. Cada dia mais, esse tem se tornado um dos assuntos centrais em palestras, eventos, v\u00eddeos, cursos e afins. Empresas altamente admiradas, como a Netflix por exemplo, tem aplicado essa arquitetura, e isso inspira muitos a tamb\u00e9m querer aplic\u00e1-la. O [&hellip;]<\/p>\n","protected":false},"author":167,"featured_media":5997,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-5959","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimiento-de-software"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Microservices e o perigo das \u201cmodinhas\u201d - Blog Geekhunter<\/title>\n<meta name=\"description\" content=\"Nesse artigo explicamos as vantagens e desvantagens do uso de microservi\u00e7os. N\u00e3o sabe se deve usar no seu projeto? Leia nosso artigo!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Microservices e o perigo das \u201cmodinhas\u201d\" \/>\n<meta property=\"og:description\" content=\"A modinha do momento se chama microservices. Quando devs ouvem essa palavrinha m\u00e1gica, os olhos brilham. Cada dia mais, esse tem se tornado um dos\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Geekhunter\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/geekhunterbr\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-28T14:12:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-13T21:40:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Geekhunter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:site\" content=\"@geekhunterbr\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Geekhunter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/\"},\"author\":{\"name\":\"Geekhunter\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\"},\"headline\":\"Microservices e o perigo das \u201cmodinhas\u201d\",\"datePublished\":\"2025-02-28T14:12:23+00:00\",\"dateModified\":\"2025-03-13T21:40:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/\"},\"wordCount\":2186,\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg\",\"articleSection\":[\"Desenvolvimiento de software\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/\",\"name\":\"Microservices e o perigo das \u201cmodinhas\u201d - Blog Geekhunter\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg\",\"datePublished\":\"2025-02-28T14:12:23+00:00\",\"dateModified\":\"2025-03-13T21:40:22+00:00\",\"description\":\"Nesse artigo explicamos as vantagens e desvantagens do uso de microservi\u00e7os. N\u00e3o sabe se deve usar no seu projeto? Leia nosso artigo!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/microservices-e-o-perigo-das-modinhas\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2019\\\/07\\\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg\",\"width\":2560,\"height\":1707,\"caption\":\"blocos de um predio alto\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/microservices-e-o-perigo-das-modinhas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mundo TI\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Desenvolvimiento de software\",\"item\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/category\\\/mundo-ti\\\/desenvolvimiento-de-software\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Microservices e o perigo das \u201cmodinhas\u201d\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"name\":\"Blog de TI\",\"description\":\"Dicas para o RH e profissionais da \u00e1rea TI\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#organization\",\"name\":\"GeekHunter\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"contentUrl\":\"https:\\\/\\\/www.geekhunter.com/pt/blog\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/icon-1.png\",\"width\":300,\"height\":300,\"caption\":\"GeekHunter\"},\"image\":{\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/x.com\\\/geekhunterbr\",\"https:\\\/\\\/www.instagram.com\\\/geekhunterbr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/geekhunter-brasil\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@GeekHunterOfficial\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/#\\\/schema\\\/person\\\/9f62b173345139f7bbdaf55312c3d400\",\"name\":\"Geekhunter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g\",\"caption\":\"Geekhunter\"},\"url\":\"https:\\\/\\\/www.geekhunter.com\\\/pt\\\/blog\\\/author\\\/matias\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Microservices e o perigo das \u201cmodinhas\u201d - Blog Geekhunter","description":"Nesse artigo explicamos as vantagens e desvantagens do uso de microservi\u00e7os. N\u00e3o sabe se deve usar no seu projeto? Leia nosso artigo!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/","og_locale":"pt_BR","og_type":"article","og_title":"Microservices e o perigo das \u201cmodinhas\u201d","og_description":"A modinha do momento se chama microservices. Quando devs ouvem essa palavrinha m\u00e1gica, os olhos brilham. Cada dia mais, esse tem se tornado um dos","og_url":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/","og_site_name":"Blog Geekhunter","article_publisher":"https:\/\/www.facebook.com\/geekhunterbr\/","article_published_time":"2025-02-28T14:12:23+00:00","article_modified_time":"2025-03-13T21:40:22+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg","type":"image\/jpeg"}],"author":"Geekhunter","twitter_card":"summary_large_image","twitter_creator":"@geekhunterbr","twitter_site":"@geekhunterbr","twitter_misc":{"Escrito por":"Geekhunter","Est. tempo de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#article","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/"},"author":{"name":"Geekhunter","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400"},"headline":"Microservices e o perigo das \u201cmodinhas\u201d","datePublished":"2025-02-28T14:12:23+00:00","dateModified":"2025-03-13T21:40:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/"},"wordCount":2186,"publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg","articleSection":["Desenvolvimiento de software"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/","name":"Microservices e o perigo das \u201cmodinhas\u201d - Blog Geekhunter","isPartOf":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#primaryimage"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg","datePublished":"2025-02-28T14:12:23+00:00","dateModified":"2025-03-13T21:40:22+00:00","description":"Nesse artigo explicamos as vantagens e desvantagens do uso de microservi\u00e7os. N\u00e3o sabe se deve usar no seu projeto? Leia nosso artigo!","breadcrumb":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.geekhunter.com/pt/blog\/microservices-e-o-perigo-das-modinhas\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#primaryimage","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2019\/07\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2019\/07\/constant-loubier-4tF8ZAMUE1g-unsplash-min.jpg","width":2560,"height":1707,"caption":"blocos de um predio alto"},{"@type":"BreadcrumbList","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/microservices-e-o-perigo-das-modinhas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.geekhunter.com/pt/blog\/"},{"@type":"ListItem","position":2,"name":"Mundo TI","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/"},{"@type":"ListItem","position":3,"name":"Desenvolvimiento de software","item":"https:\/\/www.geekhunter.com/pt/blog\/category\/mundo-ti\/desenvolvimiento-de-software\/"},{"@type":"ListItem","position":4,"name":"Microservices e o perigo das \u201cmodinhas\u201d"}]},{"@type":"WebSite","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#website","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","name":"Blog de TI","description":"Dicas para o RH e profissionais da \u00e1rea TI","publisher":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.geekhunter.com/pt/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#organization","name":"GeekHunter","url":"https:\/\/www.geekhunter.com\/pt\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.geekhunter.com\/pt\/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","contentUrl":"https:\/\/www.geekhunter.com/pt/blog\/wp-content\/uploads\/2024\/10\/icon-1.png","width":300,"height":300,"caption":"GeekHunter"},"image":{"@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/geekhunterbr\/","https:\/\/x.com\/geekhunterbr","https:\/\/www.instagram.com\/geekhunterbr\/","https:\/\/www.linkedin.com\/company\/geekhunter-brasil\/","https:\/\/www.youtube.com\/@GeekHunterOfficial"]},{"@type":"Person","@id":"https:\/\/www.geekhunter.com\/pt\/blog\/#\/schema\/person\/9f62b173345139f7bbdaf55312c3d400","name":"Geekhunter","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/09a0f76de8cf1fa3621f8b73417ce43344b42e1324a07a9af24f57c5eef49840?s=96&d=mm&r=g","caption":"Geekhunter"},"url":"https:\/\/www.geekhunter.com\/pt\/blog\/author\/matias\/"}]}},"_links":{"self":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/5959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/comments?post=5959"}],"version-history":[{"count":0,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/posts\/5959\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media\/5997"}],"wp:attachment":[{"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/media?parent=5959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/categories?post=5959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geekhunter.com/pt/blog\/wp-json\/wp\/v2\/tags?post=5959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}