{"id":5102,"date":"2020-06-26T18:03:30","date_gmt":"2020-06-26T18:03:30","guid":{"rendered":"http:\/\/redmonk.com\/jgovernor\/?p=5102"},"modified":"2020-06-26T21:53:22","modified_gmt":"2020-06-26T21:53:22","slug":"the-coming-smokestack-rethinking-and-retooling-multi-cloud","status":"publish","type":"post","link":"https:\/\/redmonk.com\/jgovernor\/the-coming-smokestack-rethinking-and-retooling-multi-cloud\/","title":{"rendered":"The coming SMOKEstack: rethinking and retooling \u201cmulti-cloud\u201d"},"content":{"rendered":"<p><a href=\"http:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-scaled.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-1024x683.jpeg\" alt=\"smokestack in front of a clear blue sky \" width=\"1024\" height=\"683\" class=\"aligncenter size-large wp-image-5103\" srcset=\"https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-1024x683.jpeg 1024w, https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-300x200.jpeg 300w, https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-768x512.jpeg 768w, https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-1536x1024.jpeg 1536w, https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-2048x1365.jpeg 2048w, https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-480x320.jpeg 480w, https:\/\/redmonk.com\/jgovernor\/files\/2020\/06\/AdobeStock_304891065-941x627.jpeg 941w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Over the past 10 years or so as AWS has continued to grow and dominate new markets we\u2019ve seen a couple of key narratives emerge that might be seen as either realism, or perhaps just an attempt to slow Amazon down. One is hybrid-cloud, and the other is multi-cloud.<\/p>\n<p>Consultants and folks invested in legacy technology stacks find hybrid cloud appealing for obvious reasons. Hybrid cloud means enterprises doing much what they do now, but with a promise of Cloud portability for data and application workloads. Keep doing what you\u2019re doing, but with some public cloud now and more in future. Hybrid cloud is a bit of a punt. One reason Kubernetes is so popular is that it can be made to fit this narrative: you can be cloud native, and on prem, a dessert and a floorwax. With all their legitimate, significant, investments in Kubernetes, meeting genuine customer demand, VMware Tanzu and Red Hat Open Shift are best placed to play the hybrid cloud game.<\/p>\n<p>But what of multi-cloud? One way of looking at multi-cloud is with a similar view of portability. Find a technology that will allow us to build applications to deploy to any public cloud and go from there. Investment protection, transferable skills, write once run anywhere- what\u2019s not to like? Again Kubernetes fits the bill nicely here. Learn and invest in Kubernetes and then an organization should be able to write applications and deploy them to any cloud they choose. Amazon EKS, Google Cloud GKS, Azure AKS. Hey look folks *KS &#8211; they\u2019re all the same, right?  Of course the devil is always in the detail, in manageability, in slight points of friction and different approaches. Back in the day Unix made similar promises. While the public cloud Kubernetes services share some similarities, there are also plenty of differences &#8211; consider for example AWS Fargate &#8211; a managed \u201cserverless\u201d Kubernetes platform. Manageability is always a great point of lock in over time. All that said, portability is always a matter of degree, and certainly Kubernetes offers some comfort factors for customers that portability is there if they need it. The Cloud Native Computing Foundation is a risk management organization, and enterprises and cloud companies alike continue to push Cloud vendors to support Kubernetes and related CNCF stack technologies.<\/p>\n<p>While managed services is one form of lock in another powerful lever is egress charges. Once you\u2019re running on AWS you\u2019re not going anywhere else because egress costs are eye-wateringly high. And why would you want to get off AWS? It\u2019s a powerful platform, one of the most incredible engineering organisations in history, with an absurdly rapid cadence of new functionality in all of the most important areas. It may not be be the slickest experiences, but the primitives are incredibly powerful and the documentation does the job.<\/p>\n<p>There is another view of mult-cloud however, which the industry hasn\u2019t really given a name yet. In this view of the world organisations will use different clouds for different jobs. Different parts of the same organisation are going to make different choices. Mergers and acquisition activity are almost certainly going to render any single vendor cloud strategy moot over a reasonable time frame. And different clouds are frankly really good at different things. AWS primitives are excellent, but if you want to bet on a platform for its data services the natural choice is GCP. Spanner, BigTable, BigQuery, PubSub, is a powerful, well integrated platform from Google. Azure continues to make great strides in key areas, and Microsoft is beginning to make the GitHub advantage count. GitHub will become a dominant player in DevOps and CI\/CD over time, and Microsoft\u2019s focus on Developer Experience is unmatched by its competitors. Visual Studio Code is everyone\u2019s favourite editor. CodeSpaces is going to make everything easier. Azure has some great IoT tools. Every cloud platform has its strengths.These strengths will be leveraged. Any major organisation is going to be using at least two of the major cloud platforms, but not for portability reasons, just because that\u2019s the nature of tools choices.<\/p>\n<p>And then there are the services. Oh all the lovely highly productive services. If you like the public cloud services just wait til you meet best of breed APIs. Oh my goodness Stripe for payment is just the thing- the docs are dreamy and the APIs are lovely too. Algolia for text search. Auth0 does cross platform authentication management so well, why not use it across your app portfolio? Oh you have image and video assets to manage &#8211; Cloudinary jumps out as a highly productive service choice. You want your app to have messaging &#8211; Twilio\u2019s got you. Oh managed content management yes you want Contentful for that. Managed customer data with an API and you\u2019re not looking to use Salesforce? See Segment, it\u2019s on point.<\/p>\n<ul>\n<li>Less Code<\/li>\n<li>Less Complexity<\/li>\n<li>Less Reinvention<\/li>\n<li>High Productivity<\/li>\n<li>High Scale<\/li>\n<li>Rich Service Ecosystem<\/li>\n<li>More Self-Service<\/li>\n<\/ul>\n<p>Here\u2019s the thing, we\u2019re moving up the stack, to highly productive developer friendly API-driven services. A composition based development model is just never going to be all-in on a single cloud. Have you ever even met software developers?<\/p>\n<p>But what are we going to call this thing? One answer, which comes from a particular perspective is (Javascript, APIs and Markup) JAMstack &#8211; which took the ideas of the Static Site Generator generation and added interactive services. APIs and Markup sure, but focusing on Javascript alone is not going to fly for all developers. Have you ever even met software developers?<\/p>\n<p>Read more about Static Site Generators <a href=\"https:\/\/redmonk.com\/rstephens\/2020\/05\/18\/static-site-generators\/\">here<\/a> and emerging deployment models <a href=\"https:\/\/redmonk.com\/sogrady\/2020\/06\/10\/convergent-evolution-cdns-cloud\/\">here<\/a>.<\/p>\n<p>The serverless community has an answer for the best of breed services approach &#8211; they call it &#8220;serviceful&#8221;. The term was coined by Patrick Debois at the first Serverlessconf, held in a sweltering hot warehouse in Brooklyn in 2016. Serviceful has gained some popularity with the serverless folks for sure, but hasn\u2019t crossed over into other tech communities. Special thanks to <a href=\"https:\/\/begin.com\/\">Bryan LeRoux<\/a>, <a href=\"https:\/\/medium.com\/@dabit3\/full-stack-development-in-the-era-of-serverless-computing-c1e49bba8580\">Nader Dabit<\/a> and <a href=\"https:\/\/www.infoq.com\/articles\/serverless-sea-change\/\">Joe Emison<\/a> for pushing me forward here)<\/p>\n<p>In researching the serviceful theme I came across a really interesting suggestion by Mark Hinkle for the new world of composable higher level services &#8211; SMOKEstack (Serviceful, Mashable, Open, K(C)composable, Event-driven.). The term may not be perfect, but it\u2019s the best I have come across to describe the possibilities. The explicit calling out of event-driven models is exactly right for the new world of composable services, that touch not only public cloud apps, but also serviceful services and Enterprise SaaS and even on-prem applications. It\u2019s not surprising that Mark Hinkle, who introduced the term to me, is a co-founder of <a href=\"https:\/\/triggermesh.com\/\">TriggerMesh<\/a>, a company focusing on these kinds of cross-platform cross cloud event-driven integration scenarios. I wrote a bit about the firm <a href=\"https:\/\/redmonk.com\/jgovernor\/2020\/01\/24\/triggermesh-serverless-integration-meets-message-oriented-middleware\/\">here<\/a>.<\/p>\n<p>We will need some new underlying technology to underpin the multi-cloud best of breed world. Data integration is a good example. In fact I came across the SMOKEstack term while working on a talk for HasuraCon 2020 this week. Hasura, which has done a great job of making GraphQL more accessible for companies looking to make their data more accessible to modern developers is increasingly positioning itself as a middle-tier for federated serviceful data-driven apps, which could be consumed by JAMstack or SMOKEstack developers.There is plenty of work to be done in delivering SMOKEstack, for example:<\/p>\n<ul>\n<li>Integrated operating model<\/li>\n<li>Integrated development model<\/li>\n<li>Egress costs that won\u2019t kill you<\/li>\n<li>Persistent Storage<\/li>\n<li>Deployment flexibility<\/li>\n<li>Composite Cloud management Layer<\/li>\n<li>Cross-cloud integration<\/li>\n<li>Data Federation<\/li>\n<\/ul>\n<p>I am not sure \u201cSMOKEstack\u201d is perfect. It certainly isn\u2019t the most obvious terminology from a sustainability perspective. A better term may well emerge. But for now, I will use it in thinking about serviceful applications with persistence. It\u2019s kind of catchy. Let me know what you think, of if there is a better industry term that I am missing.<\/p>\n<p>disclosure statement: while this is not commissioned research, Amazon Web Services, Microsoft Azure, Google Cloud Platform, Hasura, Red Hat and VMware are all RedMonk clients,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the past 10 years or so as AWS has continued to grow and dominate new markets we\u2019ve seen a couple of key narratives emerge that might be seen as either realism, or perhaps just an attempt to slow Amazon down. One is hybrid-cloud, and the other is multi-cloud. Consultants and folks invested in legacy<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[74,552,464,467],"class_list":["post-5102","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-aws","tag-graphql","tag-kubernetes","tag-serverless"],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9wfjh-1ki","_links":{"self":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/5102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/comments?post=5102"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/posts\/5102\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/media?parent=5102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/categories?post=5102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/jgovernor\/wp-json\/wp\/v2\/tags?post=5102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}