Top trends lists come and go like the wind. No year is complete without a raft of futurists and evangelists trying to tell us which new blocks of technology we’ll need to fit into our stacks next. So rather than providing you with a list of usual suspect clickbait trending items (did you know hybrid cloud and open source is quite popular?), ERP Today has scoured the tech landscape for an alternative list of the seven ‘other’ hot technologies every good IT practitioner should be conversant with on the road ahead.
A typical ‘what’s hot’ in the technology industry list would of course include cloud computing, mobile ubiquity, big data analytics, blockchain, robotic process automation (RPA) and perhaps the touchy-feely world of user experience (UX). Let’s leave all those items aside as we consider a slightly tangential take on how and where the industry is shaping itself next.
1. Headless technology
Headless technology is a key driver for the next era of systems development. Not to be confused with a headless system in the traditional sense (that’s a computer without a monitor in some form of an embedded system, or a blade server in a rack), headless technology describes a software system where the front-end presentation layer is individually built to exist in separation away from the back-end data and functionality layer.
Headless software could potentially apply to a variety of use cases, but its primary application thus far is in the area of headless content management systems (CMSs). In a traditional CMS, the ‘body’ is the content repository, and the ‘head’ is the presentation layer, which is typically a web page. In a headless CMS, the body and head are separated until conjoined via an application programming interface (API) connection for display on any device.
Now that organisations need to deliver content on a wider range of surfaces, a headless approach makes a lot of sense. Users now want content on their smartphone, laptop and tablet, but they also want it on their smartwatch, television, on an in-store kiosk and perhaps soon from their smart toaster too. Headless also has the potential to make ecommerce connections between omnichannel content and online stores more easily, the implications for ERP development are direct.
Widely popularised and discussed, but oft-misunderstood, APIs are the ‘glue’ that joins different application components to other application services or operating systems. APIs have a required syntax and are implemented by function calls composed of verbs and nouns. API management, integration and development is becoming a sub-genre all of its own in IT and it is leading us towards the notion of Everything-as-an-API, or EaaAPI if you prefer.
Key target disciplines for API elevation include privacy. The notion of Privacy-as-an-API (PaaAPI) sees software developers provided with a means of bolting on functions such as data privacy vault (that part of an ecommerce application where sensitive user identity, payment transaction and password details might be kept) delivered as an API. Clearly useful for fintech ecommerce applications, PaaAPI means software engineers can focus on app functionality without having to worry about cumbersome and difficult-to-integrate security and compliance functions.
Application security tokenisation, polymorphic encryption and data governance engine management isn’t simple at the best of times, so being able to call on those functionalities via an API is the technology proposition at hand here. Onward (or perhaps downwards) from privacy, is where databases go next with APIs. We can already use an API to request records, fields and values from a connected database, but some in the industry want to turn this idea on its head and talk about data as an API. It’s a still-nascent area for sure.
3. Serverless technologies
In the always-changing world of cloud computing, applications need to be eminently flexible. As workload requirements change in line with shifting business demands, applications need to be capable of moving between different cloud instances, each of which may be provisioned and optimised differently. One cloud might be fine-tuned for high volume transactional throughput with gleaming input/output (I/O) credentials, while another might be optimised for storage, memory, core processing functions or big data analytics.
This smorgasbord of infrastructure variety means that software developers need to be able to build cloud-native applications to work on a specific type of cloud backend if they want to achieve optimal performance. Turning the tables on this notion is serverless computing, a software precept where applications are not necessarily provisioned to work on any given server. In a serverless computing deployment, developers and operations teams just build an application ‘as is’, without worrying about tuning and scaling the app to a certain heartbeat, because the backend is all taken care of by the cloud services provider.
The rise of serverless, which is sometimes known as Backend-as-a-Service (BaaS), works well in some cases and not in others. It is best suited to applications like single-page web applications on desktop or mobile that need to draw upon large-scale cloud databases and related backend infrastructure services.
4. Autonomous everything
In technology circles, automation is evidently key to the way in which applications, data services and higher-level platforms are developing on an annual basis. But automation has come to mean a whole lot more than programmed alerts, auto-filling forms and saved user or enterprise system preferences. Today we are taking automation from the user interface level down the lower substrate levels of our databases and back up again.
Looking at databases as a case in point, the rise of the autonomous database is not a database that automatically calculates results based upon pre-programmed controls. We are, thankfully, past that point already. Instead, an autonomous database can perform all the self-healing mechanisms it needs in order to keep running 24/7 without the need for human intervention.
The use of autonomous control at the database level means that maintenance tasks such as patching, updates, upgrades, de-duplication and defragmentation can all happen according to a schedule. This reduces the likelihood of human error and opens up human workflow capacity so that data engineers can spend more time on value-add analytics functions and focussing on the minutiae of difficult new integration projects and so on.
As noted, the momentum behind the notion of autonomous everything comes full circle. It extends upwards from the database back through the breadth of our applications layer to enable every technology service we use to adjust its kilter, rectify its balance and normalise its performance based upon defined and codified best practices that form its own programmatic DNA.
Cloud computing is responsible for a plethora of sub-genre trends that have shaped the way the IT industry has evolved over the last couple of decades. Because our cloud resources are essentially virtualised and abstracted away from us, the need for observability technology has grown exponentially.
Rather more than just a sub-genre, observability encompasses everything from monitoring to distributed systems tracing and the alerts functionality needed for users to be able to monitor observability outputs. It is a measure of the internal state of the IT systems that we build based upon a measure of the external outputs that those systems generate.
Actually, emanating from control theory, the observability and controllability of a system are mathematical duals i.e., one is an (approximate if not sometimes exact) equal and opposite function of the other. Because cloud systems are live and typically always-on, observability is an important means for organisations to gain an understanding of the ‘in-flight’ requests that are happening throughout the live operations of any system in question.
Observability often employs the use of log file analytics. All software creates log files in order to perform the functions it is programmed to execute, so being able to track, aggregate and analyse log files provides us with a clear window into the observability we need.
6. Computational storage
As data becomes an increasingly strategic part of the way businesses operate and manage their ERP systems and wider IT stacks, the question of how and where that data is stored often comes into question. But over and above the need to assess data storage security and robustness, there is now also a question surrounding the characteristics and capabilities that any given chunk of storage is afforded. This is why computational storage is on the rise.
Computational storage is still storage, but it is data storage that has compute CPU processing power located more closely to it. The Storage Networking Industry Association (SNIA) defines computational storage as computing architectures that provide computational storage functions (CSF) coupled to storage, offloading host processing or reducing data movement.
This approach is argued to be well suited to Internet of Things (IoT) devices and applications. If we build remote sensors to store data and empower them with the ability to perform computing functions on that data, then we can get even smarter results and functionality back from these smart devices as we build them.
For ERP systems focussed on factory and site facility operations, this technology could provide a boost. But computational storage won’t suit all application deployment scenarios, even the ones heavily populated with remote devices. There is increased network complexity to architect, there’s the need to create new and updated API connections to some of these devices and there is the need to refactor existing software code to suit this technique.
7. Platform engineering
If you want to look for signs of when the next big thing is about to shake up our technology stacks and drive a new wave of so-called digital transformation, then look at the software engineering job post boards. When you see a new job title that appears to describe a function and role that you didn’t know had been established and formalised, then that’s a good sign that the tech team is already thinking about it.
But to do this, you’ll need to look closely. Beyond the programmer, tester, database operations, sysadmin and even comparatively newfangled DevOps roles, there is a new discipline emerging. This is not the stuff of UX specialists, although that role is also fairly fresh, if not possibly sometimes flaky at the same time. The rise of the ‘platform engineer’ is here.
Sometimes subsumed into a DevOps role but now increasingly demarcated as a discrete function in and of itself, the platform engineer’s role has been fuelled by the advent of microservices, containers and the orchestration engines we use to corral and manage these more precisely definable compute resources.
Among the key roles undertaken by the platform engineer are cloud migrations from on-premise ‘server rooms’ to cloud service provider (CSP) data centres. This illustrates why platform engineers are not just DevOps professionals; platform engineering means building IT systems that will create platform-level resources for DevOps teams to build and run applications and data services upon.
As the use of APIs and the wider implementation of infrastructure as code continues, platform engineering will continue in the essentially cloud-native form that it was born out of. We have perhaps gone from the PC is the computer, to the network is the computer, then to the web and the cloud is the computer, before finally reaching the point where the platform is the network… and the computer itself is now just a keyboard and screen interface.
So, there you have a selection of killer-app style next-generation emerging technologies. If you want to know what’s around the next corner, take in all of the above and then grab a look at the job ads. If your boss sees you, tell them you’re doing R&D, they like that kind of thing.