serverless architecture
TRANSCRIPT
SERVERLESS ARCHITECTUREPetra Novandi BarusChief Technology OfficerUrbanIndo.com
WHO AM I?
Petra Novandi Barus2011- CTO UrbanIndo.com2009 Magister Informatics ITB2005 Informatics Engineering ITB
@petrabarusaskfm.com/petrabarus
WHAT AM I GOING TO TALK ABOUT?
Function as a Service (Serverless)
Why? Pros and Cons Use Cases
TYPES OF DEPLOYMENT HOSTS
Physical Host Virtual Private Server Docker Function as a Service
FUNCTION AS A SERVICE
Function is a unit of deployment Execute only when need No server maintainance
VENDORS
COMPARISON
ACF GCF Lambda
Status Preview Alpha Production
Programming Language
JS, C#, F#, Python, PHP, Bash, Powershell
Javascript Java, Javascript, Python
Event Source Stream Analytics, OneDrive, BlobStorage
PubSub, Google Storage event
S3, SES, DynamoDB, Kinesis, CloudWatch
HTTP WebHook HTTP Triger API Gateway
FEATURES
Run code without server Just upload the code and run
Only pay what you need No wasted CPU usage
Event driven model Can handle event sent from other component
Programming Languages Support Java, Python, Javascript, etc...
PROS
Reduced Development Cost Only develop what is needed
Reduced Operational Cost Reduced manpower for managing servers
Automatic Scaling Will adjust the number of requests
PROS
Easier Deployment Packaging, startup scripts, env setting
Easier Monitoring Vendor provide monitoring like time, bandwidth,
#request Easier Unit Testing
Only test the function
CONS
Vendor Lock Hard to switch vendor (for now)
Multitenancy Problem Share machine with other client
Configuration Hard to configure the CPU, memory, etc
CONS
Vendor Control Have to adjust with updates from vendor
Server Optimization Cannot optimize server, only in code
Integration Testing Has to rely testing in the cloud instead of own
server
CONS
Security Very fined-grained security management
Source Code Management Build and upload changed function (JAR/ZIP)
USE CASETEST EMAILS STORAGE
USE CASEHADOOP TO DYNAMODB
USE CASEIMAGE RESIZING & ANALYSIS
USE CASEDYNAMIC WEBSITE
USE CASEOTHERS
Automation Cron Task Bots Internet of Things Mobile Backend
ADVICES
There are always shiny new thingsAlways use the technologies you are comfortable with
Try learning new technologies to prepare when you need
THANK YOU!