Forget gadgets: real technology innovation is in software architecture
Don't be fooled into thinking that technology innovation is all connected cars, talking robots and face-recognition smartphones. Over the next few years, the most significant evolution will be in the software developed to connect those devices, and the new forms of software engineering that will underpin the devices launched in 2019, 2020, 2021 and beyond.
The Rise of the Application Cloud
Cloud computing has been a game changer for consumers and businesses across the globe over the past decade. However, we will begin to see the market for cloud platforms compete on customer benefits rather than technological capability.
Few cloud platforms are pure technology platforms and could be more accurately described as application clouds delivering app-centric user experiences. The Apple iPhone pioneered this concept of an application cloud, and Salesforce adopted it for business with its Lightning com platform (aka Force.com) and AppExchange. Microsoft is taking Office 365 and elements of Azure in a similar direction, while Facebook and Google remain customer experience platform providers to watch.
The implication of this shift is that platform choices in the cloud will only be partly driven by technology considerations; application clouds provide access to customers and markets. This becomes just as important a consideration for an ISV when thinking about the technological merits of any given platform.
End of the road for monolithic software architectures
Software used to be designed for a given technology platform, leveraging and extending the architectural features of the ‘stack', resulting quite literally in monolithic software products. The shift to customer-centric ‘experience' platforms makes this approach less attractive as it creates a dilemma.
Implement an application on a particular platform, and it will only ever work in that environment; design in a monolithic fashion, and it will lack the architectural flexibility to embrace customer-experience platforms. Expect to see this debate played-out in software labs across the world.
De-productisation through microservices and ‘API-fication'
This shift away from monolithic architectures is being driven by the mass migration towards application programming interface, or ‘API-fication' and microservice architecture. API-fication is an architectural approach that enables the creation of interfaces between two software products to allow users to access additional the features or data. Microservices is an architectural approach that revolves around disassembling an application into a set of independent services that are developed, deployed, and maintained separately.
In the long-run, technology will abandon the notion of a product completely and switch to an architecture that is made up entirely of microservices, similar to how Amazon originally envisaged reassembling its Amazon.com eCommerce application with Amazon Web Services building blocks.
Infrastructure shifts to ‘serverless' event-driven programming models
Microservices require infrastructure to operate in a layer typically referred to as ‘platform as a service' (PaaS). We will see a generational shift in PaaS to ‘serverless' environments, a technology in which the cloud provider dynamically manages the allocation of machine resources.
Serverless applications do not require the provisioning, scaling, and management of any servers and pricing is based on the actual processing consumed not on capacity provisioned. Amazon Lambda and Microsoft Azure Functions are two leading examples of this technology. Serverless, event-driven programming models are set to revolutionise software architecture; it is the secret sauce behind many of the headline-grabbing technology we see capturing attention today.
Rules of software distribution being rewritten
In the past, computer distributors played a vital role in pushing discrete technology building blocks like operating systems and productivity software into the market on which ISV applications depended. In the future, the seams between customer solution and platform will be less recognisable and consequently, the ISV will assume a greater share of the value chain.
All of this helps make technology smarter, more connected and of greater value to the users.