{"id":1768,"date":"2014-04-05T23:49:39","date_gmt":"2014-04-06T02:49:39","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=1768"},"modified":"2014-04-05T23:49:39","modified_gmt":"2014-04-06T02:49:39","slug":"repensando-micro-servicos-microservices","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=1768","title":{"rendered":"Repensando micro servi\u00e7os (microservices)"},"content":{"rendered":"<p>A quest\u00e3o dos micro servi\u00e7os ainda me acompanha. Desde a publica\u00e7\u00e3o do meu <a href=\"https:\/\/devkico.itexto.com.br\/?p=1755\">\u00faltimo post<\/a> sobre o assunto venho recebendo feedback de diversas pessoas al\u00e9m de ter entrado em contato com tantas outras. Com a mente um pouco mais clara (ao menos espero) chegou a hora de expor minhas conclus\u00f5es correntes sobre o assunto.<\/p>\n<h2>A grande quest\u00e3o: \u00e9 SOA?<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1771\" alt=\"soa\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/soa.jpg\" width=\"250\" height=\"141\" \/><\/p>\n<p>A conclus\u00e3o que cheguei \u00e9 quase \u00f3bvia: sim e com poucas novidades. Algu\u00e9m que me influenciou fortemente este ponto foi Steve Jones em um dos seus <a href=\"http:\/\/service-architecture.blogspot.co.uk\/2014\/03\/microservices-is-soa-for-those-who-know.html\">posts <\/a>(a prop\u00f3sito,\u00a0<a href=\"http:\/\/service-architecture.blogspot.co.uk\/\"><strong>excelente blog<\/strong><\/a>). Outra fonte muito importante foi o modelo de refer\u00eancia SOA desenvolvido pelo OASIS em 2006 que voc\u00ea pode baixar <a href=\"https:\/\/www.oasis-open.org\/committees\/download.php\/19679\/soa-rm-cs.pdf\">aqui<\/a>.<\/p>\n<p>O modelo de refer\u00eancia do OASIS \u00e9 um documento bastante \u00e1rido mas que lido com aten\u00e7\u00e3o nos fornece um s\u00f3lido conceitual para entender, de fato, o que \u00e9 SOA.<\/p>\n<h3>O que \u00e9 SOA?<\/h3>\n<p>Citando o modelo de refer\u00eancia do OASIS, SOA seria<\/p>\n<blockquote><p>(&#8230;) um paradigma que visa organizar e usar funcionalidades (capabilities) distribu\u00eddas que <strong>podem<\/strong>\u00a0pertencer a distintos donos (<em>ownership domains<\/em>). Prov\u00ea uma maneira uniforme de oferecer, descobrir e interagir e usar as funcionalidades visando gerar<strong> efeitos no mundo real<\/strong> de forma consistente com as expectativas dos consumidores e <strong>de forma mensur\u00e1vel<\/strong>.&#8221; (<a href=\"https:\/\/www.oasis-open.org\/committees\/download.php\/19679\/soa-rm-cs.pdf\">Reference Model for Service Oriented Architecture 1.0<\/a>, linhas 863-867)<\/p><\/blockquote>\n<p>H\u00e1 um conceitual muito importante (e interessante) neste documento que \u00e9 importante divulgar aqui. O que \u00e9 um\u00a0<strong>efeito no mundo real<\/strong>? \u00c9 o resultado do uso de um servi\u00e7o por um cliente que gera a altera\u00e7\u00e3o no estado compartilhado entre este e seu consumidor e outras entidades que perten\u00e7am ao mesmo dom\u00ednio.<\/p>\n<p>Imagine um sistema de compras online: h\u00e1 mais de um servi\u00e7o interagindo, como, por exemplo, operador de cart\u00e3o de cr\u00e9dito, estoque, etc. Ao finalizar uma compra, o estado compartilhado por todos estes participantes ser\u00e1 alterado: a conta do comprador ter\u00e1 um valor abatido e o estoque ter\u00e1 sua quantidade reduzida. O mundo se alterou: o estado interno do servi\u00e7o n\u00e3o faz parte do mundo real (algo interessante para pensar hoje na hora de dormir). Este \u00e9 o primeiro dos tr\u00eas conceitos fundamentais de SOA neste modelo de refer\u00eancia:\u00a0<strong>efeito<\/strong>.<\/p>\n<p>E o que \u00e9 um servi\u00e7o dentro deste conceitual? Segundo o modelo de refer\u00eancia, um servi\u00e7o seria o mecanismo que permite acessar as funcionalidades (<em>capability<\/em>)\u00a0que interessam o consumidor. Momento loop: o que \u00e9 uma funciondalidae (<em>capability<\/em>)? \u00c9 um efeito no mundo real provido por um servi\u00e7o. O provedor de um servi\u00e7o deve sempre oferecer duas informa\u00e7\u00f5es aos interessados em interagir com este:<\/p>\n<ul>\n<li>O modelo de dados e comportamento exposto atrav\u00e9s de sua interface.<\/li>\n<li>A informa\u00e7\u00e3o m\u00ednima para que o interessado em seu uso saiba que est\u00e1 usando o servi\u00e7o certo para suas necessidades.<\/li>\n<\/ul>\n<p>Estas informa\u00e7\u00f5es s\u00e3o fundamentais para que o\u00a0<strong>servi\u00e7o possa ser descoberto<\/strong>. Ainda mais importante: \u00e9 tamb\u00e9m interessante que o consumidor do servi\u00e7o tamb\u00e9m se apresente, assim torna-se f\u00e1cil descobrir quem supre a necessidade de quem. Este \u00e9 o segundo dos tr\u00eas conceitos fundamentais de SOA neste modelo de refer\u00eancia:\u00a0<strong>visibilidade<\/strong> (se\u00e7\u00e3o 3.2.1 do modelo de refer\u00eancia).<\/p>\n<p>Finalmente, n\u00e3o faria sentido termos todos estes servi\u00e7os isolados. Faz-se necess\u00e1rio que estes interajam de alguma maneira. No caso, pode ser tanto como troca de mensagens, como tamb\u00e9m alterando o estado de um recurso compartilhado (como um banco de dados) ou mesmo atrav\u00e9s de chamadas HTTP (REST). Para que SOA se consolide, faz-se necess\u00e1rio que o terceiro conceito fundamental se manifeste:\u00a0<strong>intera\u00e7\u00e3o.\u00a0<\/strong><\/p>\n<p>H\u00e1 alguns pontos interessantes neste documento. <em>Busque por ESB e voc\u00ea n\u00e3o encontrar\u00e1 men\u00e7\u00e3o alguma<\/em>. \u00c9 dito apenas que os servi\u00e7os <strong>devam ser vis\u00edveis<\/strong>, exatamente como \u00e9 dito na literatura sobre micro servi\u00e7os. Outro ponto importante: vemos tamb\u00e9m que pela mensageria ou REST j\u00e1 ter\u00edamos uma intera\u00e7\u00e3o bem definida. Ainda mais bacana, como no caso dos micro servi\u00e7os temos um sistema no qual todos j\u00e1 est\u00e3o por padr\u00e3o no mesmo dom\u00ednio, temos efeitos no mundo real o tempo inteiro.<\/p>\n<p>Interessante que se voc\u00ea ler novamente o texto de <a href=\"http:\/\/martinfowler.com\/articles\/microservices.html\">Martin Fowler e James Lewis<\/a>\u00a0sobre micro servi\u00e7os e logo em seguida o<a href=\"https:\/\/www.oasis-open.org\/committees\/download.php\/19679\/soa-rm-cs.pdf\"> modelo de refer\u00eancia OASIS<\/a> ver\u00e1 que o primeiro \u00e9 na realidade uma ves\u00e3o agrad\u00e1vel do segundo.<\/p>\n<p>Ent\u00e3o, temos aqui SOA novamente, mas o modo de aplica\u00e7\u00e3o \u00e9 distinto. A principal diferen\u00e7a que vejo \u00e9 a aus\u00eancia do ESB e tamb\u00e9m o fato de os servi\u00e7os se conhecerem a priori. Como menciono no meu primeiro post sobre o assunto, acredito que conforme o sistema cres\u00e7a um ESB ou diret\u00f3rio de servi\u00e7os acabar\u00e1 surgindo novamente, o que pode acabar com o prefixo &#8220;micro&#8221;.<\/p>\n<h2>&#8220;Produtos, n\u00e3o projetos&#8221; \u00e9 invi\u00e1vel<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1772\" alt=\"product\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/product.jpg\" width=\"253\" height=\"199\" \/><\/p>\n<p>Outro ponto interessante nesta discuss\u00e3o sobre micro servi\u00e7os \u00e9 o conceito de <a href=\"http:\/\/martinfowler.com\/articles\/microservices.html#ProductsNotProjects\">produtos, e nao projetos<\/a>. A id\u00e9ia \u00e9 simples: a equipe seria dividida em funcionalidades. Ent\u00e3o eu seria respons\u00e1vel pelo servi\u00e7o A e voc\u00ea pelo B, e esta seria nossa \u00fanica responsabilidade. Lindo n\u00e9? O problema \u00e9 que n\u00e3o vai funcionar por um motivo bastante simples: voc\u00ea n\u00e3o quer ociosidade entre os seus funcion\u00e1rios.<\/p>\n<p>Devemos ficar inativos enquanto n\u00e3o houver necessidade de altera\u00e7\u00e3o em nossos servi\u00e7os? Ou ser\u00e1 que na pr\u00e1tica n\u00e3o iriamos simplesmente passear entre os servi\u00e7os? Acredito que o passeio n\u00e3o \u00e9 s\u00f3 consequencia, mas tamb\u00e9m necessidade. Ainda mais se levarmos em considera\u00e7\u00e3o que em equipes \u00e1geis o conhecimento do todo se mostra fundamental.<\/p>\n<p>Pode at\u00e9 ser vi\u00e1vel em alguns lugares, mas acredito que seja apenas em\u00a0<strong>alguns<\/strong> lugares ou situa\u00e7\u00f5es nas quais os servi\u00e7os ter\u00e3o evolu\u00e7\u00e3o constante e cont\u00ednua.<\/p>\n<h2>SOA pode significar v\u00e1rias coisas? N\u00e3o.<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1773\" alt=\"multiplas_coisas\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/multiplas_coisas.jpg\" width=\"250\" height=\"185\" \/><\/p>\n<p>O artigo de Fowler e Lewis sobre micro servi\u00e7os depois recebeu um box entitulado &#8220;<a href=\"http:\/\/martinfowler.com\/articles\/microservices.html#MicroservicesAndSoa\">Microservices and SOA<\/a>&#8221; que n\u00e3o ir\u00e1 lhe responder se micro servi\u00e7os s\u00e3o ou n\u00e3o uma forma de SOA: apenas lhe dir\u00e1 que h\u00e1 pessoas que dizem que sim e outras que dizem o contr\u00e1rio. O problema \u00e9 o argumento usado de que \u00a0&#8220;SOA pode significar v\u00e1rias coisas&#8221;. Papo furado.<\/p>\n<p>Ainda pior: se voc\u00ea reconhece que o p\u00fablico possu\u00ed dificuldade em saber a defini\u00e7\u00e3o de algo, por que se esquivar do problema e n\u00e3o simplesmente buscar popularizar o real significado do termo? Dada a imensa literatura existente sobre SOA hoje apontando para o mesmo significado dizer algo assim \u00e9 falso. A n\u00e3o ser, \u00e9 claro, que voc\u00ea queira vender o velho como se fosse algo novo, n\u00e3o \u00e9 mesmo?<\/p>\n<p>(uma das pessoas que comentou o post de Steve Jones sobre SOA e Micro servi\u00e7os aponta para o fato de que Fowler e Lewis inclusive<a href=\"https:\/\/www.blogger.com\/comment.g?blogID=11168006&amp;postID=6254101319446335178\"> cometeram uma fal\u00e1cia grave neste ponto<\/a>. (<a href=\"https:\/\/yourlogicalfallacyis.com\/the-fallacy-fallacy\">esta<\/a> \u00e9 a fal\u00e1cia))<\/p>\n<p>Digo mais: se quisermos ser levados a s\u00e9rio temos de evitar esta postura. Pouco tempo atr\u00e1s mencionei um exemplo similar neste blog ao falar sobre <a href=\"https:\/\/devkico.itexto.com.br\/?p=1698\">tempo real<\/a>. Indo al\u00e9m, se algo &#8220;significa v\u00e1rias coisas&#8221; \u00e9 por que temos na realidade uma\u00a0<strong>classifica\u00e7\u00e3o<\/strong>\u00a0e n\u00e3o um objeto disforme. Exemplo: a palavra animal pode significar v\u00e1rias coisas a um distra\u00eddo, como coelho, cachorro, homem, etc. No entanto, sei que\u00a0<em>animal<\/em> \u00e9 uma classe que cont\u00e9m subdivis\u00f5es, cada uma destas apontando para um <strong>tipo de animal diferente.<\/strong><\/p>\n<p>O mesmo acredito que ocorra com SOA. H\u00e1 o conceito fundamental de SOA, aquele apresentado no modelo de refer\u00eancia que citei acima. E h\u00e1 as diferentes formas nas quais este \u00e9 implementado, o que geraria uma subclassifica\u00e7\u00e3o. Uma destas classifica\u00e7\u00f5es prov\u00e1velmente ser\u00e1 a de micro servi\u00e7os.<\/p>\n<h2>Micro servi\u00e7os s\u00e3o uma rea\u00e7\u00e3o<\/h2>\n<p>A impress\u00e3o que tenho neste momento \u00e9 que micro servi\u00e7os s\u00e3o uma rea\u00e7\u00e3o ao modo predominante que vimos SOA ser aplicado (usando ESBs). Algo muito similar ao que vimos com a populariza\u00e7\u00e3o do REST, que era uma resposta aos webservices baseados em SOAP.<\/p>\n<p>\u00c9 uma maneira de implementar o SOA com menos elementos e de uma forma mais &#8220;light&#8221; removendo o ESB e tornando os micro servi\u00e7os.<\/p>\n<p>(perguntei ao Steve Jones se micro servi\u00e7os podem ser vistos com uma rea\u00e7\u00e3o ao SOA tradicional. A sua resposta foi bastante interessante e pode ser lida neste <a href=\"https:\/\/www.blogger.com\/comment.g?blogID=11168006&amp;postID=6254101319446335178\">link<\/a>)<\/p>\n<p>&nbsp;<\/p>\n<h2>SOA \u00e9 para integrar sistemas e micro servi\u00e7os para integrar componentes de um mesmo sistema? N\u00e3o.<\/h2>\n<p>Em uma discuss\u00e3o muito interessante e rica com um colega sobre o assunto foi levantado o seguinte ponto:<\/p>\n<blockquote><p>&#8220;SOA n\u00e3o \u00e9 uma arquitetura para desenvolvimento de sistemas mas sim para integra\u00e7\u00e3o entre sistemas distintos ao contr\u00e1rio de micro servi\u00e7os que s\u00e3o uma solu\u00e7\u00e3o para o modo como interagem sistemas de uma mesma aplica\u00e7\u00e3o.&#8221;<\/p><\/blockquote>\n<p>Antes de mais nada \u00e9 muito importante sempre nos lembrarmos o que o &#8220;A&#8221; de SOA significa: Arquitetura. Quando estou integrando diferentes sistemas estou na realidade criando e projetando um novo sistema. \u00a0A diferen\u00e7a \u00e9 que os componentes podem n\u00e3o pertencer ao mesmo dom\u00ednio de propriedade.<\/p>\n<p>Mais que isto: \u00e9 importante salientar que nem toda integra\u00e7\u00e3o \u00e9 SOA. Se integro meu site com o PagSeguro, por exemplo, ser\u00e1 que poderia dizer estar eu implementando um SOA? E se eu defino que todos os sistemas da minha empresa ir\u00e3o expor uma API REST, \u00e9 SOA?<\/p>\n<p>Indo al\u00e9m: observando o modo como SOA \u00e9 implantado em diversas empresas vemos que estamos na realidade criando um sistema composto por diversos outros sistemas, todos eles pertencentes a um mesmo dom\u00ednio de posse, ou seja, \u00a0\u00e0 uma mesma empresa. De novo, algo muito similar ao descrito na arquitetura de micro servi\u00e7os hein? (de novo a mesma coisa)<\/p>\n<p>Ent\u00e3o, n\u00e3o: SOA n\u00e3o \u00e9 apenas uma estrat\u00e9gia de integra\u00e7\u00e3o, mas sim uma estrat\u00e9gia arquitetural na modelagem de sistemas. Especialmente se formos levar em quest\u00e3o que o analista SOA tamb\u00e9m faz a an\u00e1lise dos processos de neg\u00f3cios internos do cliente. De novo, olha o projeto de sistemas a\u00ed.<\/p>\n<h2>ESB \u00e9 algo maligno? N\u00e3o.<\/h2>\n<p>Em algumas discuss\u00f5es vi emergir a impress\u00e3o de que ESBs seriam algo maligno. Discordo: o maligno \u00e9 o mal uso da ferramenta. Ali\u00e1s, \u00e9 interessante observar que Fowler e Lewis em seu box &#8220;Microservices and SOA&#8221; terminam com uma postura nesta dire\u00e7\u00e3o ao dizerem que &#8220;talvez micro servi\u00e7os sejam SOA feito direito&#8221;, baseando-se no fato de terem vistos diversos projetos baseados em ESB fracassarem.<\/p>\n<p>Eles se esqueceram de algo b\u00e1sico: ver uma estrat\u00e9gia fracassando algumas vezes n\u00e3o quer dizer que esta sempre ir\u00e1 falhar, mas sim que temos um ind\u00edcio de que pode ter sido mal aplicada.<\/p>\n<h2>Conclus\u00f5es<\/h2>\n<p>Estes foram os principais pontos que enfrentei ao me questionar a respeito dos micro servi\u00e7os. O mais importante na minha opini\u00e3o \u00e9 o reconhecimento de que micro servi\u00e7os s\u00e3o na realidade uma outra estrat\u00e9gia na aplica\u00e7\u00e3o do SOA.<\/p>\n<p>Acredito que pensar de forma distinta, vendo micro servi\u00e7os como algo completamente distinto equivale a jogar fora anos de experi\u00eancia na aplica\u00e7\u00e3o do SOA. Todo este conhecimento (especialmente a respeito do que n\u00e3o funciona) deveria ser mais valorizado na minha opini\u00e3o.<\/p>\n<p>Pode ser que eu mude de id\u00e9ia no futuro. Isto, claro, ir\u00e1 depender muito das opini\u00f5es de voc\u00eas a este respeito. E voc\u00ea, passada esta semana, o que pensa a respeito dos micro servi\u00e7os?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A quest\u00e3o dos micro servi\u00e7os ainda me acompanha. Desde a publica\u00e7\u00e3o do meu \u00faltimo post sobre o assunto venho recebendo feedback de diversas pessoas al\u00e9m de ter entrado em contato com tantas outras. Com a mente um pouco mais clara (ao menos espero) chegou a hora de expor minhas conclus\u00f5es correntes sobre o assunto.<\/p>\n","protected":false},"author":1,"featured_media":1769,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[36],"tags":[],"class_list":["post-1768","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-desenvolvimento-de-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Repensando micro servi\u00e7os (microservices) - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=1768\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Repensando micro servi\u00e7os (microservices) - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"A quest\u00e3o dos micro servi\u00e7os ainda me acompanha. Desde a publica\u00e7\u00e3o do meu \u00faltimo post sobre o assunto venho recebendo feedback de diversas pessoas al\u00e9m de ter entrado em contato com tantas outras. Com a mente um pouco mais clara (ao menos espero) chegou a hora de expor minhas conclus\u00f5es correntes sobre o assunto.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=1768\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2014-04-06T02:49:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"225\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1768\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=1768\",\"name\":\"Repensando micro servi\u00e7os (microservices) - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1768#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1768#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg\",\"datePublished\":\"2014-04-06T02:49:39+00:00\",\"dateModified\":\"2014-04-06T02:49:39+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1768#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=1768\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1768#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg\",\"width\":300,\"height\":225,\"caption\":\"Recomendo que voc\u00ea leia meu \u00faltimo post\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1768#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Repensando micro servi\u00e7os (microservices)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Repensando micro servi\u00e7os (microservices) - \/dev\/Kico","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:\/\/devkico.itexto.com.br\/?p=1768","og_locale":"pt_BR","og_type":"article","og_title":"Repensando micro servi\u00e7os (microservices) - \/dev\/Kico","og_description":"A quest\u00e3o dos micro servi\u00e7os ainda me acompanha. Desde a publica\u00e7\u00e3o do meu \u00faltimo post sobre o assunto venho recebendo feedback de diversas pessoas al\u00e9m de ter entrado em contato com tantas outras. Com a mente um pouco mais clara (ao menos espero) chegou a hora de expor minhas conclus\u00f5es correntes sobre o assunto.","og_url":"https:\/\/devkico.itexto.com.br\/?p=1768","og_site_name":"\/dev\/Kico","article_published_time":"2014-04-06T02:49:39+00:00","og_image":[{"width":300,"height":225,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg","type":"image\/jpeg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=1768","url":"https:\/\/devkico.itexto.com.br\/?p=1768","name":"Repensando micro servi\u00e7os (microservices) - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1768#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1768#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg","datePublished":"2014-04-06T02:49:39+00:00","dateModified":"2014-04-06T02:49:39+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1768#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=1768"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=1768#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg","width":300,"height":225,"caption":"Recomendo que voc\u00ea leia meu \u00faltimo post"},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=1768#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Repensando micro servi\u00e7os (microservices)"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/04\/les-voyages-de-gulliver-photo-8.jpg","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1768"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1768"}],"version-history":[{"count":6,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1768\/revisions"}],"predecessor-version":[{"id":1778,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1768\/revisions\/1778"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/1769"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}