{"id":7490,"date":"2019-05-31T02:00:50","date_gmt":"2019-05-31T09:00:50","guid":{"rendered":"http:\/\/softwareengineeringdaily.com\/?p=7490"},"modified":"2021-10-07T08:49:35","modified_gmt":"2021-10-07T15:49:35","slug":"service-mesh-wars-with-william-morgan","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/","title":{"rendered":"Service Mesh Wars with William Morgan"},"content":{"rendered":"<p><img decoding=\"async\" data-attachment-id=\"2475\" data-permalink=\"https:\/\/softwareengineeringdaily.com\/2016\/04\/19\/googles-container-management-brendan-burns\/brendan-burns\/\" data-orig-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" data-orig-size=\"175,175\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"brendan-burns\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2016\/04\/brendan-burns.jpg?fit=175%2C175&amp;ssl=1\" class=\"alignright size-full wp-image-2475\" style=\"border-radius: 50%; border: 1px solid #000000; max-width: 175px; max-height: 175px;\" src=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/williammorgan.jpg?resize=175%2C175&#038;ssl=1\" width=\"175\" height=\"175\" data-recalc-dims=\"1\" \/><\/p>\n<p><span style=\"font-weight: 400;\">A service mesh is an abstraction that provides traffic routing, policy management, and telemetry for a distributed application. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">A service mesh consists of a data plane and a control plane. In the data plane, a proxy runs alongside each service, with every request from a service being routed through the proxy. In the control plane, an application owner can control the behavior of the proxies distributed throughout the application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As the Kubernetes ecosystem has developed, the service mesh abstraction has become an increasingly desirable component of a \u201ccloud native\u201d application stack. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">As companies enthusiastically adopt Kubernetes, they eventually find themselves with a large distributed system that is difficult to operate. A service mesh simplifies some of these operational difficulties, <\/span><a href=\"https:\/\/softwareengineeringdaily.com\/?s=service+mesh\"><span style=\"font-weight: 400;\">as we have explored in numerous previous episodes.<\/span><\/a><\/p>\n<p><span style=\"font-weight: 400;\">The Kubernetes community has grown to include lots of enterprises, and those enterprises want to adopt service mesh. But today, many of them are afraid to adopt the technology because there are multiple competing products, and it is unclear which one the community will centralize around&#8211;or if the community will end up supporting multiple products.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Over the next few weeks, we will be airing interviews from KubeCon EU 2019 in Barcelona. These interviews are a window into the world of the Kubernetes and the cloud-native ecosystem, which is transforming the world of infrastructure software.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The most prominent theme across these shows was that of service mesh. Why was service mesh such an important topic? Because the battle for service mesh supremacy is a classic technology competition between a giant incumbent and a startup with far fewer resources.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Kubernetes ecosystem is beautifully engineered to allow for a marketplace of warring ideas where the most worthy competitor wins out&#8211;but in some cases there is room for multiple products to occupy different subsections of the market.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Across these episodes, one theme we will explore is the governance and the diplomacy of these competing solutions, and how the Kubernetes ecosystem is structured to allow for harmonious resolution to technology battles.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is tempting to look at this competition between service meshes as winner-take-all. But as of late May 2019, we do not yet know if it will be winner-take-all. In order to predict how the service mesh wars will play out, the best we can do is to look at historical examples.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Container orchestration wars was a winner-take-all market. Container orchestration was a problem of such depth, such technical complexity and integration, that there had to be a single winner for the ecosystem to marshall around. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">During the container orchestration wars, as Mesos and Docker Swarm and HashiCorp Nomad and Kubernetes fought for supremacy, many large enterprises made bets on container orchestration systems that were not Kubernetes. When the dust settled, Kubernetes was the victor, and these large enterprises who had adopted orchestration systems other than Kubernetes begrudgingly began thinking about how to migrate to Kubernetes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But during the orchestration wars, many more enterprises were sitting out altogether. They did not choose Kubernetes or Mesos or Swarm. They chose to wait.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Enterprise technologists are smart, and they can tell when a technology is immature. Although many enterprises wanted an orchestration system to manage their Docker containers, they did not want to insert a heavy abstraction that they would have to tear out later on. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once Kubernetes won the orchestration wars, enterprise dollars piled into the space. The cloud native community has grown faster than anyone expected, because we solved the collective action problem of centralizing on a container orchestrator.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">From enterprises to cloud providers to ISVs to podcasters, we share the same vision for Kubernetes: it is the Linux for distributed systems.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Within the Kubernetes ecosystem, the thought leadership tries not to pick winners. It is better for everyone if the winners are decided through competition. In order to foster competition, interfaces into Kubernetes can provide a layer of standardization along which different products can compete. Enterprises can buy into an interface without buying into any particular product.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Examples include the container networking interface (CNI) and the container storage interface (CSI). Every Kubernetes application wants storage and networking, but these Kubernetes applications do not want to be locked into a particular provider. Since there is a standardized interface for networking and storage, these applications can swap out one storage provider for another, or one networking provider for another.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">How does this relate to service mesh?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In the service mesh market, Buoyant was first to market with its open source project Linkerd. Today\u2019s guest William Morgan is the CEO of Buoyant. Over the last four years, Linkerd has slowly grown a following of dedicated users who run the open source service mesh in production. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Over the last four years, Linkerd has changed from its initial technology of the embedded JVM service proxy developed at Twitter to a Rust-based sidecar data plane and a Go-based control plane. Buoyant\u2019s dedicated focus to the service mesh space has won over much of the community, as was evidenced by Linkerd becoming the predominant apparel brand at Kubecon EU 2019: Linkerd hats and t-shirts were everywhere at the conference.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Why did Linkerd become trendy? Ironically, because of a competing service mesh whose launch strategy was widely seen as an affront to the spirit of the cloud native community.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Istio was created within Google, and launched with a set of brittle partnerships with IBM and other companies. Istio careened into the Kubernetes ecosystem with violent fanfare, trumpeting itself as the cloud native service mesh du jour through endless banner ads, marketing email campaigns, and KubeCon programming.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Any listener to this podcast knows I am as gullible as any technologist. I\u2019m an idealist&#8211;and I wanted to believe that Istio represented the service mesh equivalent of Kubernetes. It\u2019s from Google, it launched with a bunch of impressive logos, and it has an inspiring vision. Looks cloud native, smells cloud native, must be cloud native, right?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Unfortunately, Istio\u2019s early marketing aggrandizements were disconnected from the nascent realities of the project. Istio was buggy and difficult to set up. Istio quickly developed a reputation as Google-manufactured vaporware: nice idea, not nearly ready for production.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For Linkerd, the timing could not have been better.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Istio\u2019s romantic vision of an operating plane for routing traffic, managing security policy, and measuring network telemetry had seduced the enterprise masses. With their cravings unmet by Istio, these enterprises surveyed the market and quickly found their way to Linkerd, the humble service mesh next door, who had been waiting patiently all along.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The tide has turned against Istio, and towards Linkerd. But the service mesh wars have just begun. And as easy as it is to criticize Istio, the project is <\/span><i><span style=\"font-weight: 400;\">not<\/span><\/i><span style=\"font-weight: 400;\"> only vaporware. Istio has a vision for a detailed operating plane that will evolve together with Envoy, a service proxy sidecar developed at Lyft. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Perhaps Istio\u2019s early embers had too much marketing gasoline poured on them initially, but the project could still succeed. Google is the most sophisticated, well-resourced company in the world&#8211;and judging from Google\u2019s adjacent strategic messaging around Anthos and other strategic initiatives, the company has already decided that Istio will be around for the long haul. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">As a community, we should be grateful to witness the folly of Istio\u2019s carpet-bomb marketing strategy. It is validation for the earnest resilience of the cloud native community, that even under the omnipresent duress of Google marketing, the community was able to collectively reject the Istio Kool Aid.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This should come as no surprise. The Cloud Native Computing Foundation resides within the Linux Foundation, and the Kubernetes ecosystem has been ordained with the ardent technical purity of Linus Torvalds. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">The CNCF was formed under the looming shadow of AWS. The CNCF was seeded with the donation of Kubernetes by Google. Much like the Linux community was positioned as a rebellious movement in reaction to Microsoft\u2019s dominance, the Kubernetes community represents a fervent desire to open up the market to cloud providers beyond the tight-lipped, proprietary dominion of Amazon.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With such a deep spirit of insubordination, it is no surprise that the community has rejected Istio like a set of loosely coupled organs rejecting a foreign skin attempting to layer itself across them. Even though the CNCF was founded by Google, the community was formed in spite of big centralized clouds, not as a marketing vessel for their products which may or may not be open source. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Microsoft seems to understand this fact better than Google, at least in the domain of service mesh.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The day after this interview with William, Microsoft announced the Service Mesh Interface (SMI), a project it partnered with Buoyant and other companies on to create a minimal spec for what a service mesh should offer to a Kubernetes deployment. The SMI presents a safe buy-in point for enterprises who want a service mesh, but do not want to get caught in the evangelistic crossfire of Istio and Linkerd.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is in this environment that we begin our next series of shows on the current cloud native ecosystem.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thanks to the Cloud Native Computing Foundation for putting together an amazing podcasting zone at KubeCon, and allowing me to conduct these interviews.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">ANNOUNCEMENTS<\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/itunes.apple.com\/us\/app\/software-engineering-daily\/id1253734426?mt=8\"><span style=\"font-weight: 400;\">New Software Daily app for iOS<\/span><\/a><span style=\"font-weight: 400;\">. Use the app to access all 1000+ episodes in one place; find all shows related to a particular technology (such as streaming data, cryptocurrencies, Kubernetes, or learning to program); connect with other listeners through the comments section; access our transcripts and our related links; everything in the app is free, though you can also become an ad-free listener and support the show for $10\/month or $100\/year at softwaredaily.com\/subscribe<\/span><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/softwareengineeringdaily.com\/sponsor\/\"><span style=\"font-weight: 400;\">We are booking sponsorships, find more details at https:\/\/softwareengineeringdaily.com\/sponsor\/<\/span><\/a><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">We are hiring two interns for software engineering and business development! If you are interested in either position, send an email with your resume to <\/span><a href=\"mailto:jeff@softwareengineeringdaily.com\"><span style=\"font-weight: 400;\">jeff@softwareengineeringdaily.com<\/span><\/a><span style=\"font-weight: 400;\"> with \u201cInternship\u201d in the subject line.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A service mesh is an abstraction that provides traffic routing, policy management, and telemetry for a distributed application. A service mesh consists of a data plane and a control plane. In the data plane, a proxy runs alongside each service, with every request from a service being routed through the proxy. In the control plane,<\/p>\n","protected":false},"author":3,"featured_media":7509,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1363,1079,2143,1069,14],"tags":[1245,2596,43,1246,2614,1247,1243],"class_list":["post-7490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all-episodes","category-cloud-engineering","category-exclusive-content","category-greatest-hits","category-podcast","tag-buoyant","tag-cncf","tag-google","tag-istio","tag-linkerd","tag-service-mesh","tag-william-morgan"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Service Mesh Wars with William Morgan - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Service Mesh Wars with William Morgan - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"A service mesh is an abstraction that provides traffic routing, policy management, and telemetry for a distributed application. A service mesh consists of a data plane and a control plane. In the data plane, a proxy runs alongside each service, with every request from a service being routed through the proxy. In the control plane,\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-31T09:00:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-07T15:49:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359\" \/>\n\t<meta property=\"og:image:width\" content=\"638\" \/>\n\t<meta property=\"og:image:height\" content=\"359\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"SE Daily\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SE Daily\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\"},\"author\":{\"name\":\"SE Daily\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/822f06fe7d6f895baba29a9c0a3aa6c8\"},\"headline\":\"Service Mesh Wars with William Morgan\",\"datePublished\":\"2019-05-31T09:00:50+00:00\",\"dateModified\":\"2021-10-07T15:49:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\"},\"wordCount\":1657,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1\",\"keywords\":[\"Buoyant\",\"CNCF\",\"Google\",\"Istio\",\"linkerd\",\"service mesh\",\"William Morgan\"],\"articleSection\":[\"All Content\",\"Cloud Engineering\",\"Exclusive Content\",\"Greatest Hits\",\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\",\"name\":\"Service Mesh Wars with William Morgan - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1\",\"datePublished\":\"2019-05-31T09:00:50+00:00\",\"dateModified\":\"2021-10-07T15:49:35+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1\",\"width\":638,\"height\":359},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Service Mesh Wars with William Morgan\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"width\":549,\"height\":169,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/822f06fe7d6f895baba29a9c0a3aa6c8\",\"name\":\"SE Daily\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/87cddb92997841dafa04aa675bbdaca4?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/87cddb92997841dafa04aa675bbdaca4?s=96&d=retro&r=pg\",\"caption\":\"SE Daily\"},\"description\":\"The SE Daily podcast.\",\"sameAs\":[\"https:\/\/softwareengineeringdaily.com\"],\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/erikawho\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Service Mesh Wars with William Morgan - Software Engineering Daily","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":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/","og_locale":"en_US","og_type":"article","og_title":"Service Mesh Wars with William Morgan - Software Engineering Daily","og_description":"A service mesh is an abstraction that provides traffic routing, policy management, and telemetry for a distributed application. A service mesh consists of a data plane and a control plane. In the data plane, a proxy runs alongside each service, with every request from a service being routed through the proxy. In the control plane,","og_url":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/","og_site_name":"Software Engineering Daily","article_published_time":"2019-05-31T09:00:50+00:00","article_modified_time":"2021-10-07T15:49:35+00:00","og_image":[{"width":638,"height":359,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359","type":"image\/jpeg"}],"author":"SE Daily","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"SE Daily","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/"},"author":{"name":"SE Daily","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/822f06fe7d6f895baba29a9c0a3aa6c8"},"headline":"Service Mesh Wars with William Morgan","datePublished":"2019-05-31T09:00:50+00:00","dateModified":"2021-10-07T15:49:35+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/"},"wordCount":1657,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1","keywords":["Buoyant","CNCF","Google","Istio","linkerd","service mesh","William Morgan"],"articleSection":["All Content","Cloud Engineering","Exclusive Content","Greatest Hits","Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/","url":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/","name":"Service Mesh Wars with William Morgan - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1","datePublished":"2019-05-31T09:00:50+00:00","dateModified":"2021-10-07T15:49:35+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#primaryimage","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1","width":638,"height":359},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2019\/05\/31\/service-mesh-wars-with-william-morgan\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Service Mesh Wars with William Morgan"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","width":549,"height":169,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/822f06fe7d6f895baba29a9c0a3aa6c8","name":"SE Daily","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/87cddb92997841dafa04aa675bbdaca4?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/87cddb92997841dafa04aa675bbdaca4?s=96&d=retro&r=pg","caption":"SE Daily"},"description":"The SE Daily podcast.","sameAs":["https:\/\/softwareengineeringdaily.com"],"url":"https:\/\/softwareengineeringdaily.com\/author\/erikawho\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/05\/Linkerd.jpg?fit=638%2C359&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-1WO","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/7490"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=7490"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/7490\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/7509"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=7490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=7490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=7490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}