Chapter 24. Scalable Computing Options
Setting up, configuring, and managing servers, and deploying your applications to them, is only one way of deploying your high-scale application. There are other alternatives, each with a different set of advantages and disadvantages. In this chapter, weâll discuss various alternatives, from cloud-based servers to AWS Lambda and talk about how they differ, how they are the same, and how to decide which to choose for your applicationâs needs.
In this chapter, we compare various cloud-based1 application execution environments, specifically:
- Cloud-based servers
-
This is basic server technology. Examples include Amazon EC2 servers.
- Compute slices
-
These are traditional software applications running in compute environments independent of servers. Examples include Heroku Dynos and Google App Engine.
- Dynamic containers
-
Full server capabilities wrapped in the ability to quickly start, stop, and migrate to new systems. Docker is the best example of this.
- Microcompute
-
Small size, highly scaled, event-driven execution environments. AWS Lambda is the best example of this.
Before we compare these methods, letâs look at each of them individually.
Cloud-Based Servers
Cloud-based servers are the simplest way to acquire scalable computing, and are the most consistent with traditional programming and system architecture models. Cloud-based servers are available everywhere, with Amazon EC2 instances being the most popular and best-known example. ...
Get Architecting for Scale now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.