Let’s get this out of the way right now: Yes, serverless architecture is a buzzword. In fact, it’s one of the hottest buzzwords for 2017. But serverless is not hype—far from it. It’s a massive development that gives companies a powerful new way to reduce IT operational costs, deploy services faster, and be more responsive to customer demand.
But what does serverless really mean?
We can separate the systems companies use to execute various functions into two categories. A system could be “always on”—for example, a core ecommerce system or ERP system. Or it could be less-frequently used—a few times an hour, only at certain times of the day, or during a specific event. A good example is a utility company’s call center applications that see surges in use at the end of the month (when the bills go out) or during an unplanned power outage. A bank’s fraud detection system is another. It’s used to flag and scrutinize only a very small percentage of the thousands of transactions a bank processes daily.
Most companies manage both types of systems the same way: dedicating lots of resources—people, time and money—to keeping them running 24/7. But that doesn’t make sense. Why would you spend that much to maintain 100 percent uptime on systems that are only used occasionally?
That’s where serverless architecture comes in. In a serverless environment, a company replaces servers dedicated to specific applications by outsourcing (and abstracting) infrastructure functions to a public cloud vendor, such as Amazon Web Services. When an application isn’t being used, it sits latent, with no computing power running behind it. But when someone makes a request of the application, the infrastructure behind it automatically mobilizes all the technology components necessary to process the application’s business logic and respond to the request.
While relatively new, serverless is gaining momentum. In fact, we believe it will see significant uptake in 2017. That’s because its benefits can be so compelling.
Cost is perhaps the most eye-catching one. When you eliminate always-on systems that don’t have to be always on, you rid yourself of the complexity and demands of supporting and maintaining those systems. Instead, you have an application sitting on a hard drive in the cloud until someone uses it. And because you’re only paying for what you use, the drop in infrastructure costs can be enormous—ranging from 50 percent to 90 percent, with 70 percent to 80 percent being about average. For instance, some of the utilities we’re talking to are spending $200,000 on infrastructure plus a couple million dollars on software licenses for a single application. With serverless, we think we can get that down to just $10,000 a year. Understandably, the typical reaction from clients is sheer disbelief.
Another big benefit is scalability. Building scale in traditional architecture is very expensive. It takes a lot of people and resources to build an infrastructure that even approaches auto-scaling to meet demand. And often you still need considerable manual intervention—which can spell trouble during a surge. That’s, in fact, why utilities call us for help. Even with dedicated infrastructure to support a utility’s applications, it isn’t enough to handle the massive surge in requests during power outages. People can’t react fast enough to scale the system when the inquiries started flooding in, and websites get overwhelmed and crash—much to the dismay of customers and regulators. With serverless, those applications will automatically have access to the right amount of infrastructure support to respond to all of the requests they receive. And that support is practically infinite, bounded only by the virtually limitless capacity of Amazon’s data centers.
Finally, it often takes far less time to develop serverless applications. For instance, when Accenture puts together tailored serverless applications, we can generally do so in three to four weeks. It typically takes a team working with a traditional system three months. Why the difference? With serverless, we’re working with a set of well-known, already established infrastructure and runtime components and are simply adding business logic. We don’t have to worry about setting up servers, configuring environments, clustering, or any of the other things you have to deal with when building a traditional system.
Accenture firmly believes that for the right applications, serverless is the way to go. It just makes sense for so many reasons, and it’s time companies look more seriously at it.