Nov 1, 2018

High scalability and high availability apps for the cloud

Writing apps for the cloud is a conceptual leap, shifting us up the hierarchy that started with threads and led to server clusters. By understanding that apps on the cloud are forked clones of one another that must not rely on the local environment, we realised that any persistent state that we use in an app must be moved outside of the cluster or removed entirely. In return, we gain the advantages of high scalability and high availability.

The primary obstacle when adapting an app to be compatible with the cloud is handling the file system. The stateless model is both easy to set up and works well with cloud architecture.

There are a number of ways to disallow write access on the application servers, depending on the app you are deploying. It might be as simple as switching to uploading files to S3 instead of the file system, though this will also mean converting your code to use an S3 library for manipulating files. Or with something like WordPress, you might install one of the existing plugins that do this for you.