The object storage layer
In the effort of achieving effortless scalability, we must put emphasis on building stateless applications where possible. Not keeping state on our application nodes would mean storing any valuable data away from them. A classic example is WordPress, where user uploads are usually kept locally, making it difficult to scale such a setup horizontally.
While it is possible to have a shared file system across your EC2 instances using Elastic File System (EFS), for reliability and scalability we are much better off using an object storage solution such as AWS S3.
It is fair to say that accessing S3 objects is not as trivial as working with an EFS volume, however the AWS tools and SDKs lower the barrier considerably. For easy experimenting, you could start with the S3 CLI. Eventually you would want to build S3 capabilities into your application using one of the following:
- Java/.NET/PHP/Python/Ruby or other SDKs (ref: https://aws.amazon.com/tools/)
- REST API (ref: http://docs...