Serverless in production 

Somewhere in 2015 ... 

Serverless 

  • AWS Lambda  - 11. 2014
  • Azure function  - 11.2016 
  • Google cloud function  - 07.2018
  • Yandex function - end 2018

2020-2021 

years of Serverless

About me 

Ruslan Serkin 

Solutions Architecht

DataArt 

Prog. Language:

 - JavaScript

 - Golang

 - Python  

Experience:

  - DevOps 

  - AWS Cloud

  - Serverless

  - K8s

P2P

Client- Server

Serverless

Peer - to - Peer 

P2P History

1979  - UseNet - distributed discussion system 

P2P History

1979  - UseNet - distributed discussion system 

1999  - Napster  

P2P Projects

File Sharing

eDonkey

BitTorrent

Direct Connect

OpenNap

P2P Projects

File Sharing

Distributed computing

P2P Projects

File Sharing

Distributed computing

Blockchain

P2P Routing 

Unstructured Network 

Structured Network

Hybrid network

Easy to setup

High availability

Additional traffic  

Fast Search

Strict rules for servers

High performance

Central server

P2P Pros 

Easy configuration and installation of P2P networks.

Sharing  content/resources between users 

High availability 

Don't  need network administrator 

Low price for setup and support 

P2P Cons

Needs algorithms for routing for unstructured network 

Central server big problem in hybrid network

DDOS attack for big hybrid network

Client- Server

Client-Server: Monolith

Server

Client 1

Client 2

Client 3

Client 4

Client-Server: Monolith

User Interface

Business Logic Layer

Data Access Layer

DataBase

Monolith Pros

Time limit

Local deployment

No additional tooling

Less Money

Simple deployment

Monolith Cons

High complexity

Difficult to support

Difficult to start

Errors

Tests

Performance 

Monolith Performance

Sharding

Mirroring

Microservices 

Microservices

Divide for components

Group by business task 

Smart services and simple communications

Decentral control

Auto deployment / monitoring

Microservices - architecure

Service Discovery

Message bus

Hybrid

 Service Discovery

Client

Service A

Service B

Service C

 Service Discovery

Client

Service A

Service B

Service C

Load Balancer

Service

Discovery

Load Balance

Query

Register

Message Bus

Client

Service A

Service B

Service C

Message 

Bus

 Message Bus Pros

Completed architecture  

Easy to add new service 

Scaling

Tooling

 Message Bus Cons

Contracts

Async communication 

Additional qualification

Additional things for deploy

Microservices pros

Scaling 

Understanding business domain

Experience inside team  

Long term contract 

Money and time

Serverless

Serverless

Same as microservice

New mindset

Vendor lock

Reduce Ops 

External services 

Serverless Services

AWS Lambda 

AWS Step function 

AWS Api Gateway

AWS Dynamo DB 

SNS/SQS

S3

etc....

AWS Lambda

Event

Lambda

Lambda

layer

IAM Role

Destination

CloudWatch

Serverless - example 1

Client

DB

API Gateway 

ALB

Lambda 1

Lambda 2

Lambda 3

Lambda 4

Serverless - example 2

S3

Lambda 1

Lambda 2

Lambda 3

Message 

bus

DB

SNS

Serverless Pros

Time to market

Scaling

Money

Tooling in the box

New approach 

Serverless Cons

New mindset 

Time / memory limit 

Money

https://youtu.be/zMua0cuhFnc

LAMBDA - A Serverless Musical (Hamilton "My Shot" Parody)

Thank you

Questions...

Copy of Serverless-in-production

By ruslan firefly

Copy of Serverless-in-production

  • 506