Serverless
Applications Running In Their Natural State
Tobias Coetzee
@Tobiascode
Bat-signal application
● Automated Bat-Signal Administration
● Tracks Villains & Incidents
What is serverless?
Five Traits of serverless
No Server Management
Auto-Scales
Precise Costs
Performance Capabilities
High Availability
Two Categories of serverless
Backend as a Service
Third-party API-based services that replace
core subsets of functionality in an
application
Function as a Service
Event-driven computing where developers
only deploy functions which are triggered
by events
Serverless Origin
Evolution of the cloud
Application
Runtime
Containers
(Optional)
Operating
System
Hardware
Functions
Virtualization
InfrastructureasaService
Application
Runtime
Containers
Operating
System
Hardware
Functions
Virtualization
ContainerasaService
Application
Runtime
Containers
Operating
System
Hardware
Functions
VirtualizationPlatformasaService
Application
Runtime
Containers
Operating
System
Hardware
Functions
Virtualization
FunctionasaService
Not our
problem
Our problem
Value Line
Bat-Signal App Demo
3-tier architecture
Application Server
Server Application
Data Access Layer
Villain Logic
Notifications
Signal Logic
Villain UI Signal UI
Database Server
Signal Data
Villain Data
Security Data
Security
AWSBrowser
Serverless architecture
VillainUISignalUI
Cognito
User&APISecurity
APIGateway
GET|POST|PUT|DELETE
Lamda
VillainCreateAlertReceived
VillainRead
VillainUpdate
VillainDelete
NotifyUser
LogAlert
NotifyBatman
DynamoDb
AlertTableVillainTable
SimpleNotificationService
Pub/SubNotifications
S3
Backend as a service
Backend as a service Examples
Don’t create another users table again.
Skip the backend and go straight to the
database.
AWSCognitoBrowser
Bat-signal application - Baas components
VillainUISignalUI
User&APISecurity
APIGateway
GET|POST|PUT|DELETE
Lamda
VillainCreateAlertReceived
VillainRead
VillainUpdate
VillainDelete
NotifyUser
LogAlert
NotifyBatman
SimpleNotificationService
DynamoDb
Pub/Sub
AlertTableVillainTable
Notifications
S3
Function as a service
Life cycle of a function
Event
Source
Triggers Function
Function as a service Platforms
Hosted Installed
AWSCognitoBrowser
Bat-signal application - faas component
VillainUISignalUI
User&APISecurity
APIGateway
GET|POST|PUT|DELETE
Lamda
VillainCreateAlertReceived
VillainRead
VillainUpdate
VillainDelete
NotifyUser
LogAlert
NotifyBatman
SimpleNotificationService
DynamoDb
Pub/Sub
AlertTableVillainTable
Notifications
S3
Benefits & Drawbacks
benefits
Reduced Cost
Shorter Lead Time
Increased Flexibility
Flexibility in Scaling
Inherent drawbacks
Vendor Control
Multitenancy
Vendor Lock-in
Security
Repetition of Logic
Server Optimizations
No In-Server State
Thank You
For Staying Till The End
Tobias Coetzee
@Tobiascode

Serverless - Applications Running in Their Natural State