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