SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
SERVERLESSRUST
@DDPRRT - RUST-LINZ.AT - FETTBLOG.EU
HI👋
I’M STEFAN


@DDPRRT


CO-FOUNDER + CO-ORGANIZER RUST LINZ
WHAT IS IT…
LET’STALKABOUT
SERVERLESS
Care about servers, less


Scale-out happens automatically


No infrastructure management


Consumption based billing


Examples


Google Cloud Run


AWS Fargate
Write less servers


Focus on business logic


Stateless development mindset


Glue logic between services


Examples


AWS Lambda


Azure Functions
AUTOSCALING FUNCTIONS AS A SERVICE
Care about servers, less


Scale-out happens automatically


No infrastructure management


Consumption based billing


Examples


Google Cloud Run


AWS Fargate
Write less servers


Focus on business logic


Stateless development mindset


Glue logic between services


Examples


AWS Lambda


Azure Functions
AUTOSCALING FUNCTIONS AS A SERVICE
🤝
BILLING
0
75
150
225
300
Time in s
Memory
used
WHYDOWEWANT TOUSE
RUSTWITHSERVERLESS?
RUSTISREALLYGOODAT
MEMORYANDSPEED
AWSLAMBDA
Glue code between AWS Services


Unaware of Triggers, just takes event


Runs in lightweight Micro VMs (Firecracker)


Workers, not servers
AWSLAMBDA
HTTPS://WWW.DYNATRACE.COM/NEWS/BLOG/A-LOOK-BEHIND-THE-SCENES-OF-AWS-LAMBDA-AND-OUR-NEW-LAMBDA-MONITORING-EXTENSION/
LAMBDAEXECUTIONLIFECYCLE
Front-End
Authenticate
Fetch function
metadata
Counting Service
Check concurrency
limits
Worker Manager
Request Worker
Worker
Create Sandbox
Download Code
Bootstrap
Sandbox
Run Code
Always Coldstart
INVOCATION
Trigger Cold Start Execution
/next /response Execution
/next /response Hibernation
INVOCATION
Trigger Cold Start Execution
/next /response Execution
/next /response Hibernation
Trigger Cold Start Execution
/next /response Hibernation
INVOCATION
Trigger Cold Start Execution
/next /response Execution
/next /response Hibernation
Trigger Cold Start Execution
/next /response Hibernation
Trigger Cold Start Execution
/next PANIC! Bootstrap Execution
INVOCATION
Trigger Cold Start Execution
/next /response Execution
/next /response Hibernation
Trigger Cold Start Execution
/next /response Hibernation
Trigger Cold Start Execution
/next PANIC! Bootstrap Execution
Dispose
Dispose
GOODTOKNOW
RAM freely scalable from 128MB to 10GB in 1MB steps


Costs scale the same per ms


vCPU does the same


E.g. 2x the RAM = 2x the cost = 2x the vCPU


In A LOT of cases it’s also twice as fast!
THIS IS WHAT YOU READ IN BLOG POSTS 😭
AWSLAMBDAINRUST?
Firecracker VM Node.js VM Rust compiled to WASM/
WASI
boots loads
THIS IS WHAT YOU READ IN BLOG POSTS 😭
AWSLAMBDAINRUST?
Firecracker VM Node.js VM Rust compiled to WASM/
WASI
boots loads
NO!!!
CRATES.IO/CRATES/LAMBDA_RUNTIME
AWSLAMBDARUNTIME
use lambda_runtime::{Context, handler_fn};


use serde_json::{Value, json};


#[tokio::main]


async fn main() -> Result<(), lambda_runtime::Error>{


let func = handler_fn(handler);


lambda_runtime::run(func).await?;


Ok(())


}


async fn handler(event: Value, _: Context) -> Result<Value, lambda_runtime::Error> {


//...


}


COMPILE TO X86_64-UNKNOWN-LINUX-GNU


BINARY NAME: BOOTSTRAP
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
RESULTS-LAMBDA128MB
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~200ms
Node 🔥 2ms 2ms ~500ms ~70s
Rust 🥶 < 20ms
Rust 🔥 < 1ms < 1ms ~45ms ~8s
BENEFITSOFRUSTINLAMBDA
Very small binaries instead of Language Runtime + Code + Dependencies


Works great on low vCPU! (128 MB RAM = 1/13th vCPU)


Low RAM usage


Less variation in execution


It’s super fun!
AZUREFUNCTIONS
Triggers are part of the function de
f
inition (eg. HTTP)


Multiple target bindings


Builds up on Azure WebJobs


Unit of deployment / scale are function apps


Needs Azure Storage to store function apps
AZUREFUNCTIONS
AZURE.MICROSOFT.COM/EN-US/BLOG/UNDERSTANDING-SERVERLESS-COLD-START/
AFEXECUTIONLIFECYCLE
Scale Controller
Monitors events
Allocates
unspecialised server
Specializing
Files mounted to
server
Function host
Resets function
runtime
Function runtime
Functions loaded into
memory
Run Code
Always Coldstart
Apply app settings Function.json
f
iles read
Extensions loaded
AZUREFUNCTIONSHOST
Trigger Input Binding
Function host
Output binding
Target
In Process Out of Process Custom Handler
or or
GRPC HTTP
C#, F# Node, Python, Java Whatever!
GOODTOKNOW
RAM scales to your needs


vCPU scales to your needs


Cold starts are slow, but you get as much CPU as you need


Cold starts are for the entire function app


Consumption plan allocates max 100 ACUs per Server (~ 1 vCPU)
HOST.JSON
DEFINETHEFUNCTIONHOST
{


"version": "2.0",


"extensionBundle": {


"id": "Microsoft.Azure.Functions.ExtensionBundle",


"version": "[2.*, 3.0.0)"


},


"customHandler": {


"description": {


"defaultExecutablePath": "handler",


"workingDirectory": "",


"arguments": []


},


"enableForwardingHttpRequest": true


}


}
PALINDROMES/FUNCTION.JSON
CREATEBINDINGS
{


"bindings": [


{


"authLevel": "anonymous",


"type": "httpTrigger",


"direction": "in",


"name": "req",


"methods": [


"get",


"post"


]


},


{


"type": "http",


"direction": "out",


"name": "res"


}


]


}
ANYSERVERWILLDO
#[tokio::main]


async fn main() {


let server = warp::get()


.and(warp::path("api"))


.and(warp::path("palindromes"))


.and(warp::query::<HashMap<String, String>>())


.map(|p: HashMap<String, String>| {


// ...


});


let port_key = "FUNCTIONS_CUSTOMHANDLER_PORT";


let port: u16 = match env::var(port_key) {


Ok(val) => val.parse().expect("Custom Handler port is not a number"),


Err(_) => 3000,


};


println!("Starting at {}", port);


warp::serve(server)


.run((Ipv4Addr::UNSPECIFIED, port))


.await


}


COMPILE TO X86_64-UNKNOWN-LINUX-GNU


BINARY NAME: HANDLER
ANYSERVERWILLDO
#[tokio::main]


async fn main() {


let server = warp::get()


.and(warp::path("api"))


.and(warp::path("palindromes"))


.and(warp::query::<HashMap<String, String>>())


.map(|p: HashMap<String, String>| {


// ...


});


let port_key = "FUNCTIONS_CUSTOMHANDLER_PORT";


let port: u16 = match env::var(port_key) {


Ok(val) => val.parse().expect("Custom Handler port is not a number"),


Err(_) => 3000,


};


println!("Starting at {}", port);


warp::serve(server)


.run((Ipv4Addr::UNSPECIFIED, port))


.await


}


COMPILE TO X86_64-UNKNOWN-LINUX-GNU


BINARY NAME: HANDLER
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
RESULTS-AZUREFUNCTIONS
Hello World
Palindrome Products
10-99
Palindrome Products
100-999
Palindrome Products
1000-9999
Node 🥶 ~700ms
Node 🔥 1ms 9ms ~80ms ~10s
Rust 🥶 < 100ms
Rust 🔥 < 1ms < 5ms ~15ms ~1s
BENEFITSOFRUSTINAF
Signi
f
icantly lower cold starts


It’s just a server! Take your web server and let it scale automatically!


Easy migration!


Cold starts also depend on the size of the function app. Less of a problem in Rust


Again, it’s super fun!
SUMMARY
Rust should de
f
initely be considered when writing Serverless Functions!


Rust can help signi
f
icantly with cold start times and duration times


Execution time costs are one thing


- Azure Storage Costs?


- AWS API Gateway Costs?


(Billing is a nightmare…)
MATERIALS
- https://azure.microsoft.com/en-us/blog/understanding-serverless-cold-start/


- https://docs.microsoft.com/en-us/azure/azure-functions/create-
f
irst-function-vs-code-other


- https://www.dynatrace.com/news/blog/a-look-behind-the-scenes-of-aws-lambda-and-our-new-
lambda-monitoring-extension/


- https://aws.amazon.com/blogs/opensource/rust-runtime-for-aws-lambda/


- https://github.com/ddprrt/serverless-rust
THANKYOU!
🍻

Contenu connexe

Tendances

Container and microservices: a love story
Container and microservices: a love storyContainer and microservices: a love story
Container and microservices: a love storyThomas Rossetto
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansiblefmaccioni
 
Deploying your rails application to a clean ubuntu 10
Deploying your rails application to a clean ubuntu 10Deploying your rails application to a clean ubuntu 10
Deploying your rails application to a clean ubuntu 10Maurício Linhares
 
So I Wrote a Manifest
So I Wrote a ManifestSo I Wrote a Manifest
So I Wrote a ManifestPuppet
 
Automating the Network
Automating the NetworkAutomating the Network
Automating the NetworkPuppet
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef
 
Introduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiIntroduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiMichael Rice
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpOntico
 
No callbacks, No Threads - Cooperative web servers in Ruby 1.9
No callbacks, No Threads - Cooperative web servers in Ruby 1.9No callbacks, No Threads - Cooperative web servers in Ruby 1.9
No callbacks, No Threads - Cooperative web servers in Ruby 1.9Ilya Grigorik
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
Security in serverless world
Security in serverless worldSecurity in serverless world
Security in serverless worldYan Cui
 
Distributed Applications with Perl & Gearman
Distributed Applications with Perl & GearmanDistributed Applications with Perl & Gearman
Distributed Applications with Perl & GearmanIssac Goldstand
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to AnsibleDan Vaida
 
Going crazy with Varnish and Symfony
Going crazy with Varnish and SymfonyGoing crazy with Varnish and Symfony
Going crazy with Varnish and SymfonyDavid de Boer
 
Kraken js at paypal
Kraken js at paypalKraken js at paypal
Kraken js at paypalLenny Markus
 
Faster PHP apps using Queues and Workers
Faster PHP apps using Queues and WorkersFaster PHP apps using Queues and Workers
Faster PHP apps using Queues and WorkersRichard Baker
 

Tendances (20)

Container and microservices: a love story
Container and microservices: a love storyContainer and microservices: a love story
Container and microservices: a love story
 
Managing Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansible
 
Deploying your rails application to a clean ubuntu 10
Deploying your rails application to a clean ubuntu 10Deploying your rails application to a clean ubuntu 10
Deploying your rails application to a clean ubuntu 10
 
So I Wrote a Manifest
So I Wrote a ManifestSo I Wrote a Manifest
So I Wrote a Manifest
 
Automating the Network
Automating the NetworkAutomating the Network
Automating the Network
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015
 
Introduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomiIntroduction to vSphere APIs Using pyVmomi
Introduction to vSphere APIs Using pyVmomi
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorp
 
Gearman and Perl
Gearman and PerlGearman and Perl
Gearman and Perl
 
No callbacks, No Threads - Cooperative web servers in Ruby 1.9
No callbacks, No Threads - Cooperative web servers in Ruby 1.9No callbacks, No Threads - Cooperative web servers in Ruby 1.9
No callbacks, No Threads - Cooperative web servers in Ruby 1.9
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
Security in serverless world
Security in serverless worldSecurity in serverless world
Security in serverless world
 
Distributed Applications with Perl & Gearman
Distributed Applications with Perl & GearmanDistributed Applications with Perl & Gearman
Distributed Applications with Perl & Gearman
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to Ansible
 
Web sockets in Java
Web sockets in JavaWeb sockets in Java
Web sockets in Java
 
WebSockets with Spring 4
WebSockets with Spring 4WebSockets with Spring 4
WebSockets with Spring 4
 
Introducing Ansible
Introducing AnsibleIntroducing Ansible
Introducing Ansible
 
Going crazy with Varnish and Symfony
Going crazy with Varnish and SymfonyGoing crazy with Varnish and Symfony
Going crazy with Varnish and Symfony
 
Kraken js at paypal
Kraken js at paypalKraken js at paypal
Kraken js at paypal
 
Faster PHP apps using Queues and Workers
Faster PHP apps using Queues and WorkersFaster PHP apps using Queues and Workers
Faster PHP apps using Queues and Workers
 

Similaire à Serverless Rust

How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardHow I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardSV Ruby on Rails Meetup
 
Run Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS LambdaRun Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS LambdaÖzgür Çiçek
 
Going Serverless on AWS with Golang and SAM
Going Serverless on AWS with Golang and SAMGoing Serverless on AWS with Golang and SAM
Going Serverless on AWS with Golang and SAMGeorge Tourkas
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenchesYan Cui
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...Aman Kohli
 
TIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containersTIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containersThe Incredible Automation Day
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixDiana Tkachenko
 
AMIMOTO: WordPress + Amazon Web Services MANILA
AMIMOTO: WordPress + Amazon Web Services MANILAAMIMOTO: WordPress + Amazon Web Services MANILA
AMIMOTO: WordPress + Amazon Web Services MANILAKel
 
AMIMOTO: WordPress + Amazon Web Services University of the Philippines Los Baños
AMIMOTO: WordPress + Amazon Web Services University of the Philippines Los BañosAMIMOTO: WordPress + Amazon Web Services University of the Philippines Los Baños
AMIMOTO: WordPress + Amazon Web Services University of the Philippines Los BañosKel
 
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Cloud Native Day Tel Aviv
 
A rough guide to JavaScript Performance
A rough guide to JavaScript PerformanceA rough guide to JavaScript Performance
A rough guide to JavaScript Performanceallmarkedup
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)Wesley Beary
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the CloudWesley Beary
 
Where is my scalable api?
Where is my scalable api?Where is my scalable api?
Where is my scalable api?Altoros
 
Serverless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best PracticesServerless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best PracticesDaniel Zivkovic
 
Riga DevDays 2017 - Efficient AWS Lambda
Riga DevDays 2017 - Efficient AWS LambdaRiga DevDays 2017 - Efficient AWS Lambda
Riga DevDays 2017 - Efficient AWS LambdaAntons Kranga
 
Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)Szabolcs Zajdó
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 

Similaire à Serverless Rust (20)

How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine YardHow I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
How I Learned to Stop Worrying and Love the Cloud - Wesley Beary, Engine Yard
 
Run Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS LambdaRun Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS Lambda
 
Going Serverless on AWS with Golang and SAM
Going Serverless on AWS with Golang and SAMGoing Serverless on AWS with Golang and SAM
Going Serverless on AWS with Golang and SAM
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenches
 
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
 
TIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containersTIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containers
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch Fix
 
AMIMOTO: WordPress + Amazon Web Services MANILA
AMIMOTO: WordPress + Amazon Web Services MANILAAMIMOTO: WordPress + Amazon Web Services MANILA
AMIMOTO: WordPress + Amazon Web Services MANILA
 
AMIMOTO: WordPress + Amazon Web Services University of the Philippines Los Baños
AMIMOTO: WordPress + Amazon Web Services University of the Philippines Los BañosAMIMOTO: WordPress + Amazon Web Services University of the Philippines Los Baños
AMIMOTO: WordPress + Amazon Web Services University of the Philippines Los Baños
 
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
Two Years, Zero servers: Lessons learned from running a startup 100% on Serve...
 
A rough guide to JavaScript Performance
A rough guide to JavaScript PerformanceA rough guide to JavaScript Performance
A rough guide to JavaScript Performance
 
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
fog or: How I Learned to Stop Worrying and Love the Cloud (OpenStack Edition)
 
fog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloudfog or: How I Learned to Stop Worrying and Love the Cloud
fog or: How I Learned to Stop Worrying and Love the Cloud
 
Where is my scalable api?
Where is my scalable api?Where is my scalable api?
Where is my scalable api?
 
Serverless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best PracticesServerless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best Practices
 
Riga DevDays 2017 - Efficient AWS Lambda
Riga DevDays 2017 - Efficient AWS LambdaRiga DevDays 2017 - Efficient AWS Lambda
Riga DevDays 2017 - Efficient AWS Lambda
 
Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)Cloud cost optimization (AWS, GCP)
Cloud cost optimization (AWS, GCP)
 
tdc2012
tdc2012tdc2012
tdc2012
 
Top conf serverlezz
Top conf   serverlezzTop conf   serverlezz
Top conf serverlezz
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 

Plus de Stefan Baumgartner

What TypeScript taught me about JavaScript
What TypeScript taught me about JavaScriptWhat TypeScript taught me about JavaScript
What TypeScript taught me about JavaScriptStefan Baumgartner
 
Real-world component libraries at scale
Real-world component libraries at scaleReal-world component libraries at scale
Real-world component libraries at scaleStefan Baumgartner
 
Sketchmine: Design Systems Tooling
Sketchmine: Design Systems ToolingSketchmine: Design Systems Tooling
Sketchmine: Design Systems ToolingStefan Baumgartner
 
A hero's journey in JavaScript frameworks
A hero's journey in JavaScript frameworksA hero's journey in JavaScript frameworks
A hero's journey in JavaScript frameworksStefan Baumgartner
 
Advanced JavaScript build pipelines using Gulp.js
Advanced JavaScript build pipelines using Gulp.jsAdvanced JavaScript build pipelines using Gulp.js
Advanced JavaScript build pipelines using Gulp.jsStefan Baumgartner
 
Plumbin Pipelines - A Gulp.js workshop
Plumbin Pipelines - A Gulp.js workshopPlumbin Pipelines - A Gulp.js workshop
Plumbin Pipelines - A Gulp.js workshopStefan Baumgartner
 

Plus de Stefan Baumgartner (12)

What TypeScript taught me about JavaScript
What TypeScript taught me about JavaScriptWhat TypeScript taught me about JavaScript
What TypeScript taught me about JavaScript
 
Real-world component libraries at scale
Real-world component libraries at scaleReal-world component libraries at scale
Real-world component libraries at scale
 
Jamstack on Azure
Jamstack on AzureJamstack on Azure
Jamstack on Azure
 
TypeScript's Type System
TypeScript's Type SystemTypeScript's Type System
TypeScript's Type System
 
The hero's journey
The hero's journeyThe hero's journey
The hero's journey
 
Sketchmine: Design Systems Tooling
Sketchmine: Design Systems ToolingSketchmine: Design Systems Tooling
Sketchmine: Design Systems Tooling
 
Automating UI development
Automating UI developmentAutomating UI development
Automating UI development
 
A hero's journey in JavaScript frameworks
A hero's journey in JavaScript frameworksA hero's journey in JavaScript frameworks
A hero's journey in JavaScript frameworks
 
[German] Ab mit dem Kopf!
[German] Ab mit dem Kopf![German] Ab mit dem Kopf!
[German] Ab mit dem Kopf!
 
Advanced JavaScript build pipelines using Gulp.js
Advanced JavaScript build pipelines using Gulp.jsAdvanced JavaScript build pipelines using Gulp.js
Advanced JavaScript build pipelines using Gulp.js
 
Speed Index, explained!
Speed Index, explained!Speed Index, explained!
Speed Index, explained!
 
Plumbin Pipelines - A Gulp.js workshop
Plumbin Pipelines - A Gulp.js workshopPlumbin Pipelines - A Gulp.js workshop
Plumbin Pipelines - A Gulp.js workshop
 

Dernier

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 

Dernier (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 

Serverless Rust