Sponsored content WHITE PAPER Market Pulse

Serverless Computing: The Right Architecture for Agile Innovation

THE DIGITAL ECONOMY IS HERE, and with it comes allocation of machine resources. As such, the serverless model significantly higher business and technology expectations. eliminates the need for provisioning, managing, scaling, and On-demand has become the new norm, and consumers expect maintaining infrastructure. The cloud provider handles all of a highly customized experience. As organizations jockey to these aspects, including fault tolerance, availability, and scaling. meet the demands of the new digital reality, IT is tasked with By design, true serverless platforms provide a cost-effective cost-effectively shortening the time to market while also way to leverage event-driven to accomplish a improving agility. wide array of tasks that have become commonplace in today’s digital economy. The serverless computing model presents IT with an avenue to achieve this goal by creating a new way to leverage cloud Why microservices? Employing microservices is the nimblest computing. With its event-based approach to computing, a way to compose a system, and the ability to develop using this serverless approach lets organizations be more responsive function-centric approach is a key differentiator for serverless in faster ways. This paper will explore the topic of serverless computing. Microservices let organizations break down an appli- » computing, how it can benefit today’s organizations, and what resources are available to help optimize this emerging tech- nology.

Defining serverless computing In its most basic form, serverless computing is a cloud execu- tion model in which a cloud provider dynamically manages the

IDG Communications, Inc. 2 SERVERLESS COMPUTING

n Agility to innovate. It’s becoming imperative for businesses across all industries to adapt and innovate quickly, capitalizing on valuable opportunities to reduce time to market.

“Serverless computing allows development teams to devote more time to core products and allows them to build scalable, reliable systems more quickly and easily than when using server-based architectures,” says Mike “Serverless computing allows development teams to Deck, principal solutions architect at AWS. devote more time to core products and allows them to build scalable, reliable systems more quickly and n Reduced operating costs. The serverless computing easily than when using server-based architectures” model can create significant cost savings by eliminating — Mike Deck, principal solutions architect at AWS the need to pay for idle servers. Unlike traditional cloud deployments, the event-based nature of the serverless platform means organizations pay only when the cloud service provider executes its code. cation into discrete components that can be developed, scaled, run, and maintained independently, allowing for faster agility — Examples of instrumental business tasks that require for example, one to process an input, one to bring in data, and processing capabilities include transaction order another to create an output (i.e., a social media user who posts processing, clickstream analysis, data cleansing, metrics a status update). This action triggers a microservice to run code generation, social media analysis, and IoT device data that scans the user’s friends list before invoking other services telemetry. The cost of having servers dedicated to handle based on its business rules, such as sending push notifica- these events, however, can add up quickly. A serverless tions to appropriate friends. What makes this different? Rather environment eliminates this need. than having one monolithic application, the organization now has swappable components that serve as rapid pivot points to n Maximized resource usage. A lot of undifferentiated respond to market changes or demands. heavy lifting is associated with provisioning, scaling, and managing servers. Serverless computing removes ’ (AWS) platform of services for building all of these procedures from the equation. With built-in serverless applications features AWS Lambda at its core. As fault tolerance and availability, developers no longer one of the most complete and production-ready serverless need to worry about the boilerplate components of a implementations available today, Lambda empowers organiza- traditional app, such as web servers or software that tions to run code for virtually any type of application or backend handles reliability and scaling. This also eliminates the service — all with zero administration. After uploading code, need for a systems expert to handle traditional server Lambda takes care of everything required to run and scale code teams. with high availability and fault tolerance. This is true whether the code automatically triggers from other AWS services or directly “Serverless is the right way to be cloud-native,” says Tom from any web or mobile app. The code then runs in parallel, Myers, senior cloud architect at Accenture. “If I have a processing each trigger individually, while scaling precisely with function and application that I am willing to redesign to the size of the workload. optimally work in the cloud, I would design for server- less because it would be agile and a better cost pattern Specific categories that benefit from serverless computing’s without the same restrictions of getting embedded dynamic use of resources include massive data crunching, click- technology to work in the cloud.” stream analysis, and any other high-volume data integration — for example, funneling information from the Internet of Things (IoT). Here, sensors feed data into organization apps to trigger a Shortening the learning curve corresponding event, such as automatically ordering a part to Consulting partners can play a critical role in helping organi- avoid catastrophic equipment failure. zations realize the full potential of serverless computing. For example, an experienced partner such as Accenture can help Understanding the business benefits Serverless computing presents organizations with a variety of text continued on page 4 potential business benefits. 3 SERVERLESS COMPUTING

Key Considerations When Leveraging Serverless Computing

The process of decomposing monolithic apps into microser- a single server process with multiple Lambda functions, each vices is understandably an architectural shift. Fortunately, an function has a single, well-defined responsibility. Tools such experienced consulting partner can help shorten the learning as AWS Serverless Application Model (SAM) and the server- curve. What follows are a few of the key areas where atten- less framework simplify the definition and management of all tion to detail is crucial. serverless application components.

1. Leverage the entire platform appropriately. 3. Embrace the notion of statelessness.

The best results occur when organizations start by identi- When processing events in a traditional server-based appli- fying the use cases that optimize the dynamic serverless cation, code can store activities locally in memory with the platform. ability to refer repeatedly back across instances of the code. Depending on the type of application, however, the largely To help organizations achieve this goal, AWS offers a rich stateless nature of Lambda may require a complementary set of tools that integrate tightly with the serverless plat- mechanism for enabling long-running workflows. form. These include Amazon CloudWatch, AWS X-Ray, AWS CloudFormation, AWS CodeStar, AWS CodePipeline, AWS Orchestration solutions such as AWS Step Functions enable CodeBuild, AWS CodeDeploy, and AWS Cloud9. developers to coordinate the multiple, related application components that are typical in a serverless application, while A large and growing community of independent software still allowing those applications to comprise small and short- vendors also provide deployment and monitoring solu- lived functions. Orchestration services also simplify error tions with great support for serverless applications on handling and provide integration with legacy systems and AWS. These include continuous integration and continuous workflows, including those that run for longer than serverless delivery (CI/CD) partners such as CodeShip and Cloudbees functions themselves generally permit. for managing automated deployment pipelines, and moni- toring partners such as Dynatrace, SignalFx, and IO Pipe 4. Conduct performance optimization and with deep integrations available for Lambda and other AWS address security considerations. services. Performance optimization is different on the serverless An array of open source projects also focus on serverless platform. Success relies on minimizing the size of the deploy- applications such as Apex, ClaudiaJS and Chalice. Opera- ment package, and bounding the scope of each function tional controls and deployment options such as per func- becomes important. As such, building operational consid- tion concurrency limits, traffic shifting for Lambda, phased erations into a design from a code perspective is crucial. deployments, and Lambda aliases/API GW stages further Organizations need to test for scale and have the necessary enrich this environment. insight to do so. This is where embracing a cost-based build is a pivotal part of the design process. A serverless approach 2. Address the deployment automation process. accomplishes this by guiding developers toward appropriate solutions. Getting this step right is crucial for mature organizations with existing pipelines built specifically for traditional server-based Additionally, within a serverless environment, the security environments. Fortunately, many of the same tooling and model includes fine-grained access controls at the function practices apply when moving from server-based to server- level. As such, fewer attack surfaces exist, and the possibility less — for example, using a build service such as Jenkins. of accidentally leaking an SSH key or forgetting to apply a Within the AWS tool set, developers can use the same CI/CD critical operating system patch are no longer issues. Also, tooling for server-based or serverless applications. for AWS Lambda in particular, the short-lived nature of the execution environments where code runs means that, even Once organizations have a comfort level with function-based if an attacker compromises an instance, very little time microservices, the serverless approach ultimately simplifies exists for exploits to occur before the isolated environment is architectures. Although organizations may end up replacing destroyed. 4 SERVERLESS COMPUTING

For more information, please contact:

Tom Myers senior cloud architect at Accenture

[email protected]

Miha Kralj Serverless computing gives organizations the managing director, cloud architecture at Accenture ability to rapidly prototype and trial-balloon new [email protected] products or services, then pivot easily based on market response. This is the very definition of an IT Accenture AWS Business Group architecture that can drive agile innovation. [email protected]

continued from page 2 continuous delivery (CI/CD) and application monitoring. Simply put, leveraging Accenture’s knowledge base can significantly companies identify and capitalize on opportunities to improve accelerate a development team’s adoption of these prac- agility and innovation using serverless computing. tices and prevent the initial mistakes that often come when adopting a new technology, says Myers. “It’s crucial to evaluate both the technical and organizational aspects of building and operating systems. Accenture has the The bottom line ability and experience to objectively review use cases and help Serverless computing has very real business benefits — determine if serverless is the right fit,” says Myers. “We have reduced operating costs and enhanced innovation among teams in place who understand the challenges and know how them. It also allows development teams to focus on building to get you over the hurdles.” scalable, reliable systems more quickly and easily than they could using server-based architectures. When properly leveraged, the serverless computing model enables organizations to move faster and decrease time to The ability to improve agility and reduce time to market market. And, consulting partners play a huge role in helping delivers true business value. Serverless computing gives with any organizational changes necessary to take full advan- organizations the ability to rapidly prototype and trial-balloon tage of the serverless model. new products or services, then pivot easily based on market response. This is the very definition of an IT architecture that A partner such as Accenture has deep expertise in the technical can drive agile innovation. best practices when architecting serverless compute environ- ments, including foundational development practices such as building a standardized approach for continuous integration and Click here to learn more.