Let's start with an obvious question. Why am I talking hardware when this is a forum for software. Well, I think it's important to have a holistic approach to development, to know what your application is running on, and what type of environment you expect to see it running on in the future. So, time for me to put my prediction hat on and see what the future might entail. Here are my top 5 predictions coming up within the next few years.
- Hybrid: As platforms like Docker become more widespread, maintenance of the codebase and maintenance of the "server" has become less System Ops and more developer-driven. I also feel things like Azure pipelines and remote build boxes can still feel a bit slow. As a result, I can see more companies pushing for faster bandwidth (as docker images get larger, and pipelines become more complicated) and I can see a push for On-prem edge compute modules or even a hybrid approach, or half-hosted solutions. I can see the big cloud providers have you purchase or lease machines at your location on your network, while they manage and control things remotely (such as Microsoft IOT Edge devices). One concept I haven't seen implemented well yet is the idea of having the cloud be a backup scalable service. Meaning the company hosts some of the infrastructure local, and once demand gets high enough, a load balancer then tacks on one or more cloud service providers through the act of a dynamic hybrid cloud / local load balancer. I've played around with this concept programmatically with my chatbot, hosting the service on a local machine, while using a cloud provider if my machine doesn't respond with, well, mixed results.
- Multi-Cloud / Export Cloud. We saw with services like Parlor (love or hate) where a breach of terms of service ended up costing them their ability to host their platform on a particular cloud. As some services will eventually fall into the same category of fringing or even failing terms of service, I can see more of a demand for companies to be able to "export" their VM's, Services, and Containers over to local, or a different cloud provider entirely. In turn, I can see a common standard be generated (either from W3C or a big company like Google or Microsoft) as a template to easily import and export your platform from the cloud. While the market leaders right now obviously want you to say within their walled gardens, I can see the EU, or some other larger authoritative figure demand companies provide these kinds of services. If not that, I can see the top companies working on an "import your service from a different provider" option, with some kind of automation or API to extract from one provider to their own.
- The death of Windows Server. Microsoft I think is already starting to see this, and future proof their offerings for this use case. I don't see Windows dying in the desktop space anytime soon, however, with the newer releases of .net 5, which unifies the .net core, standard, and frameworks under one umbrella framework. I see more services of Windows as well being ported over to open source and Linux platforms, that is a matter of time before the option of selecting windows as a server will be long gone, or at least, deprecated.
- The rise of ARM / RISC. As companies make promises for sustainable computing and look for ways to reduce cost, I think that the ARM machines will be making their way further and further into the rack space of many companies. Knowing firsthand how easy it is to set up a Raspberry Pi as a server, and how little juice it takes to run, I can see larger companies start porting their hardware servers over to an ARM or RISC-based CPU instruction set. These machines use a lot less energy to run, and in turn, do not push out the same heat as a typical server. I can see ARM-based CPUs becoming the next "cheap" and "green" servers of the future. With Apple switching from Intel to a custom ARM die, I think it makes sense that the servers of the future don't have CPUs that run over 20 watts.
- The death of the "developer" machine. This one is a bit out yet, but I do see this coming down the pipeline. Github introduced recently Codespaces, the ability to create a VS code instance, and VM in the cloud, on your project. The project I believe is in beta right now. I do see however a shift from not just Github, but a number of other platforms to make all the developer tools and environments they need to get their work done available through either a web browser or at the very least, through a VPN / Virtual machine. This solves a few issues. 1. you don't have to worry about a developer's box being stolen, and in turn, sensitive IP being lost. 2. you don't have to have power intensive machines for your developer staff. if you choose, you can provide them with a cheap Chromebook or laptop to work off of, or, as we have seen companies make the shift to more virtual offices, let the employees use their own machines.
What do you think the next shift is in computing... I'd love to hear your thoughts