{"id":1870,"date":"2014-06-28T09:00:40","date_gmt":"2014-06-28T12:00:40","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=1870"},"modified":"2014-06-29T08:39:40","modified_gmt":"2014-06-29T11:39:40","slug":"o-que-nao-te-dizem-sobre-performance-e-escalabilidade","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=1870","title":{"rendered":"O que n\u00e3o te dizem sobre performance e escalabilidade"},"content":{"rendered":"<p>J\u00e1 reparou que a maior parte das conversas que envolvam as palavras &#8220;performance&#8221; e &#8220;escalabilidade&#8221; terminam no v\u00e1cuo? \u00a0Normalmente a certeza v\u00eam quando topo com perguntas do tipo: &#8220;X \u00e9 r\u00e1pido?&#8221;, &#8220;X \u00e9 mais r\u00e1pido que Y?&#8221;, &#8220;X escala?&#8221;, &#8220;Quem escala melhor, X ou Y?&#8221;. H\u00e1 aus\u00eancias\u00a0nestas perguntas sobre as quais quero falar aqui.<\/p>\n<h2>Primeira aus\u00eancia: o referencial<\/h2>\n<p>As perguntas que citei\u00a0acima s\u00e3o incompletas por que n\u00e3o nos dizem qual o objetivo. Meu c\u00f3digo precisa ser r\u00e1pido para atingir uma meta. Por exemplo: sei que este blog ir\u00e1 receber X acessos\/dia. Qual plataforma consegue isto da\u00a0melhor forma poss\u00edvel?<\/p>\n<p>O assustador\u00a0\u00e9\u00a0a imensa bibliografia existente hoje que n\u00e3o inclui referencial algum. N\u00e3o sei se j\u00e1 repararam, mas toda nova plataforma de desenvolvimento que surge se vende como a mais r\u00e1pida, mais eficiente, mais escal\u00e1vel, mas simplesmente n\u00e3o te dizem pra que. Vou lidar com dados textuais, Perl \u00e9 excelentemente perform\u00e1tico, mas ser\u00e1 que pra lidar com transa\u00e7\u00f5es tamb\u00e9m? Pense um pouco: por que n\u00e3o te mostram estes referenciais quando surge algo novo? Te respondo: por que reduz a aplicabilidade do que est\u00e1 sendo oferecido. Simples assim.<\/p>\n<h2>Segunda aus\u00eancia: o referencial\u00a0que represente minha realidade<\/h2>\n<p>E a\u00ed eu topo com benchmarks que parecem lindos em um primeiro momento (especialmente quando usados para justificar a sua escolha), mas que ao levarmos para o mundo real, ou seja, o seu dia a dia, n\u00e3o significam coisa alguma.<\/p>\n<p>Como \u00e9 a sua realidade? Aposto que n\u00e3o faz parte dela ficar implementando algoritmos de solu\u00e7\u00e3o de sudokus, fibonacci, etc. Tamb\u00e9m aposto que seus sistemas n\u00e3o s\u00e3o compostos por uma \u00fanica tabela na qual fica inserindo registros rand\u00f4micos. \u00c9? Se for, que mundo interessante este no qual vive hein?<\/p>\n<p>Referenciais significativos dizem respeito ao problema que voc\u00ea precisa resolver.\u00a0Imagine que seu objetivo \u00e9 desenvolver um sistema de envio de spam. No que um algoritmo de Fibonacci influencia seu trabalho? O que te interessa \u00e9 ter um servidor de envio de e-mails de alto desempenho.<\/p>\n<h2>Terceira aus\u00eancia: benchmarks\u00a0honestos<\/h2>\n<p>A maior parte dos benchmarks que encontro na Internet s\u00e3o desonestos, talvez por que\u00a0quem os escreve apenas acha que sabe sobre o que est\u00e1 falando. Vou dar dois exemplos comuns.<\/p>\n<p>Benchmarks de SGBDs, especialmente os que comparam bases relacionais e n\u00e3o relacionais: como voc\u00ea vai comparar ma\u00e7\u00e3s com laranjas? Pense no universo NoSQL: h\u00e1 in\u00fameros paradigmas ali como, por exemplo, baseado em documentos, chave-valor, grafos, colunares, etc. Cada um destes modelos \u00e9 criado objetivando resolver problemas diferentes. Nada mais natural que um SGBD chave-valor encontre um registro por identificador mais r\u00e1pido que um baseado em grafos, concorda? Se sim, qual a honestidade intelectual por tr\u00e1s de uma compara\u00e7\u00e3o entre o Neo4J e o Redis na busca por chave prim\u00e1ria?<\/p>\n<p>Benchmarks de linguagens de programa\u00e7\u00e3o: se voc\u00ea que est\u00e1 escrevendo o benchmark \u00e9 mais experiente na linguagem X, que garantia o leitor tem de que o c\u00f3digo escrito na\u00a0linguagem Y seja igualmente bem escrito? Ainda pior: voc\u00ea ir\u00e1 ver em in\u00fameros casos linguagens sendo levadas para contextos completamente diferentes daqueles para os quais foram criadas e consequentemente tirando os piores resultados nestes testes. Groovy para desenvolver sistemas hard real time?<\/p>\n<p>(n\u00e3o existe linguagem ou SGBD ruim, mas sim uso equivocado, o que n\u00e3o \u00e9 argumento suficiente para invalidar uma tecnologia)<\/p>\n<p>O benchmark \u00e9 honesto quando o escopo \u00e9 bem definido, os testes foram executados por pessoas que conhe\u00e7am a tecnologia e, ainda mais importante: que os participantes da compara\u00e7\u00e3o estejam todos sendo aplicados\u00a0em situa\u00e7\u00f5es nas quais se apliquem.<\/p>\n<h2>Quarta aus\u00eancia: diversidade<\/h2>\n<p>Esta aus\u00eancia se manifesta em perguntas deste tipo: &#8220;Kico, qual framework \u00e9 mais r\u00e1pido: X ou Y?&#8221;. O framework \u00e9 apenas um dos componentes do desenvolvimento\u00a0de uma solu\u00e7\u00e3o. Entram no projeto o SGBD(s), servidor de aplica\u00e7\u00f5es, sistema operacional, protocolos de comunica\u00e7\u00e3o, etc. A combina\u00e7\u00e3o de todos estes levam ao desempenho ideal para seu projeto, n\u00e3o um componente isolado.<\/p>\n<p>Exemplo de frase que j\u00e1 ouvi: &#8220;PHF (Power Hipster Framework)\u00a0\u00e9 de longe o framework que oferece maior escalabilidade no desenvolviento de aplica\u00e7\u00f5es web&#8221;. Ok: qual o SGBD usado? Qual o sistema operacional? Para qualquer tipo de aplica\u00e7\u00e3o web ou a interface web \u00e9 apenas um dos componentes do seu sistema?<\/p>\n<p>Para falar algo real sobre desempenho e escalabilidade, um elemento isolado nada diz. Tem de dizer tamb\u00e9m com o que a coisa se relaciona bem ou n\u00e3o.<\/p>\n<h2>Quinta aus\u00eancia: cases pr\u00f3ximos da minha realidade<\/h2>\n<p>Tem a ver com a segunda aus\u00eancia que citei, mas \u00e9 diferente. Aqui v\u00eam um exemplo: &#8220;Node.js \u00e9 excelente e voc\u00ea deve usar, pois o Linkedin usou e foi um sucesso&#8221;.<\/p>\n<p>Que bom que o Linkedin teve sucesso! Agora: seu sistema \u00e9 feito para resolver os mesmos problemas que o seu sistema?\u00a0Se voc\u00ea desenvolve um sistema de controle de estoque, por que prestar aten\u00e7\u00e3o em casos de sucesso do Google, Linkedin, Apple, etc? Voc\u00ea tem de olhar s\u00e3o cases de empresas como TOTVS que tamb\u00e9m desenvolvem sistemas parecidos com o seu.<\/p>\n<p>Quando ou\u00e7o falar de escalabilidade vejo muita bobagem sendo dita nestes comparativos. Uma coisa \u00e9 voc\u00ea resolver problemas que envolvam uma ou duas dezenas de servidores no m\u00e1ximo (99% dos casos voc\u00ea vai ter menos de dez). Outra completamente diferente lidar com centenas e milhares. E sabem o que \u00e9 mais legal? A solu\u00e7\u00e3o aplicada a milhares de n\u00f3s na maior parte das vezes n\u00e3o \u00e9 eficiente em pequena escala. :)<\/p>\n<p>Um case s\u00f3 faz sentido se o problema resolvido for o mesmo\u00a0ou pr\u00f3ximo\u00a0de voc\u00ea.<\/p>\n<h2>Sexta aus\u00eancia: fatores econ\u00f4micos<\/h2>\n<p>Deixei por \u00faltima a aus\u00eancia que considero ser a mais grave.\u00a0Quando falamos de desempenho e escalabilidade na realidade estamos tratando\u00a0de fatores econ\u00f4micos e duas das principais perguntas que devem estar por tr\u00e1s de todo projeto. O investimento inicial no projeto e implementa\u00e7\u00e3o da solu\u00e7\u00e3o vale \u00e0 pena (CAPEX)? O custo de manuten\u00e7\u00e3o e evolu\u00e7\u00e3o do sistema ap\u00f3s sua implementa\u00e7\u00e3o \u00e9 vi\u00e1vel (OPEX)?<\/p>\n<p>Vou lhes dar um exemplo real: em um mundo p\u00f3s cloud como o que temos hoje, no qual se paga por processamento, por que n\u00e3o implementamos nossos sistemas web inteiramente em C j\u00e1 que esta \u00e9 uma das linguagens mais eficientes j\u00e1 criadas?<\/p>\n<p>(ignore por um momento a raz\u00e3o de que n\u00e3o se deve ver o mundo inteiro como um prego s\u00f3 por que voc\u00ea s\u00f3 tem um martelo e a quarta raz\u00e3o que citei acima)<\/p>\n<p>Fiquei um bom tempo analisando esta possibilidade. Me parecia uma excelente id\u00e9ia de neg\u00f3cio. Por que n\u00e3o? A primeira raz\u00e3o \u00e9 que n\u00e3o h\u00e1 muitas op\u00e7\u00f5es de frameworks hoje para isto (eu poderia usar CGI, mas n\u00e3o valeria tanto \u00e0 pena) capazes de lidar com a complexidade deste tipo de projeto. Era grande a probabilidade de eu desenvolver meu pr\u00f3prio framework. Isto aumentaria o custo. Ainda pior: eu reinventaria a roda in\u00fameras vezes. \u00a0O custo era invi\u00e1vel.<\/p>\n<p>Outro exemplo: sua equipe \u00e9 ultra experiente com a linguagem X. Existe uma outra, digamos, Y, que seja mais eficiente para o seu problema. Ser\u00e1 que o custo de treinamento e adapta\u00e7\u00e3o da sua equipe compensa a mudan\u00e7a?<\/p>\n<p>A quinta aus\u00eancia cai aqui: os cases avaliados devem ser pr\u00f3ximos da sua capacidade financeira. Do que adianta se espelhar na Netflix que lida com data centers que voc\u00ea pode apenas sonhar?\u00a0A l\u00f3gica de custo n\u00e3o \u00e9 a mesma em qualquer escala. Os valores n\u00e3o crescem linearmente, mas curiosamente ningu\u00e9m fala disto, n\u00e3o \u00e9 mesmo?<\/p>\n<p>A m\u00e9trica\u00a0ideal para desempenho e escalabilidade se chama dinheiro. Quanto custa seu processamento mensal?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u00e1 reparou que a maior parte das conversas que envolvam as palavras &#8220;performance&#8221; e &#8220;escalabilidade&#8221; terminam no v\u00e1cuo? \u00a0Normalmente a certeza v\u00eam quando topo com perguntas do tipo: &#8220;X \u00e9 r\u00e1pido?&#8221;, &#8220;X \u00e9 mais r\u00e1pido que Y?&#8221;, &#8220;X escala?&#8221;, &#8220;Quem escala melhor, X ou Y?&#8221;. H\u00e1 aus\u00eancias\u00a0nestas perguntas sobre as quais quero falar aqui. Primeira [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1871,"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":[35,34],"tags":[],"class_list":["post-1870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-armadilhas","category-paideia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>O que n\u00e3o te dizem sobre performance e escalabilidade - \/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=1870\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que n\u00e3o te dizem sobre performance e escalabilidade - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"J\u00e1 reparou que a maior parte das conversas que envolvam as palavras &#8220;performance&#8221; e &#8220;escalabilidade&#8221; terminam no v\u00e1cuo? \u00a0Normalmente a certeza v\u00eam quando topo com perguntas do tipo: &#8220;X \u00e9 r\u00e1pido?&#8221;, &#8220;X \u00e9 mais r\u00e1pido que Y?&#8221;, &#8220;X escala?&#8221;, &#8220;Quem escala melhor, X ou Y?&#8221;. H\u00e1 aus\u00eancias\u00a0nestas perguntas sobre as quais quero falar aqui. Primeira [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=1870\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2014-06-28T12:00:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-06-29T11:39:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"634\" \/>\n\t<meta property=\"og:image:height\" content=\"351\" \/>\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=\"7 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=1870\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=1870\",\"name\":\"O que n\u00e3o te dizem sobre performance e escalabilidade - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1870#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1870#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg\",\"datePublished\":\"2014-06-28T12:00:40+00:00\",\"dateModified\":\"2014-06-29T11:39:40+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1870#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=1870\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1870#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg\",\"width\":634,\"height\":351},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1870#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"O que n\u00e3o te dizem sobre performance e escalabilidade\"}]},{\"@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":"O que n\u00e3o te dizem sobre performance e escalabilidade - \/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=1870","og_locale":"pt_BR","og_type":"article","og_title":"O que n\u00e3o te dizem sobre performance e escalabilidade - \/dev\/Kico","og_description":"J\u00e1 reparou que a maior parte das conversas que envolvam as palavras &#8220;performance&#8221; e &#8220;escalabilidade&#8221; terminam no v\u00e1cuo? \u00a0Normalmente a certeza v\u00eam quando topo com perguntas do tipo: &#8220;X \u00e9 r\u00e1pido?&#8221;, &#8220;X \u00e9 mais r\u00e1pido que Y?&#8221;, &#8220;X escala?&#8221;, &#8220;Quem escala melhor, X ou Y?&#8221;. H\u00e1 aus\u00eancias\u00a0nestas perguntas sobre as quais quero falar aqui. Primeira [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=1870","og_site_name":"\/dev\/Kico","article_published_time":"2014-06-28T12:00:40+00:00","article_modified_time":"2014-06-29T11:39:40+00:00","og_image":[{"width":634,"height":351,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.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":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=1870","url":"https:\/\/devkico.itexto.com.br\/?p=1870","name":"O que n\u00e3o te dizem sobre performance e escalabilidade - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1870#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1870#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg","datePublished":"2014-06-28T12:00:40+00:00","dateModified":"2014-06-29T11:39:40+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1870#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=1870"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=1870#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/06\/falsa_ferrari.jpg","width":634,"height":351},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=1870#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"O que n\u00e3o te dizem sobre performance e escalabilidade"}]},{"@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\/06\/falsa_ferrari.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\/1870"}],"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=1870"}],"version-history":[{"count":7,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1870\/revisions"}],"predecessor-version":[{"id":1882,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1870\/revisions\/1882"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/1871"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}