Skip to main content
BRILLIQS

AWS

Amazon's cloud platform, offering a large range of services for computing, storage, databases and more.

Amazon Web Services is a cloud computing platform. It provides services covering computing, storage, databases, networking, analytics and many other areas, charged according to use. Resources are created through an interface, a command line tool or configuration files, and are available in data centres across many regions.

What renting infrastructure changes

Before cloud platforms, capacity was a purchase. Servers were specified, ordered, delivered, installed and configured, on a timescale of weeks or months.

The consequence was that capacity had to be predicted in advance, and predictions were made generously because running out was worse than over provisioning. Organisations owned hardware sized for a peak that arrived rarely.

Cloud platforms change this to a request. Capacity is created when needed and released when not.

That is the fundamental shift, and everything else about these platforms follows from it.

Breadth, and what it means

AWS offers a very large number of services, covering computing, storage, databases, networking, analytics, machine learning and much more.

The breadth is genuinely useful. Most requirements have a service, so infrastructure that would have to be built and operated is instead consumed.

It is also the platform's most confusing characteristic. Several services frequently address overlapping needs, differing in ways that matter for particular cases and are not obvious from the names.

The practical approach is to start from the requirement rather than the catalogue. Deciding what the application actually needs, then finding which service fits, works better than surveying what is available.

Regions and zones

Services run in regions, geographic locations around the world.

Each region contains multiple availability zones, which are separate locations with independent power and networking, close enough for fast connections between them.

The distinction matters for two reasons.

Resilience. An architecture spanning zones survives the loss of one. This is the standard arrangement for anything that must stay available, and it is a design decision rather than something provided automatically.

Location requirements. Where data may be held is a constraint for many organisations, and choosing a region is how it is satisfied.

Access control

Policies govern what each identity may do, attached to users, roles and resources.

This is one of the more intricate parts of the platform and one of the most consequential.

Policies that are too restrictive break applications in ways that are confusing to diagnose. Policies that are too permissive create exposure, and the exposure is invisible until something goes wrong.

The principle worth applying is granting what is actually needed rather than what is convenient. Broad permissions granted to get something working, and never narrowed afterwards, are a recurring pattern that deserves resisting.

AWS publishes guidance on this, and it is worth reading properly rather than learning by trial.

Cost

Charging follows use, and each service has its own model covering compute time, storage, requests and data transfer.

Two things surprise people consistently.

Costs accumulate from many small sources. No single item is large, and the total is larger than expected because there are many items.

Data transfer is frequently underestimated. Moving data between regions, or out of the platform, is charged, and architectures that move a great deal of data can find this a significant proportion of the bill.

Cost management deserves setting up deliberately: tagging resources so spending can be attributed, alerts on unexpected increases, and periodic review of what is running. Doing this early is far easier than reducing spend afterwards.

The commitment question

How committed an organisation becomes depends on what it uses.

Virtual machines running standard software are relatively portable. The same software runs elsewhere.

Services specific to the platform provide more capability and less portability. Building on them means moving would be substantial work.

Neither position is wrong. Using managed services rather than building equivalents is frequently the right decision, and it should be made knowingly rather than discovered later.

Who uses it

AWS is used by platform engineers, infrastructure teams, developers and data teams. It is used by organisations of every size, from those running a single application to those operating their entire estate on it.

Points to consider

AWS is a commercial platform and the official documentation is the reference for services, pricing and limits, all of which change frequently.

Access control deserves proper study. It is where the most consequential mistakes are made.

Cost requires active management rather than periodic surprise. Controls and visibility should be in place before usage grows.

Service breadth means choosing well matters. Understanding the differences between similar services prevents building on one that does not quite fit.

Getting started

The official documentation covers every service along with guidance on architecture and security. Starting from a specific requirement, identifying the service that meets it, and reading that service's documentation properly is more effective than attempting to survey the platform.

Key features of AWS

Capabilities described in the official documentation.

A very wide range of services

Computing, storage, databases, networking and many specialised services are available.

Regions and availability zones

Services run in regions worldwide, each containing separate zones for resilience.

Access control through policies

What each identity may do is governed by policies attached to users, roles and resources.

Programmatic resource management

Resources are created and managed through interfaces, so infrastructure can be defined in code.

Advantages of AWS

Factual advantages that follow from the features above.

Capacity requires no procurement

Resources are created when needed rather than being purchased and installed in advance.

Failures can be planned for

Separate availability zones allow architectures that survive the loss of one location.

Most requirements have a service

The breadth of the platform means common needs are met without building infrastructure.

Infrastructure can be defined as code

Programmatic management means environments are described in files rather than configured by hand.

Common use cases for AWS

Situations the official documentation describes this tool as being used for.

Technology

Hosting applications and services

Applications run on cloud computing services rather than on hardware an organisation owns.

Media

Storing data at scale

Object storage holds large volumes of data for applications and analytics.

Retail

Running managed databases

Databases are operated by the provider rather than installed and maintained by a team.

Financial services

Building analytics platforms

Storage, processing and warehouse services are combined into a data platform.

Official website

Everything on this page is based on the official documentation for AWS. You can read the source here.

AWS official documentation

Frequently asked questions about AWS

Answers taken from the official documentation for this tool.

A region is a geographic location containing multiple availability zones. Zones within a region are separate locations with independent power and networking, close enough for fast connections between them. Architectures spanning zones survive the loss of one, which is the usual reason to use several.

Services are charged according to use, with each having its own model covering compute time, storage, requests and data transfer. Costs accumulate from many small sources, and data transfer in particular is frequently underestimated. The official pricing documentation is the reference.

Because policies determine what every identity can do, and the consequences of getting them wrong range from broken applications to exposed data. It is one of the more intricate parts of the platform and one of the most important to understand properly.

To a degree that depends on which services are used. Running virtual machines is relatively portable. Building on services specific to the platform makes moving substantially harder. This is a trade between capability and portability worth making deliberately.