Your Cloud Infrastructure Scales, but is it Nimble?

Oct 24, 2023

Scalability is how you handle expected changes in traffic and load. How do you handle the things you can’t expect?

Assuming your infrastructure is on AWS, what would happen if…

  1. AWS claims your platform breaks its policies and shuts down your account.

  2. AWS’s internal security system identifies your customers’ requests to your API/platform as a D/DOS attack and begins rate-limiting those requests.

  3. You run out of free credits, you have limited runway, and you haven’t yet generated enough revenue to cover your cloud costs.

  4. As your customer base grows, you discover your chosen cloud service can’t handle your uniquely spikey workload at scale.

  5. One of the AWS services your platform depends on has an outage. Your platform is completely unavailable to your customers.

  6. A company approaches you, offering an acquisition, but only if you can move your infrastructure to GCP in the next two weeks.

For these examples, the answer is: You need to move your platform to a different cloud or cloud service. If you don’t, you’re in real trouble.

If this sounds like a list of complete impossibilities, read AWS and GCP Horror Stories. Bad Reasons Good Companies Died. These things happen.

The difference between scalable and nimble

Cloud-nimble means having the ability to quickly and easily move your platform between clouds or cloud services. If moving your platform from AWS to GCP requires code changes, you are not cloud-nimble.

How to be cloud-nimble

Cloud-nimble is being achieved in today’s market by using open-source constructs like Kubernetes. It’s a good start, but it leaves us with a lot of limitations.

Plural, Architect, and Porter allow you to be cloud-nimble, but only if you’re willing to give up using native cloud services that don’t run Kubernetes. This means that if your API runs best on AWS Lambda — in terms of cost and performance — you can’t use these platforms and you can’t be cloud-nimble.

© Exobase 2023