What it is
Amazon S3, the Simple Storage Service, is AWS's object storage. Files are stored as objects in buckets and read or written over an HTTP API. It is built for very high durability and scales without any capacity planning, which is why it sits underneath so much of AWS: backups, logs, data lakes, application uploads and static websites.
Access is controlled with IAM and bucket policies, and buckets are private by default. For websites, the usual pattern is a private bucket with CloudFront in front, so visitors get a fast, cached HTTPS site and the bucket itself is never the public address. Storage classes trade price against how quickly and often data is read.
How I use it
- The static pages of mervinc.com sit in a private bucket, served only through CloudFront with origin access control.
- The Rental Pilot React web app and customer portal deploy to S3: build, sync, invalidate CloudFront, then a smoke suite against production.
- Client sites like Rail & Sail Montessori House and Zero Cut Disability Society run from S3 through CloudFront, for well under a dollar a month.
- Lambda code bundles for the mervinc.com stack and the build log's hourly numbers file are published to S3.
- Inbound mail for mervinc.ca lands in S3 through an SES receipt rule before a Lambda forwards it.
S3 is the right home for anything that can be built ahead of time into files: marketing sites, single-page apps and deploy bundles. There is no server to patch and nothing to keep running. I reach for it whenever a site does not need a database, and keep the bucket private behind CloudFront every time.
Questions
Can a business website run on S3 alone?
A static one can, behind CloudFront. Rail & Sail Montessori House runs that way, in the school's own AWS account, for well under a dollar a month plus the domain.
Should an S3 bucket be public for a website?
No. I keep buckets private and serve them through CloudFront with origin access control, so the bucket is never the public address.