Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
8 1-2 things about serverless
Search
Slobodan Stojanović
May 09, 2017
Technology
0
100
8 1-2 things about serverless
Presentation from GeekNight #5
Slobodan Stojanović
May 09, 2017
Tweet
Share
More Decks by Slobodan Stojanović
See All by Slobodan Stojanović
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
180
From 1 to 250 Lambda Functions in Production: Evolving a Startup Serverless Architecture @ Serverless Days Milan
slobodan
0
110
Building Production-Ready Apps with AI
slobodan
0
210
Advanced GraphQL Architectures: Serverless Event Sourcing and CQRS @ ReactSummit
slobodan
0
190
CofounderGPT - Can an AI be a better co-founder than a human?
slobodan
0
140
From 1 to 201 Lambda functions in production: Evolving a serverless startup architecture
slobodan
0
280
Evolving a serverless startup architecture - ArmadaJS 2022
slobodan
2
460
Serverless Office Hours | Serverless for Startups
slobodan
0
210
From 1 to 101 Lambda Functions in Production: Evolving a Serverless Architecture - Node Congress 2021
slobodan
1
320
Other Decks in Technology
See All in Technology
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
280
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
140
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
460
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
270
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
270
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1k
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
150
SSMRunbook作成の勘所_20241120
koichiotomo
2
140
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Agile that works and the tools we love
rasmusluckow
327
21k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
The Language of Interfaces
destraynor
154
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
For a Future-Friendly Web
brad_frost
175
9.4k
Docker and Python
trallard
40
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
THINGS ABOUT SERVERLESS WITH NODE.JS
I AM SLOBODAN STOJANOVIĆ CTO OF CLOUD HORIZON AND JS
BELGRADE MEETUP ORGANIZER github.com/stojanovic twitter.com/slobodan_
SOME OF THE QUESTIONS I WILL TRY TO ANSWER TODAY
• WHAT IS SERVERLESS? • HOW DOES IT WORK? •
WHY IS IT IMPORTANT? • MOST IMPORTANT SERVERLESS PLATFORMS? • PROGRAMMING LANGUAGES? • WHAT CAN TRIGGER SERVERLESS FUNCTION? • HOW DOES IT WORK WITH NODE.JS? • WHEN SHOULD I USE IT?
1. WHAT IS SERVERLESS?
LET’S TRY TO EXPLAIN HOW IT WORKS USING LEGO BRICKS
Imagine Lego 4x4 white piece is a physical server
Building and deploying monolith app
Then people start using it and you need to scale
Then people start using it and you need to scale
You need to scale everything, but only green and blue
parts are really used
MICROSERVICES TO THE RESCUE
Hello, from our physical server, again! Now it can be
in the cloud, it doesn’t matter
Now each service should be independent, right?
Scaling is easy
And if no one is using some service it’s simple
to remove or replace it
And if no one is using some service it’s simple
to remove or replace it
ARE SERVERS THAT CHEAP?
How do we make microservices cheaper?
How do we make microservices cheaper?
By bundling them together
By bundling them together
By bundling them together
BETTER, RIGHT? BUT…
WHAT IF WE DON’T NEED 4x4 PIECE ANYMORE?
Imagine our microservices without 4x4 white pieces!
Imagine our microservices without 4x4 white pieces!
Than scaling is simply adding more services
Than scaling is simply adding more services
And, if we don’t need some service…
And, if we don’t need some service…
And, if we don’t need some service…
NOW IMAGINE THAT SCALING AND REMOVING ARE DONE AUTOMATICALLY
ALSO IMAGINE THAT YOU PAY ONLY FOR THE PARTS THAT
YOU ARE USING AT THE MOMENT
WELL, THAT’S SERVERLESS!
Our 4x4 white piece still exists, but it’s not our
problem anymore
SO SERVERLESS IS SIMPLY PLATFORM-AS-A-SERVICE
OR MORE RECENTLY FUNCTION-AS-A-SERVICE
None
2. HOW DOES IT WORK?
EVENT-DRIVEN
None
None
None
3. WHY IS IT IMPORTANT?
• MINIMAL MAINTENANCE • NO CONFIGURATION • REAL MICROSERVICES •
AUTO SCALING • FINANCIAL INCENTIVES
https://gojko.net/2016/08/27/serverless.html
4. WHAT ARE THE MOST IMPORTANT SERVERLESS PLATFORMS?
None
None
None
None
• TIMEOUT BETWEEN 1 AND 300 SECONDS • 128MB TO
1.5GB OF MEMORY • 500MB OF NON-PERSISTENT STORAGE (/TMP) • DEFAULT CONCURRENT EXECUTION LIMIT: 1000
• $0.20 PER 1 MILLION REQUESTS • FIRST MILLION REQUESTS
/ MONTH ARE FREE • $0.00001667 FOR EVERT GB-SECOND • FIRST 400.000 GB-SECONDS / MONTH ARE FREE
LAMBDA @ EDGE
5. WHAT PROGRAMMING LANGUAGES CAN I USE?
• NODE.JS • PYTHON • JAVA • C# • SHELL
SCRIPTS • ANY EXECUTABLE AWS LAMBDA
• NODE.JS • C# • F# • PYHON • PHP
• SHELL SCRIPTS • ANY EXECUTABLE AZURE FUNCTIONS
GOOGLE CODE FUNCTIONS JUST NODE.JS AT THE MOMENT
6. WHAT CAN TRIGGER SERVERLESS FUNCTION?
API Gateway Amazon S3 DynamoDB Amazon Aurora Simple Notification Service
Simple Email Service Amazon Cognito CloudWatch Kinesis Streams Kinesis Firehose AWS CloudFormation AWS CodeCommit Amazon Lex AWS Config AWS Snowball
7. HOW DOES IT WORK WITH NODE.JS?
NODE WORKS PERFECTLY WITH LAMBDA
NODE WORKS PERFECTLY WITH LAMBDA Almost
PROS
• GOOD START-UP PERFORMANCE • SMALL MODULES • GOOD PERFORMANCE
WITH LOW MEMORY AND CPU • SINGLE THREAD • ASYNC • EASY TO LEARN
CONS
• NODE_MODULES SIZE • SINGLE THREAD • ASYNC • EASY
TO LEARN BUT EASY TO FUCKUP
FRAMEWORKS
• SERVERLESS FRAMEWORK • CLAUDIA.JS • APEX
CLAUDIAJS.COM
CLAUDIAJS.COM > 64.000 DOWNLOADS
None
“HELLO WORLD”
'use strict' const Api = require('claudia-api-builder') const api = new
Api() const excuse = require('huh') api.get('/', () => { return excuse.get() }) module.exports = api api.js
claudia create \ --region eu-central-1 \ --api-module api deploy
{ "lambda": { "role": "geeknight-executor", "name": "geeknight", "region": "eu-central-1" },
"api": { "id": "d1weoszyg7", "module": "api", "url": "https://d1weoszyg7.execute-api.eu-central-1.amazonaws.com/latest" } } result
http://bit.ly/2pfNjGL
None
CHATBOTS
None
8. WHEN SHOULD I USE SERVERLESS?
OR EVEN MORE IMPORTANT
WHEN YOU SHOULD NOT USE SERVERLESS?
• REAL-TIME APPS WITH WEB SOCKETS • LOW-LATENCY APPS •
WHEN YOU NEED CUSTOM SERVER CONFIG • WHEN YOU NEED COMPLIANCE • LONG RUNNING TASKS • COMPEX COMPUTING • WHEN YOU NEED TO PROVIDE SLA
8 1/2. WAIT, WHAT ABOUT THE NAME?
WELL…
None
2012
“Why The Future Of Software And Apps Is Serverless" by
Ken Fromm
2014
AWS LAMBDA
2015
API GATEWAY
“Servers are dead.." by Ant Stanley
“Servers are dead.." by Ant Stanley
JAWS BECOMES SERVERLESS FRAMEWORK
2016
“SERVERLESS” IS JUST A NAME. WE COULD HAVE CALLED IT
“JEFF” Paul Johnston
NOW
SERVERLESS IS EVERYWHERE
THAT'S IT. THANKS!
QUESTIONS? twitter.com/slobodan_ speakerdeck.com/slobodan/ 8-1-2-things-about-serverless