{"id":2626,"date":"2021-07-03T22:39:12","date_gmt":"2021-07-04T01:39:12","guid":{"rendered":"https:\/\/elemarjr.com\/arquiteturadesoftware\/?p=2626"},"modified":"2024-01-11T17:54:07","modified_gmt":"2024-01-11T20:54:07","slug":"as-origens-da-complexidade-apendice-d-v-1-0","status":"publish","type":"volume-1","link":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/","title":{"rendered":"As origens da complexidade \/ Ap\u00eandice D v 1.0"},"content":{"rendered":"<p><b>Em qualquer cen\u00e1rio, quanto maior a complexidade, maiores s\u00e3o os custos envolvidos.<\/b> Por isso, tanto na elabora\u00e7\u00e3o quanto na avalia\u00e7\u00e3o de <em>designs\u00a0<\/em>arquiteturais, onde geralmente se busca otimizar o custo &#8211; que \u00e9 um atributo de qualidade &#8211; \u00e9 natural \u00a0a busca pelo \u201cmais simples\u201d.<\/p>\n<p><b>A complexidade tem quatro origens gen\u00e9ricas distintas que devem ser combatidas ou, pelo menos, controladas. S\u00e3o elas: dimensionalidade, interdepend\u00eancia, influ\u00eancia do ambiente e irreversibilidade.<\/b><\/p>\n<h2>Dimensionalidade<\/h2>\n<p>Quanto maior o n\u00famero de vari\u00e1veis envolvidas, maior ser\u00e1 a dimensionalidade. Por isso, por exemplo, qualquer software com mais <i>features <\/i>se torna mais complexo. A cada novo processo na organiza\u00e7\u00e3o, menor a simplicidade. Toda exce\u00e7\u00e3o suportada aumenta o custo.<\/p>\n<p>Em uma arquitetura monol\u00edtica, mais c\u00f3digo significa mais complexidade para desenvolvedores. Em uma arquitetura baseada em microsservi\u00e7os, mais artefatos para distribuir, independentemente, significa mais complexidade para a opera\u00e7\u00e3o.<strong> \u00c9 parte das pr\u00e1ticas de arquitetura determinar onde dimensionalidade maior representa mais problemas. Entretanto, dimensionalidade \u00e9 uma fonte imposs\u00edvel de evitar em definitivo.<\/strong><\/p>\n<h2>Interdepend\u00eancia<\/h2>\n<p><b>Opera\u00e7\u00f5es interdependentes demandam mais sincroniza\u00e7\u00e3o.<\/b> N\u00e3o raro, a indisponibilidade de um recurso impossibilita o uso de outro, aparentemente n\u00e3o relacionado. \u00c9 bastante comum que uma performance mais pobre de uma parte de um sistema deixe ele todo \u201clento\u201d.<\/p>\n<p>A interdepend\u00eancia \u00e9 &#8220;afrouxada&#8221; pela utiliza\u00e7\u00e3o de t\u00e9cnicas resilientes e ado\u00e7\u00e3o de abstra\u00e7\u00f5es.<\/p>\n<h2>Influ\u00eancia do ambiente<\/h2>\n<p>Sistemas mais \u201csens\u00edveis\u201d ao ambiente tamb\u00e9m s\u00e3o mais complexos. Afinal, demandam planejamento de conting\u00eancias e <i>workarounds<\/i>.<\/p>\n<p>Falhas em sistemas remotos n\u00e3o raro se convertem em defeitos no sistema em desenvolvimento. Al\u00e9m disso, bem poucas companhias exercem grande influ\u00eancia suficiente no ambiente que operam para mitigar impactos sobre os sistemas (rela\u00e7\u00f5es conformistas).<\/p>\n<h2>Irreversibilidade<\/h2>\n<p>Decis\u00f5es irrevers\u00edveis implicam em mais planejamento, cuidado na implementa\u00e7\u00e3o, testes e, consequentemente, complexidade. Nesse aspecto,\u00a0<em>deploys\u00a0<\/em>mais frequentes, s\u00e3o menores e mais f\u00e1ceis de desfazer.<\/p>\n","protected":false},"featured_media":2629,"parent":0,"comment_status":"open","ping_status":"closed","template":"","url":[],"sessoes":[73],"apendices":[45],"capitulos":[],"class_list":["post-2626","volume-1","type-volume-1","status-publish","has-post-thumbnail","hentry","sessoes-x-apendice","apendices-apendice-d"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>As origens da complexidade \/ Ap\u00eandice D v 1.0 - Manual do Arquiteto de Software<\/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:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"As origens da complexidade \/ Ap\u00eandice D v 1.0 - Manual do Arquiteto de Software\" \/>\n<meta property=\"og:description\" content=\"Em qualquer cen\u00e1rio, quanto maior a complexidade, maiores s\u00e3o os custos envolvidos. Por isso, tanto na elabora\u00e7\u00e3o quanto na avalia\u00e7\u00e3o de designs\u00a0arquiteturais, onde geralmente se busca otimizar o custo &#8211; que \u00e9 um atributo de qualidade &#8211; \u00e9 natural \u00a0a busca pelo \u201cmais simples\u201d. A complexidade tem quatro origens gen\u00e9ricas distintas que devem ser combatidas [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/\" \/>\n<meta property=\"og:site_name\" content=\"Manual do Arquiteto de Software\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/eximiaco\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-11T20:54:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@eximiaco\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/\",\"url\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/\",\"name\":\"As origens da complexidade \/ Ap\u00eandice D v 1.0 - Manual do Arquiteto de Software\",\"isPartOf\":{\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg\",\"datePublished\":\"2021-07-04T01:39:12+00:00\",\"dateModified\":\"2024-01-11T20:54:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#primaryimage\",\"url\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg\",\"contentUrl\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg\",\"width\":1024,\"height\":683},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Volume 1\",\"item\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"As origens da complexidade \/ Ap\u00eandice D v 1.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#website\",\"url\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/\",\"name\":\"Manual do Arquiteto de Software\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#organization\",\"name\":\"EximiaCo\",\"url\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2022\/04\/simbolo-eximiaco.jpg\",\"contentUrl\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2022\/04\/simbolo-eximiaco.jpg\",\"width\":150,\"height\":150,\"caption\":\"EximiaCo\"},\"image\":{\"@id\":\"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/eximiaco\",\"https:\/\/x.com\/eximiaco\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"As origens da complexidade \/ Ap\u00eandice D v 1.0 - Manual do Arquiteto de Software","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:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/","og_locale":"pt_BR","og_type":"article","og_title":"As origens da complexidade \/ Ap\u00eandice D v 1.0 - Manual do Arquiteto de Software","og_description":"Em qualquer cen\u00e1rio, quanto maior a complexidade, maiores s\u00e3o os custos envolvidos. Por isso, tanto na elabora\u00e7\u00e3o quanto na avalia\u00e7\u00e3o de designs\u00a0arquiteturais, onde geralmente se busca otimizar o custo &#8211; que \u00e9 um atributo de qualidade &#8211; \u00e9 natural \u00a0a busca pelo \u201cmais simples\u201d. A complexidade tem quatro origens gen\u00e9ricas distintas que devem ser combatidas [&hellip;]","og_url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/","og_site_name":"Manual do Arquiteto de Software","article_publisher":"https:\/\/facebook.com\/eximiaco","article_modified_time":"2024-01-11T20:54:07+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@eximiaco","twitter_misc":{"Est. tempo de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/","url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/","name":"As origens da complexidade \/ Ap\u00eandice D v 1.0 - Manual do Arquiteto de Software","isPartOf":{"@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#website"},"primaryImageOfPage":{"@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#primaryimage"},"image":{"@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#primaryimage"},"thumbnailUrl":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg","datePublished":"2021-07-04T01:39:12+00:00","dateModified":"2024-01-11T20:54:07+00:00","breadcrumb":{"@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#primaryimage","url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg","contentUrl":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2021\/07\/john-barkiple-l090uFWoPaI-unsplash.jpg","width":1024,"height":683},{"@type":"BreadcrumbList","@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/as-origens-da-complexidade-apendice-d-v-1-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/"},{"@type":"ListItem","position":2,"name":"Volume 1","item":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/volume-1\/"},{"@type":"ListItem","position":3,"name":"As origens da complexidade \/ Ap\u00eandice D v 1.0"}]},{"@type":"WebSite","@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#website","url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/","name":"Manual do Arquiteto de Software","description":"","publisher":{"@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#organization","name":"EximiaCo","url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#\/schema\/logo\/image\/","url":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2022\/04\/simbolo-eximiaco.jpg","contentUrl":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-content\/uploads\/2022\/04\/simbolo-eximiaco.jpg","width":150,"height":150,"caption":"EximiaCo"},"image":{"@id":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/eximiaco","https:\/\/x.com\/eximiaco"]}]}},"_links":{"self":[{"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/volume-1\/2626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/volume-1"}],"about":[{"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/types\/volume-1"}],"replies":[{"embeddable":true,"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/comments?post=2626"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/media\/2629"}],"wp:attachment":[{"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/media?parent=2626"}],"wp:term":[{"taxonomy":"url","embeddable":true,"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/url?post=2626"},{"taxonomy":"sessoes","embeddable":true,"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/sessoes?post=2626"},{"taxonomy":"apendices","embeddable":true,"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/apendices?post=2626"},{"taxonomy":"capitulos","embeddable":true,"href":"https:\/\/elemarjr.com\/livros\/arquiteturadesoftware\/wp-json\/wp\/v2\/capitulos?post=2626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}