Digital transformation efforts at enterprises are increasingly being driven by developers who are delivering applications at an accelerated pace by taking advantage of the improved agility and productivity enabled by cloud services. Serverless platforms offer a simplified programming model that completely abstracts infrastructure and application life-cycle tasks to concentrate developer efforts on directly improving business outcomes. At the heart of typical serverless architectures are functions that execute code. These functions are launched on invocation and shut down on completion, eliminating the problem of idle compute capacity.
Serverless functions also scale up automatically to meet the rate of incoming requests, delivering a new level of scaling efficiencies to applications. In addition to functions as a service, serverless applications are supported by a range of fully managed services including API management, database services, storage, messaging, analytics, streaming data, and monitoring. IDC sees application development best practices increasingly following the serverless application model and the serverless application model growing at a higher pace than the traditional platform-as-a-service approach.
IDC spoke with organizations that have chosen to run a variety of business applications on the AWS Serverless Platform, which consists of a collection of AWS cloud-delivered services targeted for abstraction with fine compute granularity. These organizations stressed how the AWS Serverless Platform has delivered true IT and business scalability by removing almost all friction in expanding and contracting compute and storage environments. This helps IT organizations not only better support the business but also benefit from more cost-effective IT environments tailored closely to changing business requirements. Based on interviews with AWS customers, IDC estimates that the organizations will achieve benefits worth an annual average of $382,600 per business application ($10.71 million per organization) on the AWS Serverless Platform by:
- Enabling development teams to focus on logic for delivering business applications, features, and services by automating delivery, scaling, and management of compute and storage
- Addressing business opportunities in a timely and robust way, thereby increasing revenue, by having an infrastructure foundation that automatically scales to meet business demand in a timely but cost-neutral fashion
- Reducing the impact of application and service outages through built-in availability
- Minimizing staff time required to manage infrastructure and applications
The cloud adoption journey typically starts with the lift and shift of workloads to the public cloud infrastructure because moving workloads from on-premise to public cloud does not require significant changes to existing environments and the availability of migration tools makes the task easier. This first step enables enterprises to reduce the on-premise footprint while gaining benefits of lower costs and high security of the public cloud. The second step to modernize these environments is to leverage containers, modern cloud services, and open source tools.
The popularity of containers has led to significant benefits in improving application efficiencies. The third step of cloud adoption is to refactor applications to leverage serverless platforms that package the entire application life cycle built around functions that deliver the next level of agility to customers. While broad cloud computing adoption follows these steps in sequence, IDC’s interviews with customers in this survey showed several customers skipping the first two steps and directly refactoring on-premise applications built on proprietary systems that delivered a higher-than-average ROI.
AWS SERVERLESS PLATFORM
When AWS announced AWS Lambda in 2014, it primarily consisted of delivering a completely abstracted functions-as-a-service offering that packaged compute cycles into segments billed by every 100ms. As AWS Lambda adoption grew, it soon became apparent that developers expected the complete application life cycle to be combined into an offering that could be assembled into an end-to-end application development platform.
While several of AWS’ fully managed services can be combined into a solution built on the AWS Serverless Platform, the high-level view of core building blocks is depicted in Figure 1.
Composition of applications from ready-to-use components is gaining popularity on public cloud platforms. AWS Serverless Application Repository has integrations available to a variety of AWS partners as well as prebuilt application components that can be used in a variety of use cases. The following use cases leverage a combination of AWS services and are most popular among AWS Serverless Platform customers:
- Batch processing: This is a very popular use case where files uploaded to Amazon S3 would be processed by an AWS Lambda function that significantly accelerates batch processing through the ability of running jobs in parallel. Another similar use case is transcoding video in small chunks using AWS Lambda, which reduces both the cost and the time taken compared with transcoding done using Amazon EC2.
- Real-time stream processing: An example would be a social media stream loaded into Amazon Kinesis that triggers AWS Lambda to generate trend data and store the data in Amazon DynamoDB for analytics.
- Extract, transform, load: Similar to traditional batch processing, the AWS Lambda function operates in an abstracted fashion that would read and transform each record and then load it into the target destination.
- Internet of Things (IoT) back ends: This use case uses AWS IoT for data ingestion and device management, while AWS Lambda is used to do data analysis and store the data in Amazon DynamoDB.
- Mobile back ends: This use case provides user authentication (Amazon Cognito), connection (Amazon API Gateway), logic (AWS Lambda), and notification (Amazon SNS).
- Web applications: This use case leverages AWS Lambda, Amazon API Gateway, Amazon S3, and Amazon DynamoDB to build autoscaling websites powered by serverless back ends.
- IT automation: This popular use case leverages AWS Lambda to automate the management of AWS services to handle requirements such as compliance, security, and AWS account creation.
Other use cases built on the AWS Serverless Platform are chatbots, Amazon Alexa skills, DevOps choreography, clickstream analytics, on-the-fly image resizing, and stored procedures.
Choice of AWS Serverless Platform
Business success today requires agility and flexibility to respond to changing needs but without compromising on having a cost-effective IT foundation. Organizations must address the constant pressure to minimize the time required to deliver new applications and functionality to internal and customer stakeholders. The organizations interviewed for this study emphasized that they chose the AWS Serverless Platform based on their need to address these dual challenges. They noted considering the following advantages of the AWS Serverless Platform in choosing it over other on-premise or cloud solutions:
- Providing their businesses with greater IT agility and flexibility
- Enabling development teams to build application logic rather than deal with IT infrastructure
- Reducing the time to market for new applications and features
- Easing the burden of administering and provisioning IT resources
- Optimizing IT costs, including moving opex-focused and flexible cost models for IT resources
Business Value Results
Interviewed organizations chose the AWS Serverless Platform in large part to provide seamless scalability from both an IT perspective and a business perspective. They reported minimizing the friction that deployment, management, and support of compute and storage resources exert on operations, generating benefits for their IT and business organizations.
Based on interviews with AWS Serverless Platform customers, IDC calculates that they will achieve benefits with an average annual value of $10.71 million per organization ($382,600 per business application) in the following areas (see Figure 2):
- IT staff productivity benefits: Development teams capture significant productivity gains because they need less time to deliver an increased number of new applications and features. Further, teams responsible for IT infrastructure and application management require less time for day-to-day monitoring, deployment, and support activities. IDC puts the annual value of efficiencies and productivity gains at an average of $4.64 million per organization ($165,700 per application).
- Business productivity benefits: Organizations increase the velocity with which they can address business opportunities, which results in higher revenue. Further, end users benefit from faster delivery of new applications and features. IDC quantifies the value of revenue and productivity gains at an average of $3.21 million per organization ($114,800 per application) per year.
- IT infrastructure cost reductions: More efficient use of compute and storage capacity, optimization of licensing costs, and reduced operating costs allow study participants to reduce costs associated with deploying and running their IT infrastructures. IDC values these cost savings at $2.24 million per organization ($80,100 per application) per year.
- Risk mitigation — user productivity benefits: Reduced frequency and duration of unplanned outages mean that organizations lose less productive employee time and reduce the risk of revenue loss during outages. IDC estimates the value of productivity and revenue losses avoided at an average of $0.62 million per organization ($22,000 per application) per year.
Providing IT and the Business with Agility and Scalability
Interviewed AWS customers viewed increasing the agility of their IT and business operations as fundamental to the choice of the AWS Serverless Platform. They need to eliminate — or at least substantially minimize — manual processes related to provisioning and managing compute and other IT resources.
Like most organizations, they cannot afford to have their development and business processes slowed by considerations related to deploying and operating compute and storage resources. They reported substantial gains in compute and storage flexibility afforded by leveraging code-based automation of their overall environments. As a result, organizations have increased the velocity with which they address business opportunities, while users benefit from earlier delivery of enhanced functionality through new applications and features.
While organizations that have moved workloads to the AWS Serverless Platform from both on-premise and other cloud environments benefit from increased agility, on-premise migrators are seeing greater average relative benefits. For example, on-premise migrators have reduced the time required to deploy compute resources by an average of 99% compared with 75% for organizations moving from other cloud environments. Study participants moving from both on-premise and other cloud environments discussed these benefits in specific terms:
- An organization moving from an on-premise environment cited the ease of deploying compute resources to support development: “We deploy new software with the AWS Serverless Platform, but we don’t have to manage compute deployment because it’s automatic for us. … We’ve gone from using internal tools and needing two days to deploy compute to it taking about two minutes with the AWS Serverless Platform.”
- An organization moving from another cloud-based solution discussed the benefit of automatic scaling to demand for compute/storage: “We’ve really benefited from automatic responses to capacity needs with AWS Lambda and the AWS Serverless Platform. Before, we had a capacity of 100 instances, whereas now we have the equivalent capacity of 2,000–3,000 instances per day. Those instances all scale down to pretty much nothing at night or over the weekend, when we don’t have developers doing anything. We were already doing some of that beforehand, but it wasn’t as flexible in terms of being able to scale up and down.”
CHALLENGES AND OPPORTUNITIES
Customers interviewed for this study stated that the AWS Serverless Platform is extremely efficient, scalable, and easy to use for applications. Although the business code is owned by users and redeployment on other serverless platforms is possible, dependencies on the entire AWS stack for successful implementations lead to lock-in fear among customers. Using open sourced aspects of the serverless platform such as the AWS Serverless Application Model and availability of alternatives such as OpenFaaS on Amazon EKS can help alleviate customer concerns.
As demands for new applications grow and the shortage of professional developers
worsens, the AWS Serverless Platform has a good opportunity to grow enterprise serverless
platform adoption, reducing the deficit between application demand and the ability to meet
The ability of organizations to respond to business requirements is increasingly being driven by whether their development teams can deliver timely and functional applications and services by eliminating non-value-added tasks. Historically, managing and carrying out infrastructure and application life-cycle activities have consumed substantial amounts of developer time. Time spent by developers on these activities means that they have less time to focus on building the logic that underpins valuable business applications and features. Stated differently, many organizations have failed to maximize the value of skilled development teams in improving business outcomes.
Serverless technology that abstracts infrastructure and application life-cycle activities can help organizations address the challenges related to development and business flexibility. The AWS Serverless Platform offers organizations the ability to leverage the AWS cloud with core compute functions as a service with AWS Lambda supported by other services within the broader AWS portfolio as well as integrating with on-premise workloads.