When AWS Lambda came on the scene some three years ago, serverless computing was still in its infancy and was all but an alien concept to MSPs. Fast-forward to the present and serverless computing has become all the rage, empowering the purveyors of applications to deliver software, all without having to worry about managing servers.
In essence, serverless computing brings forth a model where an abstracted, cloud-based platform executes code, all without users, developers or other IT staffers having to worry about the management or provisioning of servers. It’s a compute model that allows developers to focus on code and MSPs to focus on just delivering the compute resources needed to execute that code. However, the rise of IoT applications has put a potential monkey wrench into the serverless machine ideology, since orchestration of IoT devices requires some type of management layer, which is normally expected to run on a server.
While one could argue that serverless computing still involves a server, it's an argument that is a non sequitur. For all intents and purposes, the hardware and software that constitute a server are fully abstracted in a serverless environment, meaning that code is executed without worrying about the infrastructure or management of the servers.
AWS Lambda provides the tools necessary to make serverless computing a reality, allowing developers to define projects that are triggered by events; for example, developers can define triggers based upon an action, such as a user uploading a file from a smartphone or clicking the Buy button on a website. That trigger causes code to executed in the serverless environment, all without the need for human interaction or managing a physical server.
However, the world of IoT works under a different model, where there may be only machine-to-machine interaction, such as an IoT sensor recording an activity that then needs to be processed in some fashion. Take for example an IoT motion sensor, which only needs to process data when motion is detected. With a serverless app, the IoT device triggers certain actions, which execute the related code, and the work is completed. Servers are no longer needed to make the process happen, and developers no longer have to worry about the underlying infrastructure needed to run it.
For MSPs, the concept of serverless IoT allows them to get involved with the deployment and management of the devices, all without having to fully provision and manage servers to be able to process the data recorded by the IoT devices. AWS Lambda makes that possible by exposing event triggers to developers. Those event triggers are specifically designed to support single purpose devices, such as badge readers, sensors, buttons, and so forth. The idea is that the IoT device acts as a trigger and launches the needed serverless code to process the event. Ideally, AWS Lambda brings single-click simplicity to integrating event-driven projects into IoT devices. However, there are still a few catches. For example, Lambda only supports a preconfigured list of devices and Lambda functions for the given device supported. What’s more, the IoT capabilities of the Lambda service are still in preview, meaning adopters must apply to participate at this time.
That said, serverless computing supporting IoT is poised for growth and could give MSPs new revenue streams from the rapidly growing IoT market.