Software 2.0: the next generation
Software is evolving to the extent that increasingly even the word ‘software’ is falling from favour. In a world of platforms, ecosystems and solutions, we need to understand the direction of travel for what is, when all’s said and done, code. So what are the trends driving this new age of software, where is it taking us, and who is at the wheel. Read on to find out.
The single biggest trend in software right now is containerisation, a magic box of application deployment that exists outside everything else, and yet within it. Fast, accessible from anywhere, on anything, it’s the very definition of a magic bullet and makes virtual machines look like penny farthings up against a racing car. Of course, it’s also fabulously complicated to implement, requiring specialised engineers and deeply clever integration, but when it works, it makes applications faster, more reliable and safer. And the first green shoots of containerisation becoming mainstream – well, more affordable – are starting to appear.
With only two serious players in the containerisation market – Docker and Kubernetes – it’s always seemed likely that one would streak ahead. Kubernetes is that one, but don’t rush out to buy shares yet. K8s, as it’s known to its friends, is an open-source platform and everyone who’s everyone is building parallel code they can tweak to their own needs. Expect to see heavy competition in the Kubernetes-core branded product market as this trend develops.
Moving data closer to where it’s needed makes everything work faster. After the flurry that was cloud computing, companies are starting to realise that pushing everything back and forth is a relatively slow and painful process when you can keep it nearby and have data speeds really fly. With the advent of 5G, edge computing is about to become a staple of enterprise IT at scale, particularly when deployed as part of an IoT network.
AWS IoT Greengrass
The two big players in edge are Microsoft (Azure) and AWS, which unsurprisingly has a variety of edge data projects up its sleeve. IoT Greengrass is a runtime environment for edge computing which can work alongside the company’s Snow suite of infrastructure products to streamline edge networking in a localised environment, without leaving big brother’s world-beating data management universe.
Enterprise data platform
It may not be new or sexy, but enterprise data management has seen a steep rise in its curve as companies take advantage of Covid-19 to reassess – and in most cases, accelerate – their digital transformation. That’s why there has never been a more important time to be at the top of your end-to-end data software game, from harvest to management to visualisation. As companies shop for the product that works for them in the medium to long-term, they’ll be looking for unified data solutions and enduring partnerships.
Snowflake is a relative newcomer to the data world but its product, Data Cloud, is taking the business world by storm, allowing fast and secure access to sharable data and promising an end to data silos and vulnerabilities. Set up by former Oracle employees in 2012, it has bullied its way to the top ranks of enterprise data management, no mean feat when the incumbent companies are stalwarts with deep pockets and long-held relationships. Expect to see more great things from Snowflake as time goes on.
No code / low code
It’s an appealing prospect, but no code / low code (NCLC) is big business, particularly when it comes to the swathes of middle-ranking companies who can’t invest in expensive integrations that require teams of engineers writing bespoke code. The theory is simple: NCLC is less customisable than custom development, but it can be tuned by the relative layman to produce comparable results to the more costly solutions available to those with deeper pockets and more complicated needs. Perversely for something that manages to work almost magically, it’s also prized for its lack of smoke-and-mirrors coding which appeals to technologically naive managers.
When it comes to NCLC, Bubble has it locked. An intuitive drag-and-drop interface, twinned with basic logic patterns makes producing HTML more like a computer game than a development task. For the doubters, Bubble has a tool on its website allowing the casual browser to edit the company’s own homepage. There’s a huge amount of customisation available and Bubble will also host and deploy, eliminating the need for further partners.
Stop thinking about Netflix. We’re talking about data streaming which… okay, Netflix is, but in a limited way. Data streaming is becoming – and is about to become even more – important, with data gathering in businesses a core part of the DX strategy. But streamed data isn’t easy. There’s bounded data, which exists in totality and should only be computed once it has all been gathered, and unbounded data, which continues to collect in a theoretically endless stream. Those two entities need to be managed alongside each other, as well as balancing computational capacity in a sensible manner.
Flink is difficult to describe, either as an application, or as a runtime or as an architecture. But its massive computational brain will take multiple data streams and organise them into workable data snapshots – easier said than done, hence the complexity. Its functionality is also critical for automation of event-driven applications, where activity is triggered by a certain data state. The Apache Foundation’s Spark should also get an honourable mention in large-scale data processing.