3. APIdays NZ 2015
API Management
APIs
Access Control
& Security
Metrics, Monitoring
& Analytics
Infrastructure and
backend systems
Billing
4. APIdays NZ 2015
Application
Files
DB
API Calls
Websites
(JavaScript
Apps)
Mobile
Apps
Wearable
Services
API Calls
Authentication
& Authorization
API Calls
Caching and
Throttling
Business Logic
Monitoring and
Analytics
5. APIdays NZ 2015
Challenges
§ Identity and Access control
§ Metrics, Monitoring and Analytics
§ Infrastructure (Compute and Storage)
§ Scaling
6. APIdays NZ 2015
No server is easier to manage than “no server”
Werner Vogels
7. APIdays NZ 2015
Authentication
Providers
End Users
User
Credentials
Authentication
Token
Amazon Cognito
Identity Broker
Identity Pool Id
(Token)
Identity Id
AWS Temp Credentials
(Depending on
Auth / Unauth Role)
Access to
AWS Services
(Including Amazon
API Gateway)
Identity Id
AWS Temp Credentials
Amazon
Mobile Analytics
Amazon Cognito
Sync Store
K / V
Check Token
Identity & Access Control
10. APIdays NZ 2015
Compute
EC2, Autoscaling
PHP
Python
Java
Ruby
Node.js
.NET
Go
Docker
Elastic BeanstalkElastic Container Service
Control Convenience
11. APIdays NZ 2015
Business Logic
AWS
Lambda
AWS Lambda
Functions
Amazon
API Gateway
Amazon S3
Amazon
DynamoDB
Amazon Cognito
Sync Store
K / VAmazon
SNS
Amazon
Kinesis
IoT Devices
HTTPS
Invoke
Custom
Events
HTTPS
REST
API Call
Compute – Event Driven
12. APIdays NZ 2015
Storage
Data Warehouse
Redshift
Cache
Elasticache
NoSQL
Dynamo DB
Relational Database
RDS
Object Store
S3
13. APIdays NZ 2015
Internet
Mobile Apps
Websites
Services
API
Gateway
AWS Lambda
functions
AWS
API Gateway
Cache
Endpoints on
Amazon EC2 /
Amazon Elastic
Beanstalk
Any other publicly
accessible endpoint
Amazon
CloudWatch
Monitoring
Access Control
Putting it all together
14. APIdays NZ 2015
λ
λ λ
Amazon
API Gateway
λ
λ
λ
λ
Bucket Usage
Table
Media Metadata
Table
User Stat
Table
User
Location
Table
K / V
λ
λ
λ
Amazon Cognito
Identity Broker
Amazon Cognito
Sync Store
Amazon
SNS
Amazon
Kinesis
Media
Bucket
Log
Table
Authentication
&
Authorization
Upload Picture / VideoUpdate Bucket UsageCheck Bucket Usage
Delete
“Over Quota”
Media
Send Notification
to
User / Application
Extract Metadata and
Write on DB
Update
User Statistics
Call REST API
to Get
Media Description
Upload
Location Info
Update
User Location
Look for
Users or Media
Near Current Location
Call REST API
to Get
User Info
Sync
Media and User
Rating
Write
History of Changes
Check and Update
Ratings
Invoke
Read
Write / Send