An experiment with AWS Lambda & a Serverless Framework
“I wanted to use the Serverless Framework to create something simple that could be deployed, run and stripped down again really quickly.” Dootrix Tech Lead, James Robinson.
We’ve been doing a lot of work with Serverless Frameworks for several clients and in a previous post Kevin Smith, our Technical Director explained how and why Serverless technology will matter to your organisation – summarised by the line, “It’s not about infrastructure, it’s about providing a discreet capability.”
In a wonderfully concise, but highly technical blog post, one of our Tech Leads, James Robinson, describes his experiment ‘… to see how easily I could run code to solve one problem on hundreds of servers in parallel using the event-driven serverless services of AWS.’ If you have a deep technical interest in AWS Lambda or Serverless Frameworks, his article is well worth a read.
For those of us less technical, one of the key results that James’ experiment proved was the cost efficiency of Serverless frameworks, echoed in Kevin’s to point summary of ‘Why does Serverless Matter?’
- We only pay for what we use, right down to the individual CPU cycles it takes to run one of those Lambda functions; each borrow or return incurs a tiny, tiny cost, but we do not pay for any always on virtual machines or physical infrastructure. As such, there is also no cost required to maintain and patch them.
- All services are fully elastic. We do not need to define scaling rules. We do not need to plan for more infrastructure. AWS takes care of it all; it does whatever it needs to do to ensure we always have enough capacity to handle the load. This means that we can scale the rollout to a huge number of libraries without having to worry about supporting infrastructure changes. What’s more, we can do this while continuing to keep the costs low, only paying for what we actually use.”
“Serverless does not mean there are no servers involved; it just means you don’t have to care. Provisioning the machines (physical or virtual), installing the operating systems, patching the operating systems, managing the software, updating the software, procuring and managing specialist networking equipment. All gone. The infrastructure that is running all of your stuff is still there, but it’s abstracted away. It’s someone else’s problem. That means we can stop thinking in terms of servers; database servers, application servers, file servers etc, and think instead in terms of services.”
As James concluded, “The Serverless Framework simplifies the power of CloudFormation; defining the architecture for your application in one ‘stack’ to be deployed when you choose, and abstracts it to make it easier to deploy where you choose (i.e. Azure or other providers). It gets a lot of its power from the complete control that the AWS SDK can give you; if you want to write code to auto-scale your Kinesis Shards or monitor your billing costs, you can…”
If you want to understand how a serverless framework could help your company become more efficient and cost-effective, or to explore any of the benefits of using a true cloud infrastructure, please do get in touch. All the details are at the bottom of the page.
Subscribe to our newsletter for free advice delivered to your inbox on a fortnightly basis.
3 Superpowers for building better apps, faster
Designing and developing mobile apps is a challenging business. The process of getting a digital product into the hands of users quickly is never a walk in the […]