Organizations turning to serverless computing are experiencing more agility and cost savings. With a serverless model in the cloud, as opposed to a long-running server instance, only the specific function that is needed is run, and the user only pays for the time that it needs to execute. But moving to a serverless model can be a complex chore. That’s a challenge startup Stackery is taking on with new capabilities it announced on July 25 designed to help the development and deployment of functions for the AWS Lambda service.
The AWS Lambda service, which was launched five years ago, is the pioneer and leader in the serverless—also referred to as functions-as-a-service or event-driven computing—space.
"For all the benefits you get from serverless, there's a set of challenges in the workflow level for individuals and teams collaborating in building and managing serverless applications," Chase Douglas, co-founder and CTO of Stackery, told ITPro Today. "That's where Stackery comes in."
The new service is an approach that Stackery is referring to as cloudlocal. The idea is that because of its complexity, it’s not always ideal to figure out, develop and test serverless functions from within the cloud itself. Sometimes it’s better to build out serverless computing capabilities locally.
One of the things that Stackery learned as it was building its own serverless applications is that there is a need to rapidly iterate on an individual engineer basis to develop new features, fix issues and test things out, according to Douglas. It's a need that other organizations have told Douglas they also experienced.
To deal with that challenge, over the last few months, Stackery implemented an approach that enables its customers to locally develop AWS Lambda functions on a laptop, while getting the same type of experience as if they were in the cloud.
"The interesting thing that we are enabling now is that you can now do this for free, no matter what tooling system you're using to deploy functions into AWS," he said. "So, you can get a lot of value by using our CLI [command line interface] tool now, just to be able to quickly and rapidly iterate."
Douglas said that the free tool is about individual developer workflows and is an effort to increase adoption of serverless computing. It's also a gateway to a broader Stackery offering for when an organization needs more capabilities. According to Douglas, beyond the ability to debug and iterate code locally, the tool includes additional capabilities that an enterprise typically needs when moving to a serverless model, including the ability to manage credentials and to properly manage all the different serverless functions that might be part of a larger application service.
A modern cloud application potentially could be made up of dozens of serverless functions, and each of those functions need to be instrumented consistently when it gets deployed, he said.
How Enterprise Applications Are Moving to Serverless
There are several approaches that organizations use to turn a traditional application that runs on a server into a set of serverless functions. One is called the Strangler Pattern, an approach that, piece by piece, decouples functions from a monolithic application and reimplements them as serverless functions, according to Douglas.
For new serverless projects, there are typically requirements to connect to non-serverless assets such as an existing database. Douglas said Stackery's platform has mechanisms to help provide identifiers for the database to the serverless functions in a secure manner.
Overall, there can be a great deal of complexity when moving from a monolithic application to a serverless architecture. Douglas emphasized that fundamentally it comes down to having the right workflows for developers and enabling collaboration so development teams aren't working at cross purposes. With a serverless approach, infrastructure is all code and is often defined in a number of configuration files, typically written in YAML. The Stackery platform enables organizations to visualize how different serverless functions are all connected.
While there is the potential for additional complexity with serverless, there is also more agility as well as cost savings cost savings.
"One of the really exciting and interesting things about the service approach is that you pay only for what you use, and that opens up opportunities when you compare it to a monolithic approach, or even a container-based approach," Douglas said.
With a serverless approach, organizations are only paying pennies for each developer to have their own instance of the application, as opposed to potentially $1,000 a month for a developer to have 10 containers running every day that they need to develop on the system, he said.
Where Serverless Is a Fit
When serverless first emerged in 2014 with AWS Lambda, it was seen as being useful for niche use cases, but that has changed, according to Douglas.
What has changed is that there are many integrations between Lambda and the broader array of cloud services that AWS provides that can be used to enable just about any type of application.
"For the 99.9 percent of developers and products that are being developed, those are great fits for serverless approaches," he said. "And, you know, when it comes to any specific challenge at an infrastructure architectural level that serverless doesn't support today, usually you just have to wait a couple of months and the issue will be solved."