serverless architecture

20
SERVERLESS ARCHITECTURE Petra Novandi Barus Chief Technology Officer UrbanIndo.com

Upload: codepolitan

Post on 16-Apr-2017

876 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Serverless Architecture

SERVERLESS ARCHITECTUREPetra Novandi BarusChief Technology OfficerUrbanIndo.com

Page 2: Serverless Architecture

WHO AM I?

Petra Novandi Barus2011- CTO UrbanIndo.com2009 Magister Informatics ITB2005 Informatics Engineering ITB

[email protected]

@petrabarusaskfm.com/petrabarus

Page 3: Serverless Architecture

WHAT AM I GOING TO TALK ABOUT?

Function as a Service (Serverless)

Why? Pros and Cons Use Cases

Page 4: Serverless Architecture

TYPES OF DEPLOYMENT HOSTS

Physical Host Virtual Private Server Docker Function as a Service

Page 5: Serverless Architecture

FUNCTION AS A SERVICE

Function is a unit of deployment Execute only when need No server maintainance

Page 6: Serverless Architecture

VENDORS

Page 7: Serverless Architecture

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

Page 8: Serverless Architecture

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...

Page 9: Serverless Architecture

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

Page 10: Serverless Architecture

PROS

Easier Deployment Packaging, startup scripts, env setting

Easier Monitoring Vendor provide monitoring like time, bandwidth,

#request Easier Unit Testing

Only test the function

Page 11: Serverless Architecture

CONS

Vendor Lock Hard to switch vendor (for now)

Multitenancy Problem Share machine with other client

Configuration Hard to configure the CPU, memory, etc

Page 12: Serverless Architecture

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

Page 13: Serverless Architecture

CONS

Security Very fined-grained security management

Source Code Management Build and upload changed function (JAR/ZIP)

Page 14: Serverless Architecture

USE CASETEST EMAILS STORAGE

Page 15: Serverless Architecture

USE CASEHADOOP TO DYNAMODB

Page 16: Serverless Architecture

USE CASEIMAGE RESIZING & ANALYSIS

Page 17: Serverless Architecture

USE CASEDYNAMIC WEBSITE

Page 18: Serverless Architecture

USE CASEOTHERS

Automation Cron Task Bots Internet of Things Mobile Backend

Page 19: Serverless Architecture

ADVICES

There are always shiny new thingsAlways use the technologies you are comfortable with

Try learning new technologies to prepare when you need

Page 20: Serverless Architecture

THANK YOU!