SlideShare a Scribd company logo
The Fn Project
Lessons learnt with Serverless
Maximilian Jerg
Open Source Serverless Computing
Agenda
● Serverless
● Lessons learnt
● Fn project
● Live Demo
Serverless
What is Serverless?
● Serverless focuses on applications not infrastructure
● Managed service of infrastructure and its operations including
provisioning, scaling, dynamic allocation of resources,
patching, etc.
● Server management and capacity planning decisions are
completely hidden
● Pricing is based on the resources consumed
Functions-as-a-Service
● Functions are small bits of code that do one thing well and are
easy to understand and maintain
● Stateless since there is typically no shared-memory
In mathematics, a function is a relation between a set
of inputs and a set of permissible outputs with the
property that each input is related to exactly one output.
Function (mathematics) - Wikipedia
https://en.wikipedia.org/wiki/Function_(mathematics)
Why Serverless?
● Easier: Just think about your code, not infrastructure
● Powerful: Transparent and limitless scaling
● Faster: Deploy faster, iterate faster, innovate faster
● Reliability: Increase reliability of critical apps using modern
architectures
● Productivity: Very good for small developer teams
● Cheaper: Only pay for what you use to the 100ms (never idle)
Lessons learnt…
Our use case
● Part of backend is a REST-based service
● Highly variable workloads
○ Usually 1-150 of requests a day
○ But very high traffic during a few days every year
● Data aggregation + transformation
 Decision for Node + Serverless
Problems
● Execution time
○ Much, much slower
○ Cold starts
○ Allocation of RAM
○ Processing power?
● Timeouts
● Lock-in
○ Strongly tied into the vendor implementation
○ Vendor standard and not industry standard
Solution
● Serverless.com
○ CLI
○ Supports all major FaaS vendors and Fn
● OpenFaaS and Fnproject
● CloudEvents / Event Gateway
Fnproject
Fn Project
● Open-source serverless compute platform
● Can be deployed to any cloud and on-premise
● Simple, elegant, and extensible by design
● Containers are primitives
● Active w/ 2500+ commits across 60+ contributors
● Independently governed with plans for foundation
● Strong enterprise focus (security, scalability, observability, etc.)
Components
FDK’sFn Server Fn Flow
Fn CLI
● fn init --runtime go
● fn run
● fn test
● fn deploy --app myapp
● fn call myapp myfunc
→ http://localhost:8080/r/myapp/myfunc
fn deploy details
1. Builds container (multi-stage) + bumps version
2. Pushes container to registry
3. Creates/updates function route (servers lazy load images)
MyFunc:0.0.2
MyFunc:0.0.2 MyFunc:0.0.2
Your code
Fn Service
myfunc →
/r/myapp/myfunc:0.0.2
1 2 3
Architecture
Demo
What about Serverless?
Traditional architecture Virtualized Architecture FaaS on Demand
Fn Flow
● Build long-running, reliable, scalable functions with rich sets of
language-specific primitives including fork-join, chaining, delays
and error handling
● Supports complex parallel processes that are readable and
testable (including unit tests) with standard programming tools
● Java support using CompletableFuture API from Java 8 with
JS, Python, Go language support on the way!
Thank you!
1. Star the project: github.com/fnproject/fn
2. Join the conversation: slack.fnproject.io
3. Learn more: fnproject.io
4. We’re hiring engineers and evangelists:
chad.arimura@oracle.com
Maximilian Jerg
uniPortal / Oracle
mx.jerg@gmail.com
Get Involved
The Fn Project
FDK’sFn Server Fn Flow

More Related Content

PDF
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
PDF
Free the Functions with Fn project!
PPTX
How to achieve scalable environments using kubernetes and vmss on azure cloud
PDF
Clovaを支える技術 機械学習配信基盤のご紹介
PPTX
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
PPTX
Architecture Sustaining LINE Sticker services
PPTX
An introduction to serverless development
PDF
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
Free the Functions with Fn project!
How to achieve scalable environments using kubernetes and vmss on azure cloud
Clovaを支える技術 機械学習配信基盤のご紹介
Lieven Vandegaer from MEDIAGENIX - Orchestrating a video-on-demand pipeline w...
Architecture Sustaining LINE Sticker services
An introduction to serverless development
Cédric Vidal from Quicksign: Building a digital on-boarding microservices pla...

What's hot (20)

PPTX
Get acquainted with the new ASP.Net 5
PDF
DSD-INT 2021 Probabilistic Toolkit (PTK) - Brinkman
PDF
OSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
PDF
Integracia security do ci cd pipelines
PDF
A Functional Approach to Architecture - Kafka & Kafka Streams - Kevin Mas Rui...
PPTX
Cross Community CI project
PDF
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
PDF
ElasticMQ : Server for Local SQS
PDF
Xpdays: Kubernetes CI-CD Frameworks Case Study
PDF
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
PPTX
How to setup a development environment for ONAP
PPTX
Site24x7 PHP Monitoring for DevOps
PDF
Using Stackdriver with MongoDB
PDF
DevSecOps - Security in DevOps
PDF
JAZOON'13 - Nikita Salnikov-Tarnovski - Multiplatform Java application develo...
PDF
eigr.io – a Serverless Runtime on the BEAM (ACM SIGPLAN, ICFP 2021 Erlang Wor...
PPTX
The good, the bad, the ugly side of step functions
PDF
FME World Tour 2016: FME and continuous integration
PPTX
Detailed Introduction To Docker
PDF
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
Get acquainted with the new ASP.Net 5
DSD-INT 2021 Probabilistic Toolkit (PTK) - Brinkman
OSMC 2014: Naemon 1, 2, 3, N | Andreas Ericsson
Integracia security do ci cd pipelines
A Functional Approach to Architecture - Kafka & Kafka Streams - Kevin Mas Rui...
Cross Community CI project
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
ElasticMQ : Server for Local SQS
Xpdays: Kubernetes CI-CD Frameworks Case Study
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
How to setup a development environment for ONAP
Site24x7 PHP Monitoring for DevOps
Using Stackdriver with MongoDB
DevSecOps - Security in DevOps
JAZOON'13 - Nikita Salnikov-Tarnovski - Multiplatform Java application develo...
eigr.io – a Serverless Runtime on the BEAM (ACM SIGPLAN, ICFP 2021 Erlang Wor...
The good, the bad, the ugly side of step functions
FME World Tour 2016: FME and continuous integration
Detailed Introduction To Docker
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
Ad

Similar to The FN Project by Maximilian Jerg (20)

PDF
The Fn Project: A Quick Introduction (December 2017)
PPTX
TechEvent Servlerless Computing with Fn Project
PDF
Serverless Computing with Fn Project
PDF
Java Serverless in Action - Voxxed Banff
PPTX
Democratizing Serverless
PDF
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
PPTX
Cloud agnostic serverless with fn project
PDF
The Fn Project by Jesse Butler
PDF
Serverless Boston @ Oracle Meetup
PDF
FaaS you like it (if Shakespeare had written Functions-as-a-Service)
PDF
Cloud agnostic serverless with fn project
PPTX
Democratizing Serverless: the New Open Source, Cloud Agnostic Functions Platf...
PDF
Introduction to Serverless through Architectural Patterns
PPTX
Serverless design with Fn project
PDF
Serverless architectures with Fn Project
PPTX
Functions and DevOps
PDF
Serverless brewbox
PDF
Serverless 101 in Montreal
PPTX
Serverless Pune meetup 3
PDF
Functional Programming in Serverless World
The Fn Project: A Quick Introduction (December 2017)
TechEvent Servlerless Computing with Fn Project
Serverless Computing with Fn Project
Java Serverless in Action - Voxxed Banff
Democratizing Serverless
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Cloud agnostic serverless with fn project
The Fn Project by Jesse Butler
Serverless Boston @ Oracle Meetup
FaaS you like it (if Shakespeare had written Functions-as-a-Service)
Cloud agnostic serverless with fn project
Democratizing Serverless: the New Open Source, Cloud Agnostic Functions Platf...
Introduction to Serverless through Architectural Patterns
Serverless design with Fn project
Serverless architectures with Fn Project
Functions and DevOps
Serverless brewbox
Serverless 101 in Montreal
Serverless Pune meetup 3
Functional Programming in Serverless World
Ad

More from Harald Schmaldienst (7)

PDF
Deployment mit Ansible auf JBoss Servern
PPTX
InfraCoders Vienna V Intro
PPTX
InfraCoders Vienna IV Intro
PPTX
InfraCoders Vienna III
PPTX
InfraCoders Vienna II
PPTX
InfraCoders I
PPTX
Infrastructure as Code mit Terraform
Deployment mit Ansible auf JBoss Servern
InfraCoders Vienna V Intro
InfraCoders Vienna IV Intro
InfraCoders Vienna III
InfraCoders Vienna II
InfraCoders I
Infrastructure as Code mit Terraform

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
KodekX | Application Modernization Development
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Per capita expenditure prediction using model stacking based on satellite ima...
Programs and apps: productivity, graphics, security and other tools
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
NewMind AI Weekly Chronicles - August'25 Week I
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Mobile App Security Testing_ A Comprehensive Guide.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
KodekX | Application Modernization Development
Review of recent advances in non-invasive hemoglobin estimation
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
Teaching material agriculture food technology

The FN Project by Maximilian Jerg

  • 1. The Fn Project Lessons learnt with Serverless Maximilian Jerg Open Source Serverless Computing
  • 2. Agenda ● Serverless ● Lessons learnt ● Fn project ● Live Demo
  • 4. What is Serverless? ● Serverless focuses on applications not infrastructure ● Managed service of infrastructure and its operations including provisioning, scaling, dynamic allocation of resources, patching, etc. ● Server management and capacity planning decisions are completely hidden ● Pricing is based on the resources consumed
  • 5. Functions-as-a-Service ● Functions are small bits of code that do one thing well and are easy to understand and maintain ● Stateless since there is typically no shared-memory In mathematics, a function is a relation between a set of inputs and a set of permissible outputs with the property that each input is related to exactly one output. Function (mathematics) - Wikipedia https://en.wikipedia.org/wiki/Function_(mathematics)
  • 6. Why Serverless? ● Easier: Just think about your code, not infrastructure ● Powerful: Transparent and limitless scaling ● Faster: Deploy faster, iterate faster, innovate faster ● Reliability: Increase reliability of critical apps using modern architectures ● Productivity: Very good for small developer teams ● Cheaper: Only pay for what you use to the 100ms (never idle)
  • 8. Our use case ● Part of backend is a REST-based service ● Highly variable workloads ○ Usually 1-150 of requests a day ○ But very high traffic during a few days every year ● Data aggregation + transformation  Decision for Node + Serverless
  • 9. Problems ● Execution time ○ Much, much slower ○ Cold starts ○ Allocation of RAM ○ Processing power? ● Timeouts ● Lock-in ○ Strongly tied into the vendor implementation ○ Vendor standard and not industry standard
  • 10. Solution ● Serverless.com ○ CLI ○ Supports all major FaaS vendors and Fn ● OpenFaaS and Fnproject ● CloudEvents / Event Gateway
  • 12. Fn Project ● Open-source serverless compute platform ● Can be deployed to any cloud and on-premise ● Simple, elegant, and extensible by design ● Containers are primitives ● Active w/ 2500+ commits across 60+ contributors ● Independently governed with plans for foundation ● Strong enterprise focus (security, scalability, observability, etc.)
  • 14. Fn CLI ● fn init --runtime go ● fn run ● fn test ● fn deploy --app myapp ● fn call myapp myfunc → http://localhost:8080/r/myapp/myfunc
  • 15. fn deploy details 1. Builds container (multi-stage) + bumps version 2. Pushes container to registry 3. Creates/updates function route (servers lazy load images) MyFunc:0.0.2 MyFunc:0.0.2 MyFunc:0.0.2 Your code Fn Service myfunc → /r/myapp/myfunc:0.0.2 1 2 3
  • 17. Demo
  • 18. What about Serverless? Traditional architecture Virtualized Architecture FaaS on Demand
  • 19. Fn Flow ● Build long-running, reliable, scalable functions with rich sets of language-specific primitives including fork-join, chaining, delays and error handling ● Supports complex parallel processes that are readable and testable (including unit tests) with standard programming tools ● Java support using CompletableFuture API from Java 8 with JS, Python, Go language support on the way!
  • 20. Thank you! 1. Star the project: github.com/fnproject/fn 2. Join the conversation: slack.fnproject.io 3. Learn more: fnproject.io 4. We’re hiring engineers and evangelists: chad.arimura@oracle.com Maximilian Jerg uniPortal / Oracle mx.jerg@gmail.com Get Involved
  • 21. The Fn Project FDK’sFn Server Fn Flow