What does the future hold for IT?
One of the parts of my job that I love is peering into the possibilities and trying to help decide what IT will be like in the future. IT will be a little different to the way it is today, that should go without saying, but we all get stuck in a current mindset from time to time, finding it hard to break out. Of course the writing is on the wall, as it always is, so let’s take a quick tour of some of that writing to see where I think we could be headed.
The writing on the wall hints at a number of what I’ll call building blocks that when combined have the possibility to create massive technological change. This might feel like buzzwords, and as always there will be lots of hype, but the gravitational pull of these technologies is undeniable.
Internet of Things
IoT is possibly one of the biggest, buzziest things around now. It’s pretty well established that, soon, almost everything (or rather every THING) will be connected. For enterprises this will create almost innumerable challenges alone, pushing the boundaries of possibility around network capacity, network reliability, storage capacity, storage speed, security, privacy, management and governance. As a completely siloed trend it will feel almost insurmountable.
Thankfully it is not.
The innumerable “things” in the world are already emitting huge exhaust streams of telemetry. Rich with information, ripe for the picking of deep insight. Literally everything will emit telemetric signals that are reasoned over and turned into action through deep insight.
This is almost certainly one of the biggest evolutions in computer science of recent time. Five years ago machines were just not able to learn to the depth that they can learn today (deep learning). In the past year or so ML has evolved rapidly into a service that reasons over massive amounts of data.
Virtual assistants are, to me, utterly fascinating but today they are truly basic. The technology is going to rapidly evolve and step into many more adjacent areas. Virtual assistants basically take what they learn through machine learning and make it doable for the person being assisted. For example, on your phone your virtual assistant probably takes a view of the traffic for you every day, hopefully taking your daily routing into account and suggests alternatives for you. Of course in the future they will also learn your probable actions and begin to prepare those actions for you.
The cloud has started to push this trend significantly with the need to manage an entire farm of virtual machines, apps or containers vs a specific server doing just one task. Declarative configuration defines how the service should BE and if it the service deviates from this state the declarative configuration engine brings the services back in line. There are many other terms used in this space: “infrastructure as code”, Desired State Configuration and others.
Declarative configuration affects all types endpoints not just vms, servers, containers, micro-services or apps. It affects every single thing. Those things on a traditional network could be PCs or smart phones and in the future will include IoT devices. In fact, there will be no “thing” physical or virtual that will be without a declarative status.
It’s now become clear that the long-term pattern for most IT shops will be DevOps. A continuous cycle of improvement is the only cycle that matters to the businesses that we serve. Those improvements might remove or cut cost, or create business opportunity.
Adaptive Management and Security Technologies
Our current world of security and management is built around enabling, protecting and managing, generally, tens of thousands of devices and users. One of the interesting things for me is that when I see the number of users and devices increase I don’t really see the core tasks change. The ability to execute on those tasks becomes exponentially more difficult and it’s very difficult to cost-effectively do that by just adding more humans.
This is where all the above combine to help. The things, be they physical, virtual or human, emit telemetry that a management service (virtual assistant) will take, reason over using machine learning and will then be able to que up actions to take using declarative configurations or indeed to identify patterns that cause a rethink in the declarative configuration. Humans will watch the virtual assistant and take responsibility for implementation. Here’s an example I’ve come up with:
Tens of thousands of things emit telemetry information about their purpose and state. The purpose based information (such as, temperature in the case a temperature sensor) is sent to the service expecting that information. The state based information is consumed by a virtual assistant (a manager) that uses machine learning to be continuously informed about what all the things are doing. In this case the virtual assistant starts to learn that a thing has started responding more slowly than it has before. Additional things start to report similar latency over a reasonably short period. The manager suggests to the human to apply the declarative configuration to reset a device, but soon telemetry coming from the same devices slows again. Now the manager steps to its next remediation level and alerts a human that devices across the network are slowing still. The pattern that the manager has learnt shows a sign of infection across the network that tracks back to the first device that slowed. That same device, while it slowed in performance shows more signals of tampering, minor increases in stored data that can be correlated with additional things. All this information is presented to the human, the IT person, to take action. The action taken by the human is to change a keyword on the device. The manager sees this change as the human makes it, then extrapolates the effect across the network and offers to take the same action on every thing, updating the declarative configuration for each. Two weeks later the same thing occurs. The manager offers to automatically apply the same action, rotating the keyword.
The example itself is a little simple and it could have expanded far further, but I’m beginning to think this is how we will start to see networks of things managed and secured in the future.
Note: This is my opinion of where I think we will see our industry evolve, and yes it’s backed by others, but it’s my opinion and not Microsoft’s and does not represent any kind of product direction.