Archive article - published on April 08 2021
The term serverless architecture seems like an oxymoron—you know when contradictory terms are used to describe something. Artificial intelligence is one example of an oxymoron often debated by IT intelligentsia. More accurately, however, serverless architecture is more of a misnomer. Servers are still engaged in the compute functions associated with applications, but cloud computing developers rely on the delivery of that horsepower from a cloud service provider. In turn, when an application is unused, computing resources are not engaged.
Pokémon GO Exemplified Serverless Architecture
Who doesn't remember Pokémon GO? When publisher Niantic teamed up with Nintendo, nobody could have imagined that the augmented reality mobile game would be such a knockout. The game's freemium business model and immersive gameplay, which combined IRL exploring with online adventures, led to over a billion downloads. At its peak of popularity, the game saw nearly 30 million daily players. According to a Google white paper, "Within 15 minutes of launching in Australia and New Zealand, player traffic surged well past Niantic's expectations." The publisher knew they had a hit and also knew they needed help.
Working with a team from Google Cloud, Niantic tapped into over a dozen of the cloud provider's services like Cloud Datastore and its Network Load Balancer. At the heart of the game's impressive ability to scale with the torrent of new users that logged on as each new consumer market opened was the Google Kubernetes Engine (GKE). This deployment was so massive that it came to be the largest container-based deployment in the world. The serverless architecture's massively scalable nature provided enough flexibility and resources to make Pokémon GO a huge success.
Not All Serverless Architectures Require Pokémon-Sized Scale
The scale in magnitude and speed required by Niantic is not typical of most businesses. Despite that, a serverless architecture makes sense even for companies with more moderately-sized workloads. While those applications and needs can vary, here's a look at some of the top uses according to Google and others for the serverless approach.
1) APIs
Whether you have an API that's passing data between one system and another, or one that sits between your backend and a web client, serverless is excellent. Serverless enables quick, intermittent calls for loads that can vary in size. Because call volume changes based on time of day or other market variables (like a flash sale), the architecture used must handle the dynamic nature of the environment. Here, serverless excels.
2) Data Processing
Processing data, whether that's customer data or point of sale transactions, leveraging serverless storage and compute flexibility drives efficiency into business operations. Remember, just because serverless is in the Cloud doesn't mean that data processing isn't done in real-time.
3) When Time is of the Essence
Serverless architecture provides the ability to build apps and deploy them to a production environment within seconds. Developers can now develop a minimal viable product (MVP) initially and incrementally add features over time. This significantly lowers time to market when compared to developing a full feature-spec product. Giving developers the ability to code how they need to meet the immediate requirement increases productivity.
4) When Latency Matters
With serverless, creating a point of presence closer to the end-user is easily achieved. By eliminating the need for requests to hit an origin server, latency is reduced. A company that provides on-demand delivery of data, for instance, might utilize serverless because the code for the application can be run from anywhere. As data loads continue to grow, the send and receive model will rely heavily on architecture capable of accommodating rapid responses to requests.
5) When Resources Are Tight
Compared with on-premise models, the costs associated with serverless computing are minimal. The budget needed for access authorization, presence detection, and security is eliminated under a serverless model. Additionally, companies only pay for time when their code is running. As an added cost-benefit, since engineers are no longer bogged down running and maintaining servers, they can focus on items that drive revenue and customer satisfaction.
Find Your Serverless Solution
There's plenty of use cases where serverless makes sense. Whether from a system architecture perspective or a cost perspective, a trusted Google partner can help you explore your options. Daily, WALT Labs aids businesses of all sizes find the right serverless and other Cloud-based solutions. Contact us today for a no-obligation consultation.