SlideShare a Scribd company logo

Going serverless with Fn project, Fn Flow and Kubernetes

Fn Project is a container native, easy to use serverless platform developed by Oracle. With Fn flow, the platform provides a powerful flow engine to build long-running, reliable and scalable functions and to orchestrate processes between functions. Deployed on Kubernetes you get a high scaling solution to build serverless applications capable of handling even complex business scenarios. In this talk I will give a short introduction to Serverless, FaaS and Fn project, you will see how to deploy it in Kunernetes and how to integrate it with your existing applications.

1 of 52
Download to read offline
# BaselOne18
#BaselOne18
Going serverless with Fn
project, Fn Flow and
Kubernetes
#BaselOne18
About me
• Andy MoncsekAndy Moncsek
• Principal Consultant @ TrivadisPrincipal Consultant @ Trivadis
• Java, middleware, container, architectureJava, middleware, container, architecture
• Andy.Moncsek@trivadis.comAndy.Moncsek@trivadis.com
• Twitter: @AndyAHCPTwitter: @AndyAHCP
#BaselOne18
Agenda
• Introduction to Serverless
• Fn project
• Fn Flow
• Run / deploy to Kubernetes
• Conclustion
#BaselOne18
INTRODUCTION TO
SERVERLESS
#BaselOne18
Classification
Infrastruct
ure
Platform
(IaaS)
Container
Platform
(CaaS)
Application
Platform
(PaaS)
Function
Platform
(FaaS)
Software
Platform
(SaaS)
on-prem
• OpenStack
• vSphere
• Azure Stack
VMs
• Kubernetes
• DC/OS
• Docker Data
Center
• CloudFoundry
• OpenShift
• WaveMaker
• OpenWhisk
• Fn-project
• Iron.io
BYO
hoste
• AWS EC2
• GCE
• Azure VMs
• GKE
• ECE
• ACE
• Heroku
• PCF
• Jelastic
• AWS-Lambda
• GCF
• Azure-functions
• SalesForce
• Oracle
• SAP

Recommended

History Of Redis Replication And Future Prospects: Zhao Zhao
History Of Redis Replication And Future Prospects: Zhao ZhaoHistory Of Redis Replication And Future Prospects: Zhao Zhao
History Of Redis Replication And Future Prospects: Zhao ZhaoRedis Labs
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumaiクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumai
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #shuuumaiShohei Okada
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondoクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondo
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpcondoShohei Okada
 
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaクリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawa
クリーンアーキテクチャの考え方にもとづく Laravel との付き合い方 #phpconokinawaShohei Okada
 
Python interfaces
Python interfacesPython interfaces
Python interfacespythonchile
 
Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Jooho Lee
 

More Related Content

What's hot

Symfony Nano Framework
Symfony Nano FrameworkSymfony Nano Framework
Symfony Nano FrameworkLoïc Faugeron
 
Passenger 6 generic language support presentation
Passenger 6 generic language support presentationPassenger 6 generic language support presentation
Passenger 6 generic language support presentationHongli Lai
 
Laravel 4 package development
Laravel 4 package developmentLaravel 4 package development
Laravel 4 package developmentTihomir Opačić
 
cPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanelcPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanelcPanel
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment Evaldo Felipe
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1LiviaLiaoFontech
 
Dependency management with Composer
Dependency management with ComposerDependency management with Composer
Dependency management with ComposerJason Grimes
 
Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Fabien Potencier
 
Sinatra and friends
Sinatra and friendsSinatra and friends
Sinatra and friendsJiang Wu
 
Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?Kirill Chebunin
 
A brief to PHP 7.3
A brief to PHP 7.3A brief to PHP 7.3
A brief to PHP 7.3Xinchen Hui
 
Vagrant move over, here is Docker
Vagrant move over, here is DockerVagrant move over, here is Docker
Vagrant move over, here is DockerNick Belhomme
 
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...Puppet
 
Using MCollective with Chef - cfgmgmtcamp.eu 2014
Using MCollective with Chef - cfgmgmtcamp.eu 2014Using MCollective with Chef - cfgmgmtcamp.eu 2014
Using MCollective with Chef - cfgmgmtcamp.eu 2014Zachary Stevens
 
Introduction to nu soap
Introduction to nu soapIntroduction to nu soap
Introduction to nu soapvikash_pri14
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment TacticsIan Barber
 

What's hot (20)

Symfony Nano Framework
Symfony Nano FrameworkSymfony Nano Framework
Symfony Nano Framework
 
Passenger 6 generic language support presentation
Passenger 6 generic language support presentationPassenger 6 generic language support presentation
Passenger 6 generic language support presentation
 
Laravel 4 package development
Laravel 4 package developmentLaravel 4 package development
Laravel 4 package development
 
cPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanelcPanel conf 2017 - How to Speak cPanel
cPanel conf 2017 - How to Speak cPanel
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
 
Dependency management with Composer
Dependency management with ComposerDependency management with Composer
Dependency management with Composer
 
Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009Symfony2 San Francisco Meetup 2009
Symfony2 San Francisco Meetup 2009
 
Sinatra and friends
Sinatra and friendsSinatra and friends
Sinatra and friends
 
Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?Composer - Package Management for PHP. Silver Bullet?
Composer - Package Management for PHP. Silver Bullet?
 
A brief to PHP 7.3
A brief to PHP 7.3A brief to PHP 7.3
A brief to PHP 7.3
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Vagrant move over, here is Docker
Vagrant move over, here is DockerVagrant move over, here is Docker
Vagrant move over, here is Docker
 
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
 
Using MCollective with Chef - cfgmgmtcamp.eu 2014
Using MCollective with Chef - cfgmgmtcamp.eu 2014Using MCollective with Chef - cfgmgmtcamp.eu 2014
Using MCollective with Chef - cfgmgmtcamp.eu 2014
 
Play ja kansai
Play ja kansaiPlay ja kansai
Play ja kansai
 
Introduction to nu soap
Introduction to nu soapIntroduction to nu soap
Introduction to nu soap
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
 
Cfml features modern_coding
Cfml features modern_codingCfml features modern_coding
Cfml features modern_coding
 
Getting Started With Aura
Getting Started With AuraGetting Started With Aura
Getting Started With Aura
 

Similar to Going serverless with Fn project, Fn Flow and Kubernetes

Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing ServerlessShaun Smith
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...Codemotion
 
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...Nicola Ferraro
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingChristopher Pecoraro
 
Presentation Lfoppiano Pycon
Presentation Lfoppiano PyconPresentation Lfoppiano Pycon
Presentation Lfoppiano PyconLuca Foppiano
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixYunong Xiao
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component libraryMax Katz
 
Scale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty GenovaScale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty GenovaCorley S.r.l.
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileAmazon Web Services Japan
 
vJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemvJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemAndres Almiray
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityRobb Boyd
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microserviceGiulio De Donato
 
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイドAzure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイドYoichi Kawasaki
 
HTML5 tutorial: canvas, offfline & sockets
HTML5 tutorial: canvas, offfline & socketsHTML5 tutorial: canvas, offfline & sockets
HTML5 tutorial: canvas, offfline & socketsRemy Sharp
 

Similar to Going serverless with Fn project, Fn Flow and Kubernetes (20)

Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing Serverless
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
Serverless design with Fn project
Serverless design with Fn projectServerless design with Fn project
Serverless design with Fn project
 
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
Open Source Serverless: a practical view. - Gabriele Provinciali Luca Postacc...
 
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
ApacheCon NA - Apache Camel K: connect your Knative serverless applications w...
 
Laravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routingLaravel 5 Annotations: RESTful API routing
Laravel 5 Annotations: RESTful API routing
 
Presentation Lfoppiano Pycon
Presentation Lfoppiano PyconPresentation Lfoppiano Pycon
Presentation Lfoppiano Pycon
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at Netflix
 
Phonegap 2.x
Phonegap 2.xPhonegap 2.x
Phonegap 2.x
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
RichFaces: rich:* component library
RichFaces: rich:* component libraryRichFaces: rich:* component library
RichFaces: rich:* component library
 
Scale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty GenovaScale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty Genova
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & MobileIVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
 
vJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemvJUG - The JavaFX Ecosystem
vJUG - The JavaFX Ecosystem
 
TechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching ProgrammabilityTechWiseTV Workshop: Catalyst Switching Programmability
TechWiseTV Workshop: Catalyst Switching Programmability
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
 
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイドAzure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
Azure Functions 2.0 Deep Dive - デベロッパーのための最新開発ガイド
 
HTML5 tutorial: canvas, offfline & sockets
HTML5 tutorial: canvas, offfline & socketsHTML5 tutorial: canvas, offfline & sockets
HTML5 tutorial: canvas, offfline & sockets
 

More from Andy Moncsek

The JVM in the Cloud: OpenJ9 and the traditional HotSpot JVM
The JVM in the Cloud: OpenJ9 and the traditional HotSpot JVMThe JVM in the Cloud: OpenJ9 and the traditional HotSpot JVM
The JVM in the Cloud: OpenJ9 and the traditional HotSpot JVMAndy Moncsek
 
Master your java_applications_in_kubernetes
Master your java_applications_in_kubernetesMaster your java_applications_in_kubernetes
Master your java_applications_in_kubernetesAndy Moncsek
 
Vert.x based microservices with vxms
Vert.x based microservices with vxmsVert.x based microservices with vxms
Vert.x based microservices with vxmsAndy Moncsek
 
Event driven microservices with vxms, hazelcast and kubernetes - muenchen
Event driven microservices with vxms, hazelcast and kubernetes - muenchenEvent driven microservices with vxms, hazelcast and kubernetes - muenchen
Event driven microservices with vxms, hazelcast and kubernetes - muenchenAndy Moncsek
 
Event driven microservices with vertx and kubernetes
Event driven microservices with vertx and kubernetesEvent driven microservices with vertx and kubernetes
Event driven microservices with vertx and kubernetesAndy Moncsek
 
autodiscoverable microservices with vertx3
autodiscoverable microservices with vertx3autodiscoverable microservices with vertx3
autodiscoverable microservices with vertx3Andy Moncsek
 
Building non-blocking JavaFX 8 applications with JacpFX [CON1823]
Building non-blocking JavaFX 8 applications with JacpFX [CON1823]Building non-blocking JavaFX 8 applications with JacpFX [CON1823]
Building non-blocking JavaFX 8 applications with JacpFX [CON1823]Andy Moncsek
 
JavaFX / JacpFX interaction with JSR356 WebSockets
JavaFX / JacpFX interaction with JSR356 WebSocketsJavaFX / JacpFX interaction with JSR356 WebSockets
JavaFX / JacpFX interaction with JSR356 WebSocketsAndy Moncsek
 
Scalableenterpriseapplicationswith jee7andbeyond
Scalableenterpriseapplicationswith jee7andbeyondScalableenterpriseapplicationswith jee7andbeyond
Scalableenterpriseapplicationswith jee7andbeyondAndy Moncsek
 

More from Andy Moncsek (9)

The JVM in the Cloud: OpenJ9 and the traditional HotSpot JVM
The JVM in the Cloud: OpenJ9 and the traditional HotSpot JVMThe JVM in the Cloud: OpenJ9 and the traditional HotSpot JVM
The JVM in the Cloud: OpenJ9 and the traditional HotSpot JVM
 
Master your java_applications_in_kubernetes
Master your java_applications_in_kubernetesMaster your java_applications_in_kubernetes
Master your java_applications_in_kubernetes
 
Vert.x based microservices with vxms
Vert.x based microservices with vxmsVert.x based microservices with vxms
Vert.x based microservices with vxms
 
Event driven microservices with vxms, hazelcast and kubernetes - muenchen
Event driven microservices with vxms, hazelcast and kubernetes - muenchenEvent driven microservices with vxms, hazelcast and kubernetes - muenchen
Event driven microservices with vxms, hazelcast and kubernetes - muenchen
 
Event driven microservices with vertx and kubernetes
Event driven microservices with vertx and kubernetesEvent driven microservices with vertx and kubernetes
Event driven microservices with vertx and kubernetes
 
autodiscoverable microservices with vertx3
autodiscoverable microservices with vertx3autodiscoverable microservices with vertx3
autodiscoverable microservices with vertx3
 
Building non-blocking JavaFX 8 applications with JacpFX [CON1823]
Building non-blocking JavaFX 8 applications with JacpFX [CON1823]Building non-blocking JavaFX 8 applications with JacpFX [CON1823]
Building non-blocking JavaFX 8 applications with JacpFX [CON1823]
 
JavaFX / JacpFX interaction with JSR356 WebSockets
JavaFX / JacpFX interaction with JSR356 WebSocketsJavaFX / JacpFX interaction with JSR356 WebSockets
JavaFX / JacpFX interaction with JSR356 WebSockets
 
Scalableenterpriseapplicationswith jee7andbeyond
Scalableenterpriseapplicationswith jee7andbeyondScalableenterpriseapplicationswith jee7andbeyond
Scalableenterpriseapplicationswith jee7andbeyond
 

Recently uploaded

Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Jay Zhao
 
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...ShapeBlue
 
Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Product School
 
Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...
Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...
Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...Product School
 
Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...
Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...
Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...2toLead Limited
 
Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...
Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...
Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...UiPathCommunity
 
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31shyamraj55
 
AI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientAI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientKari Kakkonen
 
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...Product School
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriSafe Software
 
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...DianaGray10
 
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024BookNet Canada
 
Large Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareLarge Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareAsma Ben Abacha
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubShapeBlue
 
TrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI InnovationsTrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI InnovationsTrustArc
 
National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...MichaelBenis1
 
Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24
Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24
Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24Umar Saif
 
My Journey towards Artificial Intelligence
My Journey towards Artificial IntelligenceMy Journey towards Artificial Intelligence
My Journey towards Artificial IntelligenceVijayananda Mohire
 
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Chris Bingham
 

Recently uploaded (20)

Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
 
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
 
Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...Launching New Products In Companies Where It Matters Most by Product Director...
Launching New Products In Companies Where It Matters Most by Product Director...
 
Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...
Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...
Cultivating Entrepreneurial Mindset in Product Management: Strategies for Suc...
 
Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...
Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...
Microsoft x 2toLead Webinar Session 1 - How Employee Communication and Connec...
 
Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...
Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...
Dev Dives: Leverage APIs and Gen AI to power automations for RPA and software...
 
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
Unleash the Solace Pub Sub connector | Banaglore MuleSoft Meetup #31
 
AI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientAI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficient
 
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
Harnessing the Power of GenAI for Exceptional Product Outcomes by Booking.com...
 
Geospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & EsriGeospatial Synergy: Amplifying Efficiency with FME & Esri
Geospatial Synergy: Amplifying Efficiency with FME & Esri
 
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...Building Bridges:  Merging RPA Processes, UiPath Apps, and Data Service to bu...
Building Bridges: Merging RPA Processes, UiPath Apps, and Data Service to bu...
 
In sharing we trust. Taking advantage of a diverse consortium to build a tran...
In sharing we trust. Taking advantage of a diverse consortium to build a tran...In sharing we trust. Taking advantage of a diverse consortium to build a tran...
In sharing we trust. Taking advantage of a diverse consortium to build a tran...
 
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
Trending now: Book subjects on the move in the Canadian market - Tech Forum 2024
 
Large Language Models and Applications in Healthcare
Large Language Models and Applications in HealthcareLarge Language Models and Applications in Healthcare
Large Language Models and Applications in Healthcare
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
 
TrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI InnovationsTrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI Innovations
 
National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...
 
Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24
Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24
Progress Report: Ministry of IT under Dr. Umar Saif Aug 23-Feb'24
 
My Journey towards Artificial Intelligence
My Journey towards Artificial IntelligenceMy Journey towards Artificial Intelligence
My Journey towards Artificial Intelligence
 
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
Learning About GenAI Engineering with AWS PartyRock [AWS User Group Basel - F...
 

Going serverless with Fn project, Fn Flow and Kubernetes

  • 2. #BaselOne18 Going serverless with Fn project, Fn Flow and Kubernetes
  • 3. #BaselOne18 About me • Andy MoncsekAndy Moncsek • Principal Consultant @ TrivadisPrincipal Consultant @ Trivadis • Java, middleware, container, architectureJava, middleware, container, architecture • Andy.Moncsek@trivadis.comAndy.Moncsek@trivadis.com • Twitter: @AndyAHCPTwitter: @AndyAHCP
  • 4. #BaselOne18 Agenda • Introduction to Serverless • Fn project • Fn Flow • Run / deploy to Kubernetes • Conclustion
  • 6. #BaselOne18 Classification Infrastruct ure Platform (IaaS) Container Platform (CaaS) Application Platform (PaaS) Function Platform (FaaS) Software Platform (SaaS) on-prem • OpenStack • vSphere • Azure Stack VMs • Kubernetes • DC/OS • Docker Data Center • CloudFoundry • OpenShift • WaveMaker • OpenWhisk • Fn-project • Iron.io BYO hoste • AWS EC2 • GCE • Azure VMs • GKE • ECE • ACE • Heroku • PCF • Jelastic • AWS-Lambda • GCF • Azure-functions • SalesForce • Oracle • SAP
  • 7. #BaselOne18 FaaS  what are functions? 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. - Wikipedia
  • 8. #BaselOne18 FaaS  what are functions? • Functions are a small piece of code doing one thing • As a Service means: – no complicated set-up & packaging – the system takes care of provisioning, scaling, patching, maintaining • Each function scales independently – no complicated concurrency
  • 9. #BaselOne18 What is Serverless? • Next Level of abstraction – in infrastructure (after PaaS, CaaS) – in operations, including provisioning, scaling, patching • FaaS is the compute component in a serverless architecture
  • 11. #BaselOne18 Why you should run Serverless (in cloud & on- prem?) - Easier: better first time experience, think about code, not the infrastructure - Faster: to deploy, iterate, innovate - Capacity planning: executed when needed, auto scaling & management, over planning, irregular workloads, pay per use
  • 13. #BaselOne18 Introducing the Fn-project  Open-source serverless compute platform  Easy for new users, low level controls for advanced users  Based on Docker ecosystem  Deploy to Kubernetes, Swarm, Mesos  Strong enterprise focus (security, scalability, observability, etc.)
  • 14. #BaselOne18 Fn-project components 1. Fn Server is the Functions-as-a-Service system 2. Fn FDK’s, the develoment kits for diferent langages 3. Fn Flow allows developers to build and orchestrate higher level workflows of functions 4. The Fn Load Balancer (Fn LB) allows operators to deploy clusters of Fn servers and route traffic to them intelligently
  • 15. #BaselOne18 Fn function  Chunk of code wrapped into a container  Input via STDIN  Output to STDOUT  Logs to STDERR  The Fn Server handles everything else
  • 16. #BaselOne18 Fn function  Any container can be a deployed as Fn function Reuse oss librariers as functions  Fn functions are containers with known traits: Short running, stateless, single purpose, self- name: example/resize512 version: 0.0.1 entrypoint: convert - -resize 512x512 - path: /resize512 FROM debian RUN apt-get update RUN apt-get install -y imagemagick ENTRYPOINT ["convert", "-", "-resize", "512x512", "-"] Dockerfilefunc.yml
  • 17. #BaselOne18 What is the FDK?  A Functions Development Kit, is a set of libraries in Fn for:  Simplifying function development  Avoid dealing with STDIN, STOUT directly  Reduce complexity  Support for: Java, Go, Python, Ruby, Node, etc.
  • 19. #BaselOne18 The Fn CLI > fn start > fn init --runtime java --trigger http jfn > fn deploy --app myapp --local > fn list app && fn list t myapp > echo –n «Bob» | fn invoke myapp jfn > curl –d «Bob» http://...:8080/t/myapp/jfn-trigger
  • 20. #BaselOne18 The Fn App-structure  (optional) root-folder  app.yaml  defines the app name  function-folder  func.yaml (name, trigger, container, fdk definitions)  source
  • 21. #BaselOne18 Fn Apps & Triggers (API v2)  Apps  The way to logically group FN Functions and triggers  Triggers  Pointers /endpoints to the functions  Multiple triggers to the same function
  • 22. #BaselOne18 The Fn func.yaml name: helloworld cmd: ....fn.HelloFunction::handleRequest format: http triggers: - name: helloworld-trigger type: http source: /helloworld-trigger public class HelloFunction { public String handleRequest(String input) { String name = input; return "Hello, " + name + "!"; } } curl –d «Bob» http://...:8080/t/myapp/helloworld-trigger func.yaml HelloFunction.java name: myapp app.yaml
  • 23. #BaselOne18 Fn deployment details 1. Build container + update version Code MyFunc:0.0.3 1 MyFunc:0.0.3 2 MyFunc:0.0.3 Fn Service myfunc  /t/myapp/myfunc 3 2. Push container to registry 3. Create/update function route
  • 24. #BaselOne18 Configure Fn functions Three ways to set configuration variables (Available as environmental variables) 1.Application level configuration > fn config app myapp KEY value 1.Configuration from func.yaml 2.Function level configuration > fn config function myapp jfn KEY value
  • 25. #BaselOne18 Fn Java-FDK Unit-Testing The Fn Java (and other) FDK(s) provides an API for testing @Rule public final FnTestingRule testing = FnTestingRule.createDefault(); @Test public void shouldReturnGreeting() { testing.givenEvent().enqueue(); testing.thenRun(HelloFunction.class, "handleRequest"); FnResult result = testing.getOnlyResult(); assertEquals("Hello, world!", result.getBodyAsString()); }
  • 26. #BaselOne18 Fn Java-FDK input / output mapping  The Fn Java FDK supports JSON input & output through Jackson by default.  Custom mapping of incoming inputStream
  • 27. #BaselOne18 Fn asynchronous functions  Async functions are queued up  Run at some point in the future  Great for expensive / bulk operations  There is no immediate response  Instead a JSON returns with the call_id  Check the status by invoking: > fn get call myapp call_id
  • 28. #BaselOne18 https://github.com/fnproject/tutorials/blob/master/grafana/README.md Fn metrics using Prometheus & Grafana  Fn server exposes i.e. performance & resource consumption  OpenTracing API
  • 32. #BaselOne18 Fn Flow  Fn Flow lets you build:  Long-running, reliable & scalable functions  Supports complex parallel processes  Orchestrates computation beyond the life-cycle of functions  Provides monitoring and tracing
  • 33. #BaselOne18 Fn Flow API • Lot of concepts taken from Java 8 CompletableFuture API Flow fl = Flows.currentFlow(); return fl.supply(() -> "some value") .thenApply(i -> "Your value is: " + i).get(); • Invoking other functions asynchronously • Handling errors fl.supply(() -> throw new Exception("Error")) .exceptionallyCompose(err -> fl.invokeFunction("./recover",...); fl.invokeFunction("myapp/myfn", HttpMethod.GET);
  • 36. #BaselOne18 Fn Flow Demo Flow f = Flows.currentFlow(); FlowFuture<BookingRes> flightFuture = f.invokeFunction("./flight/book", input.flight, BookingRes.class); FlowFuture<BookingRes> hotelFuture = f.invokeFunction("./hotel/book", input.hotel, BookingRes.class); FlowFuture<BookingRes> carFuture = f.invokeFunction("./car/book", input.carRental, BookingRes.class); flightFuture.thenCompose( (flightRes) -> hotelFuture.thenCompose( (hotelRes) -> carFuture.whenComplete( (carRes, e) -> EmailReq.sendSuccessMail(flightRes, hotelRes, carRes) ) .exceptionallyCompose( (e) -> cancel("./car/cancel", input.carRental, e) ) ) .exceptionallyCompose( (e) -> cancel("./hotel/cancel", input.hotel, e) ) ) .exceptionallyCompose( (e) -> cancel("./flight/cancel", input.flight, e) );
  • 38. #BaselOne18 Fn architecture Fn LoadbalancerFn Loadbalancer Fn ServerFn Server Fn ServerFn Server Fn ServerFn Server Object store (logs, etc.) Object store (logs, etc.) Database (metadata, routes) Database (metadata, routes) MQ (for async) MQ (for async)
  • 39. #BaselOne18 Fn + Kubernetes Fn Load Balancer (LB) needed for scale out - LB is aware of active (hot) containers Fn Servers are the execution run-time - Typically deployed as DeamonSet Fn LoadbalancerFn Loadbalancer ...... Fn ServerFn Server ......
  • 40. #BaselOne18 Fn + Kubernetes  Fn-helm provides a Helm Chart 1. git clone https://github.com/fnproject/fn-helm.git && cd fn-helm 2. helm dep build fn 3. helm install --name my-release fn  What you get is:  Fn  Fn UI  Flow  Flow UI
  • 42. #BaselOne18 From monolith to function? monolithmonolith microservicemicroservice microservicemicroservice microservicemicroservice functionfunction functionfunction functionfunction functionfunction functionfunction Vs. time & complexity
  • 43. #BaselOne18 From monolith to function? Core business (durable) apps (volatile) mm mm mm mm mmff ff ff ff ff ff ff ff ff ff B2B – app(s) B2B – app(s) B2C – app(s) B2C – app(s)
  • 44. #BaselOne18 Core business Core business From monolith to function? apps (volatile) ff ff ff ff ff ff ff ff ff ff B2B – app(s) B2B – app(s) B2C – app(s) B2C – app(s) (monolith)
  • 45. #BaselOne18 Core business Core business From monolith to function? «anti-corruption layer» mm mm mm mm mmff ff ff ff ff ff ff ff ff ff (new) core UI (new) core UI (monolith)
  • 46. #BaselOne18 From monolith to function? Core business (durable) «anti-corruption layer» mm mm mm mm mm ff ff ff ff ff ff ff ff (new) core UI (new) core UI
  • 47. #BaselOne18 Conclusion „serverless“ • Good supplement to complex core systems – “anti-corruption/pollution layer” – gateway/proxy, backends for frontends – B2B & B2C applications • API “facade” – hide migration details / API changes – decouple frontend / backend modernization
  • 48. #BaselOne18 Conclusion „serverless“ • Scalable & convenient solution on-prem. / cloud – quick ramp up time for developers – quick ramp up time for ops. in cloud & container – no permanent resource usage – managed environment – pay per use
  • 49. #BaselOne18 Conclusion Fn project • Pro – quick ramp up for devs. / work locally – few dependencies to FDK / small vendor lock-in – Docker native / integrate existing (OSS) tools – multi-cloud / on-premise – CloudNative event support – integration with the “Serverless Framework” – strong focus on business
  • 50. #BaselOne18 Conclusion Fn project • Contra – still in development – newly published API v2 (after announcing v1 last year) – still small distribution
  • 51. Thank youThank you •Andy MoncsekAndy Moncsek •Principal ConsultantPrincipal Consultant •Andy.Moncsek@trivadis.comAndy.Moncsek@trivadis.com •Twitter: @AndyAHCPTwitter: @AndyAHCP 19.10.18 51 Going serverless with Fn project, Fn Flow and Kubernetes
  • 52. Links • https://hackernoon.com/part-ii-fn-load-balancer-585babd90456 • https://medium.com/@denismakogon/advanced-programming-techniques-with-the- fn-platform-cf70b660bcb9 • https://medium.com/fnproject/useful-tips-for-a-new-fdk-development-78f931477c49 • https://github.com/fnproject/tutorials/tree/master/FlowSaga • https://medium.com/fnproject/getting-started-with-fn-project-65c334b0a63f • https://medium.com/fnproject/setting-functions-free-15d063be72bf • https://banzaicloud.com/blog/fn/ • https://static.rainfocus.com/oracle/oraclecode18/sess/1517600039041001s1gC/PF/ Oracle%20Code%20NY%202018%20Presentation%20-%20Fn %20Project_1521059554862001Da6n.pdf Bezeichnung Präsentation 5219.10.18

Editor's Notes

  1. - Backends for frontends Gateways Sidecar
  2. - Backends for frontends Gateways Sidecar
  3. - FaaS as anti-corruption Layer
  4. - FaaS as anti-corruption Layer
  5. Managed environment: list apps &amp; functions / updates of underlying containers / FDK