Serverless computing is set to be one of the hot topics in the world of microservices for 2018. Here’s a look at how serverless computing services and platforms will evolve over the coming year.
Serverless computing is a type of software deployment architecture wherein specific functions are executed on demand in a standalone environment.
The term “serverless” refers to the fact that, from the user’s perspective, there is no server to maintain. Users simply configure the functions that they want to execute, then trigger them whenever they need.
Containers vs. Serverless
As we’ve written before, serverless computing isn’t exactly a competitor with containers.
Containers and serverless share some similarities, such as the ability to host and execute discrete pieces of software inside standalone environments. They also both reduce or eliminate the burden placed on users to set up and maintain a complete operating system. With serverless computing as well as containers, you can deploy software without having to think much about the operating system that hosts it, or the way the host environment is configured.
Still, “containers vs. serverless” is not the right question to ask. In most respects, containers and serverless are different beasts. You can’t use serverless computing to deploy an entire application, as you could with containers (well, maybe you could, but it would be a very clunky architecture, and you’d run into issues with stuff such as persistent data storage). And containers don’t provide the on-demand execution functionality that is a core part of the value of serverless computing.
Future of Serverless Computing
As serverless computing evolves, the platforms and trends associated are changing. Following are key trends to watch in the serverless world:
- More serverless platforms. For the past several years, most people have associated the serverless trend with AWS Lambda. Lambda is the serverless computing service on the AWS cloud. Its release in 2014 helped to popularize the idea of serverless computing (although other serverless platforms existed before Lambda). Today, a variety of other serverless platforms are available, from Azure Functions to IBM Cloud Functions to Oracle Fn.
- On-premises serverless. At first, the serverless phenomenon was associated primarily with the cloud. However, serverless computing platforms that can be deployed on-premises, or as part of a private cloud, are available. Examples include OpenWhisk and Qinling.
- More programming languages. Initially, serverless computing platforms supported a relatively small list of programming languages. If you wanted to run a serverless function, you had to write it in one of these languages. That is now changing. Lambda currently supports six languages. Azure Functions supports 10 (if you count shell scripts as a language), although some of them are experimental. OpenWhisk can theoretically support any language.
- Broader ecosystems. Third-party vendors are paying increasing attention to serverless. For example, Twistlock, whose mission originally centered on securing containerized applications, recently expanded its focus to include serverless. AquaSec, another container security vendor, recently announced a partnership with PureSec to support serverless functions, too. Expect the ecosystem of solutions for serverless computing to continue to grow in 2018.
Have other thoughts on where serverless is headed in the new year? Feel free to share them in comments below.