O'Reilly logo

Migrating Java to the Cloud by Jason Goodwin, Kevin Webber

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. Cloud Native Requirements

Applications that run on cloud infrastructure need to handle a variety of runtime scenarios that occur less frequently in classical infrastructure, such as transient node or network failure, split-brain state inconsistencies, and the need to gracefully quiesce and shut down nodes as demand drops off.

Applications or Services?

We use the term “application” to refer to a legacy or heritage application, and “service” to refer to a modernized service. A system may be composed of both applications and services.

Any application or service deployed to cloud infrastructure must possess a few critical traits:

Location independence
The ability to move across hosts in the event of a server failure, with no loss of state.
Fast startup
Cloud nodes are expected to fail and restart, therefore the startup time of services must be ultra fast, ideally measured in single-digit seconds.
Fault-tolerance
In-memory state will be lost when a node crashes, therefore stateful applications and services that run on cloud infrastructure must have a robust recovery mechanisms.
Reliable communications
Other processes will continue to communicate with a service or application that has crashed, therefore they must have a mechanism for reliable communications even with a downed node.
Distributed state
Cloud-native services must support in-memory state and have a mechanism for recovery in case the service fails and restarts.

Infrastructure Requirements

Some so-called cloud ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required