AN INTRODUCTION TO
Wednesday 29th April 02020
John Dalziel 

@crashposition
Tech Lunch and Learn
2020EDITION
Introduction
• 30+ Years in Digital Media.

• 20+ Years in Web Development.

• 7 Years AWS Development.

• Currently a DevOps Engineer for
Capgemini, working at HMRC Digital.
John Dalziel 

@crashposition
What we’ll cover
• Amazon Web Services

• AWS Architectures: 

Virtual Machines, Containers
and Serverless

• Q&A
John Dalziel 

@crashposition
• Launched in 1995

• World’s biggest online retailer.

• Handles one third of all US e-commerce.

• Amazon is valued in excess of $1 trillion.
WEB SERVICES
MANAGED WEB SERVICES
A Web Service is any cloud-based, managed service:

examples:
• Web Hosting (e.g. Wix, Squarespace)

• Web Mail (e.g. GMail)

• Web Storage (e.g. Dropbox)
• Security and Compliance is a shared responsibility between
AWS and the customer.

• System architecture choices can greatly influence this balance.
SHARED RESPONSIBILITY
MANAGED WEB SERVICES
SaaS
Least Control Most Control
Least Responsibility Most Responsibility
PaaS IaaS
Software as a Service Infrastructure as a ServicePlatform as a Service
Wix, Squarespace, 

Shopify
AWS, Google Cloud,

Microsoft Azure
Heroku, GoDaddy
Software
YOUR RESPONSIBILITIES
Operating System
Hardware
Software
Operating System
Hardware
Software
Operating System
Hardware
INFRASTRUCTURE AS A SERVICE
• Amazon Web Services (launched 2002)

• Google Cloud (launched 2004) 

• Microsoft Azure (launched 2009)
Market Leaders
2002
2006
SQS, S3, EC2
2020
Compute Storage Databases Networking Security
AMAZON WEB SERVICES
Machine Learning Mobile Satellite Robotics Dev Tools
Analytics AR/VR Blockchain Gaming IoT
MODULARITY
AWS
is modular
Amazon
is modular
Web Services
are modular
WEB SERVICES are MODULAR
• Web Services are modular and self contained.

• Web Services have no external dependencies.

• Communication is through a well defined API
(Application Programming Interface).
AWS is MODULAR
• Each service has a dedicated team.

• Each service is self-contained. 

(no external dependencies)

• Each service exposes an API.
AMAZON is MODULAR
• All teams will henceforth expose their data and
functionality through service interfaces.
• Teams must communicate with each other
through these interfaces.
• There will be no other form of interprocess
communication allowed: no direct linking, no
direct reads of another team's data store, no
shared-memory model, no back-doors
whatsoever. The only communication allowed is
via service interface calls over the network.
Excerpts from a Jeff Bezos memo c2002. • It doesn't matter what technology they use.
HTTP, Corba, Pubsub, custom protocols --
doesn't matter. Bezos doesn't care.
• All service interfaces, without exception,
must be designed from the ground up to be
externalizable. That is to say, the team must
plan and design to be able to expose the
interface to developers in the outside world.
No exceptions.
• Anyone who doesn't do this will be fired.
• Thank you; have a nice day!
– Benedict Evans
https://www.ben-evans.com/benedictevans/2017/12/12/the-amazon-machine
“Amazon, then, is a machine to make a machine
- it is a machine to make more Amazon”
ARCHITECTURES
Virtual Machines

Containers

Serverless
Example: LAMP Stack
Classic Web Hosting
DNS
Classic Web Hosting
Classic Web Hosting
http://www.example.com
DNS
ARCHITECTURES
Virtual Machines
Amazon Web Services
PRIVATE NETWORK
AWS is available in 22 Geographical Regions (4 more planned)
Each region contains multiple Availability Zones (AZ’s)
Each AZ can span one or more data centres.
PRIVATE NETWORK
PRIVATE NETWORK
Region
Availability Zone Availability Zone Availability Zone
VPC
Public Subnet
Private Subnet
Public Subnet
Private Subnet
Public Subnet
Private Subnet
VPC: Virtual Private Cloud
PRIVATE NETWORK
Public
Subnets
Private
Subnets
Routing
Tables
Internet
Gateway
VPN
Gateway
PRIVATE NETWORK
SERVERS
EC2: Elastic Compute
SERVERS
Virtual Machines
Instance Type
CPU, Memory,
Network I/O
OS
Linux or
Windows
Location
Region & AZ
Firewall Rules
Security Groups
SERVERS
SERVERS
http://ec2-00-00-00-00.eu-
west-1.compute.amazonaws.com
SERVERS
http://ec2-00-00-00-00.eu-
west-1.compute.amazonaws.com
DNS
Route 53
DNS
• Highly Available Public and Private DNS.

• Full support for IPv4 and IPv6.

• DNS Failover, DNS Health Checks, Latency
Based Routing, Geo DNS, Geoproximity…
DNS
http://ec2-00-00-00-00.eu-
west-1.compute.amazonaws.com
DNS
http://www.example.com
DNS
SSL CERTIFICATE
SSL CERTIFICATE
http://www.example.com
DNS
SSL CERTIFICATE
https://www.example.com
DNS
https://www.example.com
DNS
Split the APP from the DATABASE
Split the APP from the DATABASE
https://www.example.com
DNS
DATABASES
RDS: Relational Database Service
DATABASES
AWS Aurora
MySQL
Postgres
MySQL MariaDB Postgres Oracle DB
MS SQL Server
Other Databases
DATABASES
DynamoDB DocumentDB
MongoDB
ElastiCache

Redis

Memcached
Neptune Timestream QLDB
Key-value

Database
Document
Database
In-memory

Database
Graph

Database
Time Series

Database
Ledger

Database
DATABASES
https://www.example.com
DNS
DATABASES
https://www.example.com
DNS
DATABASES
https://www.example.com
DNS
OBSERVABILITY
Cloudwatch
OBSERVABILITY
• Centralised Logs, Metrics and Events for AWS
Services.

• Send your own Logs to Cloudwatch.

• Set Alarms and Automate action based on Metrics.
OBSERVABILITY
https://www.example.com
DNS
OBSERVABILITY
https://www.example.com
DNS
APP SCALABILITY
Elastic Load Balancing
APP SCALABILITY
Network Load Balancer
Layer 4 (TCP, UDP, TLS)
Application Load Balancer
Layer 7 (HTTP, HTTPS)
APP SCALABILITY
https://www.example.com
DNS
APP SCALABILITY
https://www.example.com
DNS
APP SCALABILITY
https://www.example.com
DNS
APP SCALABILITY
https://www.example.com
DNS
STATIC CONTENT
STATIC CONTENT
S3: Simple Storage Service Cloudfront
Data Object Storage Global Content Delivery Network
(CDN)
STATIC CONTENT
https://www.example.com
DNS
STATIC CONTENT
https://www.example.com
DNS
STATIC CONTENT
https://www.example.com
https://cdn.example.com
DNS
ARCHITECTURES
Containers
CONTAINERS
AWS Services for Docker Containers
CONTAINERS
Elastic Container
Service
ECS for
Kubernetes
Elastic Container
Registry
CONTAINERS
https://www.example.com
https://cdn.example.com
DNS
CONTAINERS
https://www.example.com
https://cdn.example.com
DNS
CONTAINERS
https://www.example.com
https://cdn.example.com
DNS
CONTAINERS
https://www.example.com
https://cdn.example.com
DNS
WEB API
AWS Services to expose an API
WEB API
API Gateway
Internet Gateway
for APIs
API Gateway provides a unified front end to a wide range of back end services.
EC2 ECS Lambda
WEB API
https://www.example.com
https://cdn.example.com
DNS
WEB API
https://www.example.com
https://cdn.example.com
https://api.example.com
DNS
ARCHITECTURES
Serverless
SERVERLESS
Functions as a Service
SERVERLESS
Lambda
Serverless
Functions
Step Functions
Serverless
Pipelines
Fargate
Serverless
Containers
SERVERLESS
https://www.example.com
https://cdn.example.com
https://api.example.com
DNS
SERVERLESS FUNCTIONS
https://www.example.com
https://cdn.example.com
https://api.example.com
DNS
SERVERLESS PIPELINES
https://www.example.com
https://cdn.example.com
https://api.example.com
DNS
SERVERLESS CONTAINERS
https://www.example.com
https://cdn.example.com
https://api.example.com
DNS
FIN
Learn More
• https://aws.amazon.com/free/

AWS Free Tier

• https://aws.amazon.com/architecture/
well-architected/

AWS Well Architected 

• https://aws.amazon.com/summits/

AWS London Summit
John Dalziel 

@crashposition
AN INTRODUCTION TO
Wednesday 29th April 02020
John Dalziel 

@crashposition
Tech Lunch and Learn
2020EDITION

Introduction to AWS (2020)