Serverless Technologies Are Here To Stay!
Developing software is an extremely costly endeavour. Company leadership must account for the developer and supporting staff salaries, hosting costs, outsourcing and regulatory costs, and a myriad of other line items. But perhaps the biggest cost, though not directly visible in the budget, is the focus. Every line of code development teams writes to manage, deploy, or maintain components of a product that are not core business logic results in a loss of focus. This loss of focus, or “opportunity cost,” ultimately shows up in the bottom line.
Cloud providers have started providing sets of higher-level services that are loosely referred to as “serverless.” Typically, these services are built around a core service like AWS Lambda that allows developers only to write the business logic and not have to worry about maintaining the VMs that run the code. AWS augments Lambda with other services that handle authentication and authorization (Amazon Cognito), API management (Amazon API Gateway), and API-driven data storage like Amazon DynamoDB and Amazon S3. Developers can also very easily integrate other services to do the heavy lifting of machine-learning.
AWS is not the only cloud provider to provide a serverless offering, but due to their early entry into the market (or perhaps even the creation of the market), their services are the most mature and cover the broadest range of higher-level functionality. However, given the relatively new arrival of serverless technologies, they do still provide developers with several pain points. For example, AWS requires a large amount of configuration to deploy all these services. While they give tooling to reduce the configuration overhead, other vendors’ products like the Server-less Framework drastically minimize the learning curve and enable a quicker delivery.
Serverless technologies allow developers to focus on core business logic without having to spend as much time worrying about how their code runs and what it runs on
Another example of a pain point is the general frustration around observability: Given the number of services involved in any given application feature, developers find it very difficult to know what is going on underneath the covers. AWS has listened to feedback and built services like AWS X-Ray which allow users to see what is happening as a given API call works through the web of services, but this service, like many of AWS’s offerings still needs to grow to meet an expected level of functionality. Other vendors’ observability platforms close the gap but are ulti-mately limited by the hooks and metrics that AWS provides.
Some observers of the serverless technology space have noticed an interesting economic facet. Simon Wardley points out that since Lambda (and comparable services from other cloud providers) charges per call, companies can now report on the actual cost of a subset of a service. Previously, companies typically had to look at the aggregate value of service and could only break it down into components like storage or bandwidth. Having this insight into the specific cost of individual API calls will allow companies to optimize the price or performance at the function level. In some cases, they may even decide not to optimize, given that a given function doesn’t contribute significantly to the overall revenue of a product.
Serverless technologies allow developers to focus on core business logic without having to spend as much time worrying about and how their code runs and what it runs on. This development focus, in turn, helps companies focus what is most important to them: providing customer value.