Serverless computing on AWS is a concept we’re seeing rise in popularity as clients try to bring new products to market more efficiently. Going serverless can help your company remove infrastructure and operations responsibilities from its workloads so your teams can concentrate on product development.
Serverless computing takes its name from the invisibility to the user of its underlying hardware infrastructure—meaning your teams can get straight to developing and running applications, without having to manage the everyday maintenance and provisioning of servers.
Serverless computing offers significant payback to organizations that make the best use of it. Benefits may include scalability, agility and speed, and enabling more innovative, cloud-first products to meet customer demand.
With serverless technology, infrastructure management tasks like capacity provisioning and patching can be handled by your cloud services provider, such as AWS, freeing you and your teams to focus solely on the code that serves your customers.
Seamless invisibility of server controls and automatic scaling of server resources (such as from zero-to-peak demand) can enable faster customer response times and lower cloud operational costs that are based on actual web app traffic. If your web application sees frequent highs and lows in demand, for example, or it’s affected by seasonality, operational costs may be lower due to the AWS pay-as-you-go pricing model.
Serverless computing can make development teams more efficient. In the typical public cloud compute service, such as AWS EC2, developers often wind up with the “side job” of configuring server resources for the servers on which they develop apps. This may include tasks such as reallocating server resources, server-specific maintenance and coding to support a specific server platform. In a serverless environment, however, application architects and developers can concentrate on higher priority needs and have the opportunity to build, iterate and deploy more rapidly.
In addition, most serverless services support advanced deployment automation methodologies that can reduce deployment and, when required, rollback times, thereby reducing the risk of a release. This pairs seamlessly with the agile development approach, which requires you to make frequent and smaller releases and helps you to be more flexible and get to a finished product much faster. A greater level of flexibility and efficiency is important for organizations to react in real-time, especially for sectors such as healthcare and retail.
Our team recently worked with a client in the education industry. The client came to us using an aging, third-party solution for processing incoming payments. The client was struggling for several reasons:
After working closely with the client’s team and gathering a full understanding of their current state and the goals they wanted to achieve, we began by building a proof-of-concept (POC). In both the POC and the final platform architecture, we broke up their complex, monolithic architecture into individual components as a microservices-based system, to help their team iterate and deploy new features faster.
In addition, during the architecture design process, we performed a detailed analysis of eligible services from AWS. Considerations included factors such as cost, maintenance overhead, availability of skills on the client’s team for ongoing development and maintenance of the solution, and the ability to integrate with existing systems and services.
The active POC allowed the client to see how its new serverless architecture would operate. The POC environment integrated with the client’s other third-party systems, demonstrating how a serverless alternative would pay off in real time.
Being convinced about the merits of the serverless approach, the client then tasked us with transforming the POC into a full-blown production build of the entire set of features. It was extremely important to the client that a flexible serverless architecture was put in place so that its teams could easily deploy updates. We were able to scale up the development process by allocating development of individual microservices to separate teams working parallely and helped the client achieve their tough go-live deadline with a successful launch of the platform.
Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), AWS Lambda, Amazon Aurora (a MySQL and PostgreSQL compatible relational database engine) and AWS Fargate (a compute engine for Amazon ECS that runs containers without having to manage servers or clusters).
In the end, the combination of serverless and microservices was the right fit, and the new serverless platform resulted in several benefits to the client:
Serverless is used to solve many different types of software challenges, including web applications and portals. Data and analytics is also a growing area for serverless and is being driven by advances from AWS, with new serverless services designed for data. We are increasingly seeing clients look at embedding serverless into their application modernization efforts, resulting in faster speed to innovation.
Keep in mind that there’s a learning curve involved with serverless adoption, and existing systems may need substantial modification to realize the full potential. Your organization should be prepared to invest the time upfront or hire specialists who already have serverless experience. If you’re venturing down this path, PwC can help you navigate what may be needed to upskill your team around serverless. If you’re interested in learning more about how we can help, let us know.
In the meantime, learn more about our suite of AWS cloud solutions, offerings, tech-enabled services and tools designed to help you implement your cloud transformation.
This article is part of a series that was introduced in Modernize your legacy applications in the cloud.