<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>programminglanguages</title>
	<atom:link href="https://crafthub.events/tag/programminglanguages/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>The craft that you need!</description>
	<lastBuildDate>Mon, 24 Apr 2023 13:26:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://crafthub.events/wp-content/uploads/favicon-1.svg</url>
	<title>programminglanguages</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>10 Predictions for the Future of Computing or; the Inane Ramblings of our Chief Scientist</title>
		<link>https://crafthub.events/10-predictions-for-the-future-of-computing-or-the-inane-ramblings-of-our-chief-scientist/</link>
		
		<dc:creator><![CDATA[Adrian Mouat]]></dc:creator>
		<pubDate>Tue, 05 Apr 2022 08:24:21 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[craftconference]]></category>
		<category><![CDATA[cloudcomputing]]></category>
		<category><![CDATA[programminglanguages]]></category>
		<guid isPermaLink="false">https://crafthub.events/?post_type=blog&#038;p=89387</guid>

					<description><![CDATA[<p>Adrian Mouat who is going to be a speaker at Craft Conference 2022 is here to tell you his thoughts [&#8230;]</p>
<p>A <a href="https://crafthub.events/10-predictions-for-the-future-of-computing-or-the-inane-ramblings-of-our-chief-scientist/">10 Predictions for the Future of Computing or; the Inane Ramblings of our Chief Scientist</a> bejegyzés először <a href="https://crafthub.events">CraftHub</a>-én jelent meg.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" class="alignnone size-full wp-image-89388" src="https://crafthub.events/wp-content/uploads/AdrianMouat.jpg" alt="" width="966" height="485" srcset="https://crafthub.events/wp-content/uploads/AdrianMouat.jpg 966w, https://crafthub.events/wp-content/uploads/AdrianMouat-300x151.jpg 300w, https://crafthub.events/wp-content/uploads/AdrianMouat-768x386.jpg 768w" sizes="(max-width: 966px) 100vw, 966px" /></p>
<p><a href="https://craft-conf.com/speaker/AdrianMouat">Adrian Mouat</a> who is going to be a speaker at <a href="https://craft-conf.com/">Craft Conference 2022</a> is here to tell you his thoughts on the future of Cloud Computing. Make sure to read through this article and warm up for his talk coming up in June!</p>
<h2><b>TLDR;</b></h2>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">WASM will be everywhere: compile target, deploy target, IoT, plug-in ecosystems. This is already happening! (1-5 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Rust will continue to grow in popularity and will overtake Go in the next few years by the RedMonk index. (2 &#8211; 4 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">A serious rival to Kubernetes will emerge. Bonus points if it uses WASM and encourages a GitOps style paradigm. (2-5 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">The Blockchain ecosystem will implode, but who knows when. Possibly it will happen quietly and years later we’ll talk about “</span><a href="https://en.wikipedia.org/wiki/AI_winter"><span style="font-weight: 400;">the block-chain winter</span></a><span style="font-weight: 400;">”. Who knows? (1-10 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Supply chain security will be big. There will be more hacks on the scale of SolarWinds (there probably have been already, we just don’t know) in the next ~2 years. Supply chain tooling (I hesitate to say “solutions”) will be a big growth area, but the industry will still be slow to achieve widespread uptake (e.g. getting everyone to use SBOMs). (~2-10 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Barely a prediction, but serverless will continue to grow and will slowly become the dominant paradigm. (10 years? There’s a lot of steam in Kubernetes.) However, it will also experience more backlash and “failure” stories as people struggle to figure out how to architect systems for the new paradigm. (next 2 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">We will start to see companies moving partially back to on-prem for cost savings. (2-5 years) This might be the most controversial/unlikely idea here.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">There’s an outside chance of an AI building a multi-billion company leveraging smart contracts which enslaves the whole of humanity. (10-20 years)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">OK, hopefully not, but there’s the possibility of mass disruption across multiple industries from AI/ML advances. I don’t believe we will develop a general artificial intelligence, but instead will make big jumps in specific fields. This may involve jobs being wiped out en masse e.g. truck driving. It may surprise us what sectors are affected. (2-20 years) (I don’t have a clue when, but changes will be sudden.)</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">On the same topic, GPT3 style helpers &#8211; effectively autocomplete for everything &#8211; will be widespread. Artists, writers, developers, operations, composers will all be using them. (1-4 years)</span></li>
</ul>
<h2><b>Programming Languages</b></h2>
<p><span style="font-weight: 400;">I’ll preface this by saying that I’m not a programming language expert. It’s one of those areas I feel I should know more about and would love to play more with!</span></p>
<p><span style="font-weight: 400;">In recent years there seems to have been a swing towards typed languages &#8211; perhaps most notably TypeScript and Rust. TypeScript is now used in the majority of JavaScript frameworks and is one of the top 10 languages according to a recent </span><a href="https://octoverse.github.com/"><span style="font-weight: 400;">GitHub Octoverse report</span></a><span style="font-weight: 400;">.  Rust in particular I think will see a lot of growth, with more and more low-level software being written in, and in </span><a href="https://deprogrammaticaipsum.com/the-great-rewriting-in-rust/)"><span style="font-weight: 400;">some cases ported to</span></a><span style="font-weight: 400;">, Rust in order to achieve safety and speed. It also fits very nicely in the WebAssembly (WASM) ecosystem, as it can compile to a small WASM binary, mainly due to the lack of a runtime or garbage collection (GC). Having no GC is almost an oddity in modern languages and is due to Rust’s unusual memory model and </span><a href="https://doc.rust-lang.org/stable/book/ch04-00-understanding-ownership.html"><span style="font-weight: 400;">concepts of ownership and borrowing</span></a><span style="font-weight: 400;">. Looking at the </span><a href="https://redmonk.com/sogrady/2021/03/01/language-rankings-1-21/"><span style="font-weight: 400;">RedMonk index</span></a><span style="font-weight: 400;">, and considering the factors pushing Rust forward, Rust is likely to overtake Go in popularity within the next few years.</span></p>
<p><span style="font-weight: 400;">Longer-term I think we will see new languages which build on concepts in Rust (primarily the memory model &amp; borrow-check) with higher-level features becoming popular. Taking the type-system to the next level, I believe a language with dependent-types (such as </span><a href="https://www.idris-lang.org/"><span style="font-weight: 400;">Idris</span></a><span style="font-weight: 400;">) will make the jump from academia (or hobby language) to become a popular language used within industry.</span></p>
<p><span style="font-weight: 400;">When developing microservices, especially for Kubernetes, it’s beneficial to use a language that can produce small stand-alone binaries. Languages that compile to WASM are likely to also become more important, as they will provide access to various PaaS and edge platforms. Both these factors may limit the growth of languages such as </span><a href="https://elixir-lang.org/"><span style="font-weight: 400;">Elixir</span></a><span style="font-weight: 400;"> and </span><a href="https://gleam.run/"><span style="font-weight: 400;">Gleam</span></a><span style="font-weight: 400;">, which rely on the Erlang VM. (Note that projects like </span><a href="https://github.com/lumen/lumen"><span style="font-weight: 400;">LUMEN</span></a><span style="font-weight: 400;"> may prove me entirely wrong here.)</span></p>
<h2><b>Kubernetes and Deployment Platforms</b></h2>
<p><span style="font-weight: 400;">Over the next 5 years Kubernetes (also known as k8s) will continue to grow. But unless it does something to address the burgeoning complexity, we will start seeing serious competitors. We are getting to the stage where running and maintaining Kubernetes is complicated enough that users are turning to managed services like GKE or employing specialist companies like Giant Swarm and Container Solutions to take care of Kubernetes. Even companies on managed services will be looking to specialist companies for support. This isn’t necessarily a bad thing &#8211; these services empower organisations to focus on the core business &#8211; but it does mean that users who are reluctant to pay for these services will be attracted to simpler alternatives.</span></p>
<p><span style="font-weight: 400;">It’s worth noting that the complexity isn’t just hidden under the hood. It’s spilling out into the interface and impacting users. It’s still fairly easy to hack at `kubectl run` and get a demo up and running. But running production apps and figuring out how to expose them securely requires understanding a wealth of different features that inevitably result in YAML files longer than most microservice source code.</span></p>
<p><span style="font-weight: 400;">Why is there such complexity? A lot of it is evolution. We start with something simple (well, comparatively simple in the case of Kubernetes) and then add support for use case x. Then we realise it would be better if we did z and rewrite things but have to maintain backwards compatibility. This results in complexity that isn’t inherent to the problem (accidental complexity). Meaning a new competitor can come along and replace it, as they don’t have all the historical baggage and can learn from the achievements and mistakes of the past.</span></p>
<p><span style="font-weight: 400;">To put it another way, increasing the number of supported use cases has led to the </span><a href="https://www.joelonsoftware.com/2001/03/23/strategy-letter-iv-bloatware-and-the-8020-myth/"><span style="font-weight: 400;">“80/20” problem</span></a><span style="font-weight: 400;"> &#8211; 80% of users only use 20% of the features, but everyone uses a different 20%. Taking away features is difficult. New competitors don’t have this problem and can build a new offering around a smaller core set of features and potentially fix/avoid other issues (£100 says it doesn’t use </span><a href="https://www.youtube.com/watch?v=8PpgqEqkQWA"><span style="font-weight: 400;">YAML</span></a><span style="font-weight: 400;">).</span></p>
<p><span style="font-weight: 400;">As ever, we will see changes first at the smaller scale. Small companies and individuals will avoid k8s in favour of simpler solutions, probably some sort of open-source PaaS and probably utilising WASM. Nomad may start to gain significant uptake over the next few years. To begin with people will say “yes but you can’t use x at scale”, but slowly the problems will be addressed and another sea-change in the industry will be upon us.</span></p>
<p><span style="font-weight: 400;">The other possibility is that Kubernetes becomes an underlying infrastructure layer that is built on-top of by everything else. So small projects might use what appears to be a simple, streamlined PaaS (or FaaS like Knative), but that PaaS will be k8s under the hood. I’m somewhat sceptical that this will achieve mass adoption due to the amount of resources required by Kubernetes and the tendency for Kubernetes complexities to “show through”. It may be simpler and far more efficient to distill the best bits of k8s into a new system &#8211; we are seeing a lot of exploratory work here like </span><a href="https://k3s.io/"><span style="font-weight: 400;">k3s</span></a><span style="font-weight: 400;">, </span><a href="https://github.com/kcp-dev/kcp"><span style="font-weight: 400;">KCP</span></a><span style="font-weight: 400;"> and </span><a href="https://github.com/thetirefire/badidea"><span style="font-weight: 400;">badidea</span></a><span style="font-weight: 400;">. On a side-note, internal platforms and tooling like </span><a href="https://humanitec.com/"><span style="font-weight: 400;">Humanitec</span></a><span style="font-weight: 400;">, </span><a href="https://backstage.io/"><span style="font-weight: 400;">Backstage</span></a><span style="font-weight: 400;"> and </span><a href="https://crossplane.io/"><span style="font-weight: 400;">Crossplane</span></a><span style="font-weight: 400;"> will become commonplace at large organisations, and this won’t go away even if Kubernetes does.</span></p>
<p><span style="font-weight: 400;">(For those of you interested in building a Kubernetes killer, it might be worth taking a look at Prolog and </span><a href="https://twitter.com/adrianmouat/status/1097967361691394055"><span style="font-weight: 400;">this discussion</span></a><span style="font-weight: 400;">.)</span></p>
<p><span style="font-weight: 400;">Whatever happens, Kubernetes is staying with us in some form for a long time. It’s still evolving at a fast rate and we can see the technologies that are likely to influence the next few years. Custom operators and GitOps will become commonplace. Some innovative Kublet implementations like Krustlet (which supports running WebAssembly modules as pods) may start to get traction.</span></p>
<h2><b>WASM</b></h2>
<p><span style="font-weight: 400;">WebAssembly has been around for a few years, but may now be poised to become ubiquitous. To understand why, it’s probably easiest to think back (assuming you’re of a certain vintage!) to the original slogan of Java: &#8220;</span><a href="https://en.wikipedia.org/wiki/Write_once,_run_anywhere"><span style="font-weight: 400;">Write Once, Run Anywhere</span></a><span style="font-weight: 400;">&#8220;. We were told that Java would run everywhere and be completely portable. It was a big success, but nowhere near the levels claimed. Why not? Well:</span></p>
<ul>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">It was (or at least was perceived to be) slow and memory hungry. This pretty much killed it at the edge in particular.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">You needed to learn Java (there are now a lot more JVM languages, but the choice was limited before).</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Writing JVM implementations was not trivial and differences between them led to the curse of “Write Once, Debug Everywhere”.</span></li>
<li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Running in the browser (applets) required installation of a plug-in.</span></li>
</ul>
<p><span style="font-weight: 400;">Well, WASM addresses all of these points. It’s relatively simple, efficient and small. </span><a href="https://github.com/appcypher/awesome-wasm-langs"><span style="font-weight: 400;">Many languages can be compiled to WASM</span></a><span style="font-weight: 400;">. The major browsers already have mature implementations. The security story is compelling &#8211; the WASI project lets you control exactly what WASM is allowed to do, what input it can read from, what it can write to and what kernel calls it can make.</span></p>
<p><span style="font-weight: 400;">We’re already seeing multiple projects adopt WASM for their plug-in system including </span><a href="https://www.solo.io/blog/the-state-of-webassembly-in-envoy-proxy/"><span style="font-weight: 400;">Envoy</span></a><span style="font-weight: 400;"> and </span><a href="https://ewasm.readthedocs.io/en/mkdocs/"><span style="font-weight: 400;">Ethereum</span></a><span style="font-weight: 400;">. This will only expand, as it makes so much sense; you can control what the plug-in is allowed to access at a granular level while allowing users to write the plug-in in whatever language they like.</span></p>
<p><a href="https://www.businessinsider.com/webassembly-explained-developers-love-wasm-2019-5?IR=T"><span style="font-weight: 400;">WASM replaces containers</span></a><span style="font-weight: 400;"> for a lot of use cases, and I expect to see more integrations with Kubernetes, building on the promise already shown by </span><a href="https://github.com/deislabs/krustlet"><span style="font-weight: 400;">Krustlet</span></a><span style="font-weight: 400;">. More interesting is the use of WASM to power new PaaS and FaaS platforms, including Fastly </span><a href="https://www.fastly.com/products/edge-compute/serverless"><span style="font-weight: 400;">compute@edge</span></a><span style="font-weight: 400;"> and </span><a href="https://workers.cloudflare.com/"><span style="font-weight: 400;">Cloudflare workers</span></a><span style="font-weight: 400;">. </span></p>
<p><span style="font-weight: 400;">We’ll also see it used at the edge, primarily due to portability and disk size.</span></p>
<p><span style="font-weight: 400;">That being said, there are still challenges. I wrote above about there being support for compiling multiple languages to WASM. This is true, but support is not equal. Rust seems to be the number one language by a distance, because it has good support and creates relatively small files (due to the previously mentioned lack of GC and runtime). AssemblyScript &#8211; a version of TypeScript adapted for WebAssembly &#8211; is also popular. </span></p>
<p><span style="font-weight: 400;">Whilst there is good support for other languages including Go, file sizes tend to be bloated by  garbage collector implementations or runtime features. Other language implementations tend to be in their infancy. </span></p>
<p><span style="font-weight: 400;">The same can be said for a lot of important infrastructure projects like </span><a href="https://wasi.dev/"><span style="font-weight: 400;">WASI</span></a><span style="font-weight: 400;">, which defines how WASM interacts with the host environment. The </span><a href="https://bytecodealliance.org/"><span style="font-weight: 400;">ByteCode Alliance</span></a><span style="font-weight: 400;"> will need to play an important role in quickly building out the ecosystem.</span></p>
<h2><b>Supply Chain Security</b></h2>
<p><span style="font-weight: 400;">We’ve been awful as an industry at this (partially due to </span><a href="https://www.youtube.com/watch?v=PLJJY5UFtqY"><span style="font-weight: 400;">broken incentives in the security industry</span></a><span style="font-weight: 400;">). What’s surprising is that it hasn’t led to more attacks. We will see more and more cases where organisations are accidentally running “poisoned” versions of software, because an attacker has been able to inject their own software at some stage &#8211; whether it is during compilation, distribution or updating. In some cases this will result in embarrassing crypto-ransoms, but we will start seeing more and more “intelligent” attacks where one organisation is compromised as a stepping stone to another organisation (ala SolarWinds).</span></p>
<p><span style="font-weight: 400;">The answer to this problem is to start thinking about how we prove the provenance of components running in production. It is imperative that </span><a href="https://en.wikipedia.org/wiki/Software_bill_of_materials"><span style="font-weight: 400;">SBOMs</span></a><span style="font-weight: 400;"> and similar metadata become standard practice, and tools such as </span><a href="https://in-toto.io/"><span style="font-weight: 400;">in-toto</span></a><span style="font-weight: 400;"> and </span><a href="https://github.com/notaryproject/nv2"><span style="font-weight: 400;">Notary v2</span></a><span style="font-weight: 400;"> become commonplace. The GitOps approach described below also </span><a href="https://www.weave.works/blog/gitops-compliance-and-secure-cicd"><span style="font-weight: 400;">has a part to play</span></a><span style="font-weight: 400;">, by cleanly separating privileges between CI and deployment, as well as providing a clear trail of who changed what and why.</span></p>
<p><span style="font-weight: 400;">The potential impact of future attacks is severe enough that governments are starting to wake up and take notice &#8211; the White House has </span><a href="https://www.whitehouse.gov/briefing-room/presidential-actions/2021/02/24/executive-order-on-americas-supply-chains/"><span style="font-weight: 400;">issued an order</span></a><span style="font-weight: 400;"> to review the US government’s software supply chain and the UK has issued a </span><a href="https://www.gov.uk/government/publications/call-for-views-on-supply-chain-cyber-security"><span style="font-weight: 400;">call for views on supply chain cyber security</span></a><span style="font-weight: 400;">. Hopefully this is the start of a coordinated effort to improve standard practice and build an ecosystem of tooling that is effective in preventing attacks.</span></p>
<p><span style="font-weight: 400;">The optimistic prediction here is that these projects and approaches (or equivalents) get significant uptake. The pessimistic one is they don’t and we see increasingly frequent, increasingly devastating, supply chain attacks. </span></p>
<h2><b>Blockchain and Cryptocurrency</b></h2>
<p><span style="font-weight: 400;">I’m sorry bros, but whilst I think blockchain has its uses, the vast majority of companies in the area will fail. There just aren’t enough viable use cases to justify the amount of money in the ecosystem. If you’re in that area, I hope you’re selling spades.</span></p>
<p><span style="font-weight: 400;">One area that could prove me wrong is </span><a href="https://www.investopedia.com/terms/s/smart-contracts.asp"><span style="font-weight: 400;">smart contracts</span></a><span style="font-weight: 400;">. Perhaps this is only because it reminds me of </span><a href="https://en.wikipedia.org/wiki/Accelerando"><span style="font-weight: 400;">Accelerando</span></a><span style="font-weight: 400;"> &#8211; could we have AIs building an empire on the back of smart contracts? (And what will smart contracts be written in? You guessed it &#8211; WASM.)</span></p>
<p><span style="font-weight: 400;">Another potential use case is in the previously mentioned area of supply-chain security &#8211; could we use a blockchain to identify the provenance of software?</span></p>
<p><span style="font-weight: 400;">On “crypto” more generally, I would love to see a real way to do micropayments and cheap (near zero cost) international money transfers. I’m sure this was one of the promises of cryptocurrency but it hasn’t been delivered. It’s so hard to assess the myriad of projects in cryptocurrency that I have no idea if this is likely to be achieved. At the moment we have companies like Coinbase, who charge significantly higher percentages than stock brokers for similar services.</span></p>
<p><span style="font-weight: 400;">We have to stop the ridiculous wastage of resources that </span><a href="https://cointelegraph.com/explained/proof-of-work-explained"><span style="font-weight: 400;">Proof-of-Work </span></a><span style="font-weight: 400;">entails. In the short term the only real alternative seems to be </span><a href="https://www.investopedia.com/terms/p/proof-stake-pos.asp"><span style="font-weight: 400;">Proof-of-Stake</span></a><span style="font-weight: 400;"> and it’s imperative that we move to such a model. I honestly hope that Bitcoin comes to an end, but the amount of money and number of backers with money mean that’s probably not going to happen in the short term.</span></p>
<p><span style="font-weight: 400;">Regarding NFTs, I&#8217;m again sceptical but enjoyed </span><a href="https://society.robinsloan.com/archive/art-objects/#"><span style="font-weight: 400;">this article</span></a><span style="font-weight: 400;"> from earlier in the year.</span></p>
<h2><b>GitOps and x-as-code</b></h2>
<p><span style="font-weight: 400;">The idea of GitOps is fabulously clean and simple. Store the required state of the Kubernetes cluster in Git. If the actual state of the cluster deviates, reconcile (which hides a lot of different possibilities). When you need to change the state, the Git repo is updated and the cluster is “reconciled” in turn. The beneficial side effects are fantastic: we should be able to bring up an identical cluster by just cloning the repo, we have a full log of all changes, and an established mechanism for discussing and approving changes (pull requests). Implementing GitOps isn’t as easy as it sounds however, and there are already a number of competing technologies &#8211; including Kubestack, Flux and Argo CD.</span></p>
<p><span style="font-weight: 400;">We are already applying GitOps to the stack below Kubernetes e.g. using Terraform to bring up the cluster. With the rise of microservices, serverless, service mesh and SaaS components like queues and DBs, what were once application concerns &#8211; eg wiring functions together &#8211; have to some extent been pushed into the cluster or infrastructure layer. The obvious corollary to this is that YAML files aren’t enough to build and define clusters any more. Instead we need full-blown programming languages. </span><a href="https://www.pulumi.com/"><span style="font-weight: 400;">Pulumi</span></a><span style="font-weight: 400;"> saw this early on and jumped on it, but I think we might see a lot more iterations and potential solutions. Again, WASM may have a part to play here in allowing users to bring their own programming languages. The next few years will clarify this, but I expect a lot of hand-written YAML will be replaced with </span><a href="https://aws.amazon.com/cdk/"><span style="font-weight: 400;">CDK</span></a><span style="font-weight: 400;">, Pulumi and the likes, which are simpler to read and reason about &#8211; YAML and CloudFormation will effectively become compilation targets. </span></p>
<h2><b>Serverless and FaaS</b></h2>
<p><span style="font-weight: 400;">The above point leads into the uptake of FaaS solutions such as Lambda. This will definitely happen, but it’s not the clean and simple change that some proponents seem to believe it is. Effectively using FaaS requires a different style of architecting applications. Queues and messaging infrastructure become essential components whose interaction must be fundamentally understood before reliable services can be built. What could previously be handled with data structures and function calls must be remodelled and thought out as a distributed system with support for error handling. It will take some time for best practices and design patterns in this space to become standardised and common knowledge.</span></p>
<p><span style="font-weight: 400;">At the same time, it’s not clear to me that Lambda will take all here. The edge computing FaaS offerings from Cloudflare and Fastly are compelling, offering impressive performance and scaling as well as language flexibility through WASM. The downside is they lack the supporting infrastructure of the cloud providers, who at the same time are building out their own CDNs to neutralise their advantage. All of these offerings suffer from being proprietary, which scares many companies with thoughts of “lock-in”. For this reason, open alternatives like </span><a href="https://knative.dev/"><span style="font-weight: 400;">Knative</span></a><span style="font-weight: 400;"> and </span><a href="https://www.openfaas.com/"><span style="font-weight: 400;">OpenFaaS</span></a><span style="font-weight: 400;"> are popular and further fragmenting the market.</span></p>
<p><span style="font-weight: 400;">Serverless in the broad sense (both FaaS and SaaS apps like databases and queues) will </span><a href="https://www.ustream.tv/recorded/114861049"><span style="font-weight: 400;">become the dominant paradigm</span></a><span style="font-weight: 400;">, but the road there may be bumpier than we expect. The next few years will see both success stories (“we saved 10k a month by moving to serverless”) and disaster stories (“we abandoned serverless after it cost us 10k a month”). </span></p>
<h2><b>AI and Machine Learning</b></h2>
<p><span style="font-weight: 400;">This is the joker in the pack that scares me. I touched on AI companies running smart contracts, but that’s really the sci-fi fan in me rather than the pragmatist. We can get a better idea of what’s happening by looking at what </span><a href="https://www.forbes.com/sites/bernardmarr/2020/10/05/what-is-gpt-3-and-why-is-it-revolutionizing-artificial-intelligence/"><span style="font-weight: 400;">GPT3</span></a><span style="font-weight: 400;"> (</span><a href="https://arxiv.org/abs/2005.14165"><span style="font-weight: 400;">original paper</span></a><span style="font-weight: 400;">) can do and where we are with self-driving trucks and cars. Will I be able to write a blog post with the quality of a George Orwell essay? Will all authors start using AI as a co-author and editor? Truck driving is one of the biggest sources of employment in the US &#8211; how many of them will be replaced with AIs in the decade? Just how many jobs in how many industries will be displaced? (For some more &#8211; and better researched &#8211; predictions take a look at Sam Altman’s </span><a href="https://moores.samaltman.com/"><span style="font-weight: 400;">articles</span></a><span style="font-weight: 400;"> and </span><a href="https://www.ted.com/talks/the_ted_interview_the_race_to_build_ai_that_benefits_humanity_with_sam_altman"><span style="font-weight: 400;">interviews</span></a><span style="font-weight: 400;">.) Or is it just another hype-cycle?</span></p>
<p><span style="font-weight: 400;">In the short term, the major change seems to be AI “helpers” and “autocomplete” based on </span><a href="https://openai.com/blog/gpt-3-apps/"><span style="font-weight: 400;">GTP3</span></a><span style="font-weight: 400;"> and its successors will be everywhere. If you’re writing a blog, it will help complete your sentences. If you’re developing a web app it will complete your methods. If you’re writing a song, painting a picture, sketching an engineering plan, “help” is at hand. Those of us that eschew such help are likely to be left behind. </span></p>
<p><span style="font-weight: 400;">Bringing things back to concrete developments in cloud computing, this also mirrors the growth of </span><a href="https://www.infoworld.com/article/3603953/what-is-the-ai-in-aiops.html"><span style="font-weight: 400;">AI Ops</span></a><span style="font-weight: 400;"> &#8211; where machine learning is used to analyse logs and telemetry data from a running application in order to identify issues and areas of improvement.</span></p>
<p><span style="font-weight: 400;">I don’t believe we will develop a </span><a href="https://bdtechtalks.com/2020/05/13/what-is-artificial-general-intelligence-agi/"><span style="font-weight: 400;">general artificial intelligence</span></a> <a href="https://bdtechtalks.com/2019/11/11/martin-ford-architects-of-intelligence-ai/"><span style="font-weight: 400;">any time soon</span></a><span style="font-weight: 400;">, so drastic changes are likely to be limited to various industries and use-cases. But the changes to those sectors may still be a complete revolution. These changes are likely to happen suddenly and the benefits will go to a small number of companies that own the technology, furthering the economic splits in society.</span></p>
<p><span style="font-weight: 400;">My fear stems from knowing that I haven’t even imagined some of the possibilities, and with AI changes can happen almost overnight. Sci-fi authors often talk about the “singularity” &#8211; broadly speaking the idea that when AI crosses a certain point, change will accelerate and humans will be unable to predict or keep up with progress. Some views on this may be hyperbolic, but I absolutely believe that AI is going to have major societal impacts we haven’t foreseen. </span></p>
<h2><b>Rise of the Hybrids</b></h2>
<p><span style="font-weight: 400;">There seems to be a lot of activity in the on-premise, bare-metal and hybrid markets at the moment, from both new players and old. This isn’t a sector I follow closely, so again this may be off-target, but I’m going to continue babbling anyway.</span></p>
<p><span style="font-weight: 400;">It might look from the outside that everything is moving inevitably towards the public cloud, but I believe we’re at the start of a swing back towards on-prem and a hybrid mix. The traditional hardware companies like Dell and HPE may have made a lot of mistakes along the way, but they seem to all be moving towards a *aaS model, where consumers pay for what they use as they go. At first this sounds incompatible with having on-premise hardware, but presumably it means vendors will ship HW with excess capacity with guarantees of fast delivery of further HW if required. An interesting thing about this model is it allows a balancing of commitment, CAPEX and OPEX. Want a lower monthly per instance cost? Agree to a 5 year contract and/or buy HW up front. Want a more flexible model as you figure out your business model? Take a 1 year contract but higher per-instance fees.</span></p>
<p><span style="font-weight: 400;">This model is exemplified by HPE’s GreenLake and Dell’s Project Apex. Given IBM’s recent acquisitions and existing products and solutions, it’s a fair guess that they will make similar moves in the market. </span><a href="https://www.nutanix.com/"><span style="font-weight: 400;">Nutanix</span></a><span style="font-weight: 400;"> are also clearly in this area, providing a software control plane backing onto cloud resources and/or on-prem HW. The importance of the control plane is hard to overstate &#8211; the model will only work if it’s possible to easily integrate hybrid resources and maintain the infrastructure. Newcomer </span><a href="https://oxide.computer/"><span style="font-weight: 400;">Oxide</span></a><span style="font-weight: 400;"> presumably also have some </span><a href="https://www.datacenterknowledge.com/hardware/why-your-servers-suck-and-how-oxide-computer-plans-make-better"><span style="font-weight: 400;">innovations planned</span></a><span style="font-weight: 400;"> in this area, through providing better integration between HW and the various software layers to the hypervisor. It’s also worth pointing out that this isn’t a million miles away from what bare metal and data centre companies like Equinix and Scaleway currently offer and are building out &#8211; the difference perhaps being what do we mean by “on premise”? Is it stuff that runs in my own data centre, or can it also be my hardware in someone else&#8217;s data centre?  Do I have to own the hardware, or can I rent it? </span></p>
<p><span style="font-weight: 400;">In the background, we also have an interesting set of dynamics between the cloud providers and the chip manufacturers. Cloud providers want to commoditise chips so that they’re cheap and fast to swap out every few years. Chip manufacturers want to make sure they sell as much as they can to the cloud providers whilst at the same time retaining control in the market. To retain a diverse customer base with varying needs, chip manufacturers are likely to be supportive of the HPE and Dell moves and anything which promotes diverse on-premise and edge computing platforms. In contrast, cloud providers have </span><a href="https://finance.yahoo.com/news/intel-amd-vs-aws-liftr-140800571.html"><span style="font-weight: 400;">started building their own custom chips</span></a><span style="font-weight: 400;"> and pushing into the</span><a href="https://aws.amazon.com/outposts/"><span style="font-weight: 400;"> on-prem market</span></a><span style="font-weight: 400;">. </span></p>
<p><span style="font-weight: 400;">The cloud providers also have a fight with CDN providers such as Cloudflare and Fastly. Both these companies have </span><a href="https://www.bizety.com/2020/08/29/cloudflare-vs-fastly-the-future-of-cdn-edge-computing/"><span style="font-weight: 400;">started providing serverless computing services </span></a><span style="font-weight: 400;">which utilise their data centres to operate as close to the customer as possible (a form of “edge” computing). By being so much closer to the end user, there are major advantages for speed and &#8211; it seems &#8211; cost. Their big disadvantage is that they don’t have access to the massive range of functionality offered by AWS etc &#8211; typically you get a data store and compute services and little more. Whilst I expect these services to grow enormously, the cloud providers are fighting back by aggressively expanding into the </span><a href="https://azure.microsoft.com/en-gb/services/cdn/#overview"><span style="font-weight: 400;">CDN</span></a> <a href="https://aws.amazon.com/cloudfront/"><span style="font-weight: 400;">space</span></a><span style="font-weight: 400;">. </span></p>
<p><span style="font-weight: 400;">Given the </span><a href="https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/"><span style="font-weight: 400;">potential cost savings</span></a><span style="font-weight: 400;"> and “lock-in” avoidance, we will start to see some companies moving “back” to on-premise/hybrid. The cloud will continue to be dominant, especially in the start-up space, but established companies will be looking to see if they can make significant OPEX savings. Perhaps the more difficult question is who will be the biggest winner from this movement &#8211; the traditional hardware vendors, the bare metal and data centre providers, edge computing providers, cloud providers or management plane software vendors?</span></p>
<h2><b>A Quantum Footnote</b></h2>
<p><span style="font-weight: 400;">Quantum computing is another area where you could write everything I know on the head of a pin and poke it in my eye. </span></p>
<p><span style="font-weight: 400;">Given quantum computing involves vacuums and temperatures near absolute zero, it seems unlikely that we will be getting quantum laptops anytime soon. In fact, the costs are so great, that only massive corporations and governments are able to afford their own quantum computers. This doesn’t cut out the public from quantum computing however &#8211; the major cloud providers have all announced </span><a href="https://blog.google/technology/ai/unveiling-our-new-quantum-ai-campus/"><span style="font-weight: 400;">research into quantum</span></a><span style="font-weight: 400;"> and </span><a href="https://aws.amazon.com/braket/"><span style="font-weight: 400;">services</span></a><span style="font-weight: 400;"> for </span><a href="https://azure.microsoft.com/en-gb/services/quantum/"><span style="font-weight: 400;">rent</span></a><span style="font-weight: 400;">. They offer potentially large breakthroughs in </span><a href="https://en.wikipedia.org/wiki/NP-completeness"><span style="font-weight: 400;">NP Complete</span></a><span style="font-weight: 400;"> problems, such as molecular simulations and optimising logistic problems. This may also mean that </span><a href="https://blog.cloudflare.com/towards-post-quantum-cryptography-in-tls/"><span style="font-weight: 400;">TLS is broken for those that can afford it</span></a><span style="font-weight: 400;">. At the moment it seems that quantum computing will provide important speed-ups for some classes of problem, but won’t upend computing in the short term. The real impact may be in speeding up research in scientific fields (think physics, chemistry and biology simulations) which may in turn lead to breakthroughs elsewhere.</span></p>
<p><a href="https://en.wikipedia.org/wiki/Quantum_teleportation"><span style="font-weight: 400;">Quantum teleportation</span></a><span style="font-weight: 400;"> seems more likely to lead to important breakthroughs that are fundamentally important to the public &#8211; could we have faster than light </span><a href="https://www.wired.com/story/quantum-internet-is-13-years-away-wait-whats-quantum-internet/"><span style="font-weight: 400;">high-bandwith communication</span></a><span style="font-weight: 400;"> between opposite ends of the earth (and beyond!)? Again, I think we are some way off the technology affecting Joe Public.</span></p>
<p>To see more or read the original article do not forget to visit <a href="https://www.container-solutions.com/">blog.container-solutions.com.</a></p>
<p>A <a href="https://crafthub.events/10-predictions-for-the-future-of-computing-or-the-inane-ramblings-of-our-chief-scientist/">10 Predictions for the Future of Computing or; the Inane Ramblings of our Chief Scientist</a> bejegyzés először <a href="https://crafthub.events">CraftHub</a>-én jelent meg.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
