Does Serverless Make Sense for Your Organization?

Photo by Kevin Ku on Unsplash

By Ofir Nachmani

Your IT department is devoted to developing applications and new features as well as maintaining, patching, and monitoring your servers. You spend more time than you’d like putting out fires and keeping an eye on your infrastructure. Despite this heavy responsibility, you’re still being pushed to generate more value for your customers and innovate on a dime.

Does this scenario sound familiar to you?

To cope with this challenge, many IT and R&D leaders are turning to serverless technologies such as Amazon Lambda and Azure Functions.

As the fastest growing cloud service model, the serverless market is projected to reach nearly $22B by 2025 (with a cumulative annual growth rate of close to 28 percent). With a growth rate of this magnitude, you’ve likely heard the buzz surrounding serverless computing.

Let’s dive into the benefits and some potential use cases.

The Benefits of Serverless Technology

The focus for IT and innovation departments has shifted from infrastructure management to development. For many companies, this shift pays off; a 2018 Hackernoon survey found that early adopters of a serverless technology reported a 77 percent increase in delivery speed and an average of four developer workdays saved per month. By removing the time-intensive tasks of provisioning and infrastructure management, internal resources are freed up, allowing for focus on business needs, adding value, and development.

For businesses that need to experiment and innovate regularly at a breakneck pace, serverless often makes sense. RightScale’s 2019 State of Cloud Report found that serverless technology experienced a growth rate of 50% from 2018 to 2019.

How Businesses Use Serverless

As you work to determine whether a serverless approach would make sense for your organization, take a look at how other companies are leveraging similar strategies for a range of initiatives.

1. Revenue Forecasting

IndieHackers is well known for its collaborative community of tech founders and entrepreneurs. Their team recently worked with DataBlade to evolve a current forecasting model outside of the DataBlade platform. The model was key to making strategic budget and resource allocations.

IndieHackers and DataBlade decided to leverage a serverless web application to interact with an accessible, on-demand standalone implementation of the forecasting mode. By employing a serverless strategy, IndieHackers and DataBlade were able to deliver a forecasting model backed by data science that is on-demand, scalable, and simple to deploy.

2. Replace Inefficient Processes and Reduce Errors

Netflix has relied on AWS to help scale infrastructure and meet customer demand for years. Neil Hunt, Netflix’s Chief Product Officer, highlighted AWS Lambda as a key component of the company’s initiatives to root out inefficient processes and reduce errors.

Netflix uses AWS Lambda to help simplify managing its complex, dynamic infrastructure by using event-based triggers. These triggers are paramount to developing a self-managing infrastructure, automating the encoding of media files, validating backup completions and instance deployments, and more.

Lambdas are responsible for checking the countless Neftflix files that are modified each day, determining if they need to be backed up as well as making sure they are checked for validity and integrity.

3. Manage Billions of Dollars in Transactions with a 100% Serverless Strategy

The Shamrock Trading Corporation is the parent company for five brands in the transportation services, finance, and technology industries. Shamrock depends on their invoicing system, trucking fleet software, and check depositing app to keep their customers in the financial services and logistics verticals happy.

Interestingly enough, all of those services are serverless. Shamrock moved to an entirely serverless strategy to reduce costs and eliminate the need for active scaling. By moving their Docker app over to a serverless workload, they were able to bring their costs down from $30,000 a month to $3,000. As a result of this success, Shamrock is converting more legacy applications to serverless

4. Collect, Analyze, and Deliver Play-by-Play Analytics

AWS drives the Major League Baseball Advanced Media’s (MLBAM) Player Tracking System. The digital, interactive arm of MLB set out to find an innovative method of collecting and analyzing plays from ballparks across North America. The MLBAM team knew they needed a way to produce analytics in seconds during the baseball season and the capability to turn things off during off-season.

With AWS, the Player Tracking System gets metrics and video into the hands of broadcasters within 12 seconds of the play’s completion. The system leverages a range of products including AWS Direct Connect, Lambda, Amazon EC2, Amazon S3, Amazon ElastiCache, Amazon Dynamo DB, and Amazon CloudFront.

5. Faster Time to Market for New Services

As a web and mobile app engagement company, Localytics needs to be able to support and manage billions of data points each day from various mobile apps on the company’s software. To create new services, Localytic’s engineering department needed to access subsets of said data and get it to customers quickly. The company’s previous method required the engineering team to deal with infrastructure management, capacity planning, and utilization monitoring.

Localytics now uses AWS to send billions of data points each month, which ultimately end up in an Amazon Kinesis stream. As each feature of the software is created, a microservice leverages Lambda to access that Kinesis data stream. The engineering team can focus on creating new services without having to deal with provisioning and infrastructure management for each microservice. Lamda scales up and down as the load requires, and each new feature functions independently as a microservice.


Wait. That’s Not All. 3 More Interesting Use Cases

Looking for more on how and where to integrate serverless into your IT strategy? AWS provides a comprehensive set of guides, API references, tutorials, and projects.

Learn to run code on AWS Lambda without having to provision or manage servers. If you’re interested in the prospect of releasing code faster, learn how to build a serverless application with AWS Codestar and Cloud 9. You can also find documentation for hosting the back-end logic of your website on AWS Lambda so your team can spend more time on front-end functionality and UX.

But Consider…

1. Lock-In Effect

This potential drawback to serverless goes hand in hand with vendor dependency. It’s in the best interest of your serverless platform to make your user experience as “sticky” as possible. In other words, they don’t want to make it easy for you to switch from one provider to another. If you do decide to change providers, you face the potential of having to re-engineer applications.

2. Time-Limited Tasks

If you’re working with long-term tasks, serverless may not be the right approach. Your serverless provider will give you a time limit to execute a task, which typically works well for short or real-time processes. If you need to exceed that time limit, you’ll have to call on other function(s) to execute the task. Furthermore, you won’t be able to execute long-term tasks if you reach the time-out limit.

However, major providers have been actively working to make running long jobs easier. For example, AWS now offers AWS Step Functions, which allows you to create rather large workflows consisting of small jobs. And Azure’s Premium plan has no time limits whatsoever for executions.

3. Cold Starts

With the serverless pricing model, you generally don’t pay for the function idle time. When there is no load to your service, the cloud provider will “freeze” the containers (where the functions are run) provided to that service. Of course, when users resume activity and the load increases again, the provider needs to unfreeze those containers or even create new ones in order to handle all the requests quickly.

This unfreezing/new container creation process is known as “cold starts” and usually takes up to half a second to complete, a delay that may be noticeable to users. Additional requests to the container, however, will be handled without such delay. Moreover, the issue of delays will soon be resolved: Azure’s Premium plan allows customers to nullify cold starts. AWS has also offered a solution to this problem. In 2019, the cloud service provider launched the “Provisioned Concurrency” feature, which helps to avoid cold starts in a smart way.

Bottom Line

While a serverless approach won’t work for every scenario, it can certainly free up resources and provide greater flexibility in the right context.

This article was originally featured on IOD’s blog. Check it out to learn more about IOD Cloud Tech Research, or to find out how to become a tech blogger and write for us on the topics you’re an expert on.

Jen @ IOD Cloud Tech Research

Written by

Content at the intersection of tech and business with a focus on cloud, devops, & serverless. Content created by tech experts @ iamondemand.com. Curated by Jen.

More From Medium

More from Jen @ IOD Cloud Tech Research

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade