Ordered list of blogs will go here with a widget
2019 will go down as the year of Serverless as this is the year that the technology went mainstream. It started off with Lambdas, but now almost every provider has one. There are open-source offerings as well that have started off ranging from Kubeless, Knative, OpenFaaS. Needless to say, there are quite a few options.
While thinking of things to post a while ago, one post that I had planned to make would be an introduction to Serverless concepts, but there are blogs and videos aplenty introducing them. Surprisingly enough, looking at when the serverless.com domain was registered will reveal that the concept had been floating around since 2002. Do forgive the occasional
The question I pose is what changed to bring the serverless concepts to the forefront this year?
Could it be the new layers of abstraction taking an application, wrapping it inside an immutable Docker container? Could it be the additional layer of abstraction introduced by using a CI/CD style pipeline to take the application code, build, package, deploy, and promote the software to run in a production environment? Or even a higher level container and cluster management services using Kubernetes (or derivatives like OpenShift). There is even one more layer in this which is the concept of a service mesh or allow for dynamic routing based on the health of the underlying services
From another perspective, there have been a lot of changes in how computers are administered. Going from physical systems to virtualized instances in the data center and even various cloud providers where you no longer have to build out server closets and data centers to host your company's critical infrastructure. The push of the concept of configuration as code. Using platforms like Terraform to automate the provisioning and deprovisioning of instances, and configuration management languages and utilities like Puppet, Chef, and Ansible. Even managing application and system level configurations in a highly performant key/value store like etcd and consul/vault.
It could be one or all of these that needed to be in place to get to the point of being able to craft a single function (or method depending on the language) and act as the sole entry point for an application that can be triggered. Granted there is still a ways to go from the cloud interoperability standpoint. Some tooling is still in the works such as the Serverless CLI, and the TriggerMesh CLI attempts to make it easier to work with deploying and managing services. In addition, there can be multiple ways of invoking these services whether through a webservice call or another kind of eventing framework.
One of the other things to keep in mind with this year's heating up of the Serverless ecosystem is looking at what vendors are doing from the cloud providers mentioned above to what I'd like to call integration companies such as TriggerMesh. The last category I've seen of vendors experimenting in the space are in the code management side by instrumenting Git hooks as in the case of GitHub's actions or Gitlab's newly introduced Serverless UI.
I will caveat that I've done some work with TriggerMesh on their Knative integration as well as provide some of the initial code for GitLab's Serverless functionality, and am very much looking forward to the future projects coming up in the next year.