The word “serverless” can be traced back to its original definition of not requiring servers and often referring to peer-to-peer (P2P) software or client-side-only solutions. With the availability of virtual machines (VMs) on demand, cloud computing in general and infrastructure-as-a-service (IaaS) in particular have become widely recognised and used computing paradigms.
However, the current serverless landscape was introduced in the cloud context in 2014 at an AWS re:Invent event. Since then, numerous industrial, academic, and cloud providers have released serverless solutions. Let’s take a closer look at serverless development chronologically.
The IBM Era
Unbelievably, the concept of “cloud computing”, as we know it now, originated in the 1950s, when large-scale mainframes were made accessible to businesses and colleges. Massive hardware for the mainframe was put in what could be called a “server room.” “Dumb terminals”—stations designed solely to facilitate access to the mainframes—let several users connect to the mainframe. Due to the high expense of purchasing and maintaining mainframes, organisations enabled shared mainframe access to maximise their return on investment.
Twenty years later, in the 1970s, IBM released the “virtual machine (VM)” operating system, which allowed administrators of its System/370 mainframe systems to run many virtual systems on a single physical node. IBM and other mainframe computer vendors were the first to offer the idea of “rented” computing capabilities. These businesses began providing huge corporations, like banks, with computing resources and storage space. Large companies viewed it as a practical substitute. Currently, IBM is evolving from a “Systems, Software, and Services” corporation to the industry’s leading “Cognitive Solutions and Cloud Platform Provider.”
The Hardware Era
Systems administrators used to set up physical servers to deliver software. This would entail installing the operating system and the relevant device drivers, verifying sufficient memory, disc space, or processing power available, installing any necessary prerequisites, etc. They would also handle hardware upgrades and similar issues. This setting is referred to as “bare metal.” As one depends heavily on the other, there is a close relationship between the deployed software and the actual hardware. The deployment unit, in this case, was a real server.
The PC Era
The personal computer helped to democratise technology during the next period, known as the “PC era.” As the processing model, mainframe-based centrally managed systems gave way to a client-server architecture.
Hardware was compartmentalised and detached throughout the PC era into standard parts, including the CPU, memory, hard drive, motherboard, and USB devices. Combining and assembling parts made by many manufacturers into a finished product was simple. Operating systems and libraries were used to separate the software into reusable parts. The abstraction and decoupling of hardware from software led to the development of new business models, improved productivity, and a prosperous PC age.
The Cloud Era
In its simplest terms, “cloud computing” refers to storing and accessing data and software on remote online servers rather than a computer’s hard drive or local server. Internet-based computing is also known by the name “cloud computing.”
The “cloud,” a new computing paradigm, emerged in the middle of the 2000s. It altered computing as people had previously understood it. Additionally, the world was transitioning to digital at a rapid rate at previously unheard-of enterprise scales. Pre-allocating hardware was becoming useless as a result of this.
Rise of SaaS
A way of delivering software or other services, such as hosting, through the internet is referred to as SaaS. Instead of purchasing, owning, and installing the programme on their computers, the client pays a subscription fee to access it.
The first SaaS company was founded in March 1999 by three co-founders. As a result, broadband, the internet, mobile devices, and browsers all experienced a boom. According to experts, the SaaS sector expanded throughout the previous 20 years, reaching its current valuation of $123 billion.
The Container Era
Containerized deployments followed SaaS. Many containerisation technologies were created at this time, including Docker, OpenVZ, LXC, FreeBSD zones, and Solaris jails. With the aid of these technologies, a system administrator could “section off” an operating system so that many applications could coexist on the same machine without interfering with one another. A container is used here as the unit of deployment.
You’ll notice that each of these paradigms includes the idea of “where” the programme is running, whether on an actual server (that is on-premises) or a virtual machine (that a cloud provider hosts).
The Beginning Of Serverless
In a cloud-based execution model known as “serverless” or “serverless computing,” cloud service providers operate their servers and offer on-demand machine resources without the assistance of users or developers. It is a method that integrates services, approaches, and techniques to assist developers in creating cloud-based applications by allowing them to concentrate on their code rather than server administration.
In 2008, Google released the Google App Engine. A developer could create software and launch it to operate on Google’s cloud for the first time without worrying about specifics like how the server was supplied or whether the operating system needed patches. A similar service, Lambda, was introduced by Amazon in 2015. With no longer having to worry about hardware, operating system upkeep, scalability, or locality, developers could design software.
The several phases of serverless computing can be compared to the phases of cloud computing, from infrastructure-as-a-service (IaaS) through platform-as-a-service (PaaS) to function-as-a-service (FaaS).
With serverless computing, businesses may do away with specialised hardware. Serverless computing is currently limited to cloud infrastructures. In the future, a hybrid cloud architecture may also offer serverless computing as a viable option.
Serverless computing has grown in popularity recently, thanks to the strengthening of product capabilities and the growth of users’ knowledge systems. Users can greatly benefit from serverless architecture in terms of dependability, affordability, R&D, and O&M. The reasoning behind the invention and growth of serverless computing is what gave rise to its accomplishment. Serverless computing will undoubtedly transform business innovation over the coming ten years and contribute to the cloud’s transformation into a potent engine for societal advancement.