{"id":325,"date":"2020-04-12T12:52:00","date_gmt":"2020-04-12T12:52:00","guid":{"rendered":"http:\/\/spiderwiz.org\/project\/?p=325"},"modified":"2025-04-09T06:14:47","modified_gmt":"2025-04-09T06:14:47","slug":"spiderwiz-position","status":"publish","type":"post","link":"https:\/\/spiderwiz.org\/project\/spiderwiz-position\/","title":{"rendered":"The position of Spiderwiz in the spectrum of service-mesh technologies and why it is still needed"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">When it comes to service-mesh development, there is a\nplethora of technologies that address many of the involved aspects. An obvious\nquestion that may be asked is why do we need yet another technology. To answer\nthe question, let\u2019s look at the following illustration:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"594\" src=\"http:\/\/spiderwiz.org\/project\/wp-content\/uploads\/2020\/09\/spiderwiz-in-spectrum-2-1024x594.png\" alt=\"spiderwiz-in-spectrum-2.png\" class=\"wp-image-1222\" srcset=\"https:\/\/spiderwiz.org\/project\/wp-content\/uploads\/2020\/09\/spiderwiz-in-spectrum-2-1024x594.png 1024w, https:\/\/spiderwiz.org\/project\/wp-content\/uploads\/2020\/09\/spiderwiz-in-spectrum-2-300x174.png 300w, https:\/\/spiderwiz.org\/project\/wp-content\/uploads\/2020\/09\/spiderwiz-in-spectrum-2-768x445.png 768w, https:\/\/spiderwiz.org\/project\/wp-content\/uploads\/2020\/09\/spiderwiz-in-spectrum-2-1536x891.png 1536w, https:\/\/spiderwiz.org\/project\/wp-content\/uploads\/2020\/09\/spiderwiz-in-spectrum-2.png 1655w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The illustration is based on a figure that was presented in a 2018 report by <a href=\"https:\/\/www.gartner.com\/\">Gartner Inc.<\/a>, which described the spectrum of service mesh technologies based on code coupling.&nbsp; The spectrum is divided to three groups:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Mesh-Native Code: Technologies, mainly programming models and runtime engines, that are used for building service mesh systems. In this group the report includes the <a href=\"https:\/\/docs.microsoft.com\/en-us\/java\/api\/overview\/azure\/servicefabric?view=azure-java-stable\">Service Fabric<\/a> part of <a href=\"https:\/\/azure.microsoft.com\/en-us\/\">Microsoft Azure<\/a>, <a href=\"https:\/\/www.lagomframework.com\/Lagom\">Lagom<\/a>, <a href=\"https:\/\/github.com\/micro\/go-micro\">Go-Micro<\/a>, <a href=\"https:\/\/axoniq.io\/\">Axon Framework<\/a> and <a href=\"https:\/\/senecajs.org\/\">Seneca<\/a>.<\/li><li>Mesh-Aware Code: Technologies, including framework libraries, APIs and sidecar processes, that are designed to support service mesh systems. In this group the report includes <a href=\"https:\/\/spring.io\/projects\/spring-cloud\">Spring Cloud<\/a>, <a href=\"https:\/\/netflix.github.io\/\">Netflix OSS<\/a>, <a href=\"https:\/\/www.hydramicroservice.com\/\">Hydra<\/a>, <a href=\"https:\/\/steeltoe.io\/\">Steeltoe<\/a> and <a href=\"https:\/\/twitter.github.io\/finagle\/\">Finagle<\/a>.<\/li><li>Mesh-Agnostic Code: Cloud based technologies that do not specifically address service mesh systems but can be used by them as sidecar proxies. In this group the report includes <a href=\"https:\/\/istio.io\/\">Istio<\/a>, <a href=\"https:\/\/www.envoyproxy.io\/\">Envoy<\/a>, <a href=\"https:\/\/linkerd.io\/\">Linkerd<\/a>, <a href=\"https:\/\/avinetworks.com\/\">AVI Networks<\/a>, <a href=\"https:\/\/aspenmesh.io\/\">Aspen Mesh<\/a>, <a href=\"https:\/\/www.consul.io\/\">Consul<\/a> and <a href=\"https:\/\/www.joyent.com\/containerpilot\">ContainerPilot<\/a>.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Of these three groups, <em>Spiderwiz<\/em>,\nas a programming model and runtime engine, is clearly in the first. It may have\na small overlap with some of the technologies mentioned in that group, but it\nis substantially different. In some cases programmers can benefit from using\nthem in parallel. The only technology that has a remarkable similarity to\nSpiderwiz is <em>Seneca<\/em>, whose\nprogramming model follows a similar concept, but its runtime engine and many\nfeatures are thoroughly different.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The technologies of the other groups are mostly orthogonal\nto Spiderwiz. Although there is a certain degree of overlap in some features,\nother major cloud computing features \u2013 <em>load\nbalancing<\/em>, <em>redundancy<\/em>, <em>short circuit management<\/em>, <em>containers<\/em>, <em>security<\/em> and <em>authentication<\/em>\nto name a few \u2013 are neither in the scope of the core functionality of Spiderwiz\nnor do they conflict it, and therefore should be handled by existing\ntechnologies when needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Having said that, you may notice in the figure above that\nSpiderwiz sends \u201ccobwebs\u201d across the entire spectrum. This is because it is\nexpected that the proliferation of Spiderwiz will make it tangent to many other\ntechnologies relating somehow to service mesh. This can happen with the\nemergence of Spiderwiz plugins that alleviate the use of some tools, or with\nthe evolution of extensions to prominent tools that facilitate tighter integration\nwith Spiderwiz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When it comes to service-mesh development, there is a plethora of technologies that address many of the involved aspects. An obvious question that may be asked is why do we need yet another technology. This post tries to answer the question.<\/p>\n","protected":false},"author":1,"featured_media":1380,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-325","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/posts\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/comments?post=325"}],"version-history":[{"count":9,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/posts\/325\/revisions"}],"predecessor-version":[{"id":1381,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/posts\/325\/revisions\/1381"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/media\/1380"}],"wp:attachment":[{"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/media?parent=325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/categories?post=325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spiderwiz.org\/project\/wp-json\/wp\/v2\/tags?post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}