All-at-Once Service Rewrite
Applications developed with a serverless-native approach benefit from using the full potential of managed services. For example, if your legacy application stores binary large objects (BLOBs) in its relational database, you will find Amazon S3 is the better storage option as the application is migrated to serverless.
Rewriting the business logic confined inside your legacy application enables you to untangle the hard dependencies and rearchitect it as event-driven and loosely coupled microservices to support future scaling and business growth. Migrating legacy monolithic applications to microservices requires a good understanding of the business domain and microservices principles and patterns. Sam Newman’s book Monolith to Microservices (O’Reilly) is a great resource on this topic and covers several migration patterns.
Workload suitability
An all-at-once service rewrite is a useful migration strategy for just about any work‐ load, with the exception of a few outliers mentioned in “Assessing Workloads for Serverless Suitability” on page 47. Apart from those special cases, serverless technol‐ ogy is well suited for most applications in this modern world.
Here are a few use cases as a guide, but bear in mind that this is not an exhaustive list:
High-volume event ingestion and processing
There are a range of workloads that ingest, store, process, and distribute events in high volume. For example, website clickstream events reveal user behavior and offer opportunities for personalization. When you multiply hundreds of events generated per customer visit by thousands or millions of customers concurrently browsing the website, you get the potential scale of this operation.
The number of visitors to the website can vary dramatically depending on the time of the day, day of the week, season of the year, special occasions, weather patterns, and global and local economic and political events. A simple architec‐ ture is enough for scaling, availability, and near-real-time processing.
Scheduling and activating a large number of tasks
Organizations often have several business functions that run on a schedule: expired session data cleanup, policy renewal reminders, special occasion greet‐ ings, etc. Some are deliberately scheduled to happen at a particular time of day, such as batch jobs set to run when energy consumption is low, or low-priority tasks scheduled for when fewer users are using the services. You can use server‐ less services to schedule millions of one-time and recurring tasks, eliminating mundane and inefficient custom logic.
Highly scalable backend applications
A variety of backend applications power both small- and large-scale web applica‐ tions. As you saw in the event-streaming example, the scale of operation of these applications varies. The volume of users, the unpredictability of visitor patterns, and the ease of extending the services are some of the basic concerns of enter‐ prises that operate in ecommerce, insurance, finance, gaming, multimedia, and other domains. Once they’ve successfully migrated to serverless, organizations will see a reduction in their total cost of ownership (TCO) and, critically, will have a technology platform that allows them to innovate faster.
Big data and data lakes
Successful organizations collect and use data in the right way. The more useful the data, the better. Organizations that battle with legacy tech stacks constrained by the vertically scalable nature of databases can benefit immensely from server‐ less. AWS offers a variety of data stores as managed services to operate with unimaginable volumes of data—there’s a data store for every type of data in AWS. With the services offered for data lakes and lake formation, running analyses and building insights, archiving and deleting data, etc., teams can focus on extracting value from the data to make data-driven business decisions.
Data-driven is a strategy where business decisions are made based on evidence found in the data. Data-driven organizations collect and analyze data to find insights that enable them to make informed decisions, rather than making hasty decisions without any solid basis. To make decisions based on data, companies require the technical capabilities to ingest, process, store, analyze, interpret, and report on vital clues and patterns that emerge from the data landscape—hence the necessity for big data platforms and related services.