Next came a whirlwind of developments, especially with a lot of companies showing interest in commercialising their server farms for use as storage/processing environments that others could rent. These were bare-bone VMs not configured specifically to user demands. Technologies were developed to access and manipulate these systems, you may have experience using some, like Secure Shell(SSH) protocol which lets you log in to a remote PC, FTP to do file transfers and even CPanel websites. This was essentially the stone age equivalent of the cloud, tools weren’t specialised and developers were left to their own devices with little to no help. Still, there has been ever-growing demand and many corporations capitalised on it to build their own networks of server farms, existing on almost all the habitable continents of the planet and providing accessibility of such low latency that makes it seem magical, you can find a reference to scale here.
During the 2010s developments were made to help software run on any system, even if it was never configured for! We all know the pains of trying to install software on brand new systems, especially when we fail to do so because of some peculiar driver issue, that would be catastrophic for companies like Google and Facebook, who refurbish their systems with advanced hardware on a regular basis. To get rid of these worries and to make things much more fun, they came up with the concept of Containerisation. You may have heard of it by the term ‘dockerization’, and that is more than a nod of appreciation to docker, a tool which empowered people to run their programs in pre-configured environments without having to virtualize an entire computer as was done by hypervisors. A container effectively creates a virtualized OS, a form of the walled garden where the walls weren’t virtualized resources i.e. vCPU, vRAM or vGPU, but something much more familiar, in the forms of a virtual shell or OS APIs that allowed the program to conduct its business without adding much of a burden to the system underneath.
Meanwhile, there was a debate about how systems distributed across the planet can be managed effectively. To solve this, the concepts of Orchestration were put forward, a field that has been pioneered by Google, creator of Kubernetes, a tool that has since become the gold standard. With orchestration, the goal is to ‘provision’ ‘pods’ with resources that can be safely divided among containers it encloses. We have also seen the rise of new technologies which help in handling resources almost autonomously and along with it the Cloud Native Computing Foundation was setup for extensive collaboration. The future holds a lot of promise, with the entire world coming online, it is obvious that the adoption of cloud technologies will only grow exponentially.