serverless architecture

Post on 16-Apr-2017

877 Views

Category:

Engineering

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SERVERLESS ARCHITECTUREPetra Novandi BarusChief Technology OfficerUrbanIndo.com

WHO AM I?

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

petrabarus.netpetra.barus@gmail.com

@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!

top related