Blogs

Spacefarer’s Guide to the Cloud, Containers and Orchestration

 

Author – Devdutt Shenoi

 

Cloud computing relates to a larger field of distributed computing, where computers that might not be physically close are nevertheless connected to each other through the internet, working in some form of unity/synchronisation to achieve the goals of countless people accessing them from around the world. You may have heard of it in reference to how data stored on the cloud will eventually rain down, while that is not something you should be realistically concerned about, it is clear that there have been humongous leaps of innovation in the field, with the release of services by almost all the major tech giants. You may have heard of a few of them while browsing through LinkedIn recently, in the form of certificates awarded by AWS/Google Cloud/Azure and so many more, maybe you have some to show for yourself, in that case, congrats!But cloud computing is a lot more than what we are led to believe and it has a lot more quirks, so let’s try to decipher them! The concepts of the cloud work on a bedrock of Virtualisation, which itself has been laid on years of research into how computer programs can safely, and efficiently run on a system without having more rights than it is supposed to, in what are effectively walled gardens. These walled gardens or virtual machines eventually led to the development of ‘hypervisors, which allowed for a computer to effectively be divided among multiple VMs that ran programs which almost never had ‘side-effects’ on each other, i.e. they weren’t able to mess-up each other’s work. This what we now known of as Infrastructure as a Service(IAAS), a field that has since been pioneered by the likes of VMware.

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.

...

Devdutt Shenoi

Author

Model Engineering College,Kochi

Leave a Reply

Your email address will not be published. Required fields are marked *

Follow Us on Instagram @ieeecsks