SlideShare a Scribd company logo
1 of 37
Download to read offline
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |
Fn Project
Randstad Docker meetup
1
David Delabassee - @delabassee
Oracle
January 30, 2019
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 2
Preamble…
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 3
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
4
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Function As a Service
• Function
• As a Service
5
Small bits of code with a well defined job
Easy to understand and maintain
The system takes care of provisioning, patching, scaling, ...
Each function can scale independently
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 6
https://jaxenter.com/technologies-dominate-2019-poll-152470.html
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 7
https://twitter.com/monkchips/status/1088002995525242880
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Coming Soon: Oracle Functions
8
Autonomous
Platform auto-scales functions
No servers to provision,
manage
Pay Per Use
Pay for execution, not for idle
time
No Lock-in
Built on open-source Fn
Project and Docker
Oracle Functions
Functions-as-a-Service
Oracle Cloud Integrated
Container Native
Multi-tenant
Secure
Open Source Engine
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
FaaS Platform – Roles & Responsibilities
9
Users Provider
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 10
Open-Source Container-Native FaaS Platform
Introducing Fn Project
https://github.com/fnproject
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
The Ideal FaaS Platform?
Open-Source
Approachable
Container-Native
Language Independent
Scheduler Independent
Platform Independent
No vendor lock-in
Easy for new users
Leverage Docker and its ecosystem
Go, Java, Python, …
K8S, Swarm, Mesos, ...
Cloud, On-Perm, laptop
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn Architecture
• Fn CLI
• Fn FDK's
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Introducing Fn Function
Code wrapped in a Container Image
–Via a “wrapper”
• Input from stdin
• Output to stdout
• Logs to stderr
–Or simply use an FDK!
Fn handles everything else!
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn and java
14
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn … not just Java
15
• Go
• Python
• Node
• Ruby
• …
• bring your own!
– Init-image
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
fn deploy
16
• Build container (multi-stage) + bumps version
• Push container to registry (unless --local)
• Create or update function trigger
SomeFunc:0.0.1
SomeFunc:0.0.1 SomeFunc:0.0.1
User code
Fn Service
somefunc →
/r/app/somefunc:0.0.1
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn Triggers
17
• Entry points for function invocation
• Multiple triggers may call the same function
• HTTP trigger, more coming
$ fn init --runtime node --trigger http hello
…
$ fn list triggers nodeapp
FUNCTION NAME TYPE SOURCE ENDPOINT
hello my-trigger http /hi http://10.8.10.103/t/nodeapp/hello
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Logging
18
syslog & logspout
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn and Developers
19
• Strong Developer Focus
– E.g. keep using your preferred tool chain
• FDK
• Fn CLI
# fn init
# fn build (optional)
# fn deploy
# fn invoke
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
DIY Serverless
20
• Roles & Responsibilities
– Users and Provider
• Why?
– Don’t Lean into Lock-in, Open is Good, Flexibility is Great
– Specific requirement, e.g. local legislation
– More controls and customization
– Learning, Development, etc.
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
DIY Serverless
21
• Requirements
– Fn Project
– Kubernetes
– Infrastructure
– DevOps Ninja Skills
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
DIY Serverless
22
• Scheduler Agnostic
– Optimizations and additional management work underway for K8S
• Helm chart
– https://github.com/fnproject/fn-helm
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
DIY Serverless
23
• Requirements
– Fn Project
– Kubernetes
– DevOps Ninja Skills
Oracle Container Engine
for Kubernetes
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Observability and Analytics with Prometheus & Grafana
24
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Tracing with OpenTracing and Jaeger
25
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Customizing and Extending Fn
26
• Listeners
– App, Call, Fn and Trigger listeners
– Can listen to various API events and respond to them
• Middleware
– Add functionality for every API request
– Cancel the request or call the next middleware in the chain
– E.g. Authentication middleware that checks headers for a custom token
• Custom API endpoint
– E.g. Custom API endpoint that handles requests to a custom HTTP route
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Low Latency
• Hot Functions
• Start Fast
• Run Small(er) images
27
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn Hot functions
28
• Cold start time (~300ms) is incurred on a first invocation
• Fn will pause the container for a time, default 30s
• Subsequent invocations will be “hot”, and reset the cooldown
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Start Fast
29
E.g. Java - Moving Startup Costs to Build-Time
• Class Data Sharing
–Avoid parsing JDK classes on start
• Application CDS
–Avoid parsing App classes on start
• AOT compilation
–Compile App classes to native .so libraries (experimental)
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Run Small(er) Images
Small container images = faster start-up
–Transferring images to a host
–COW caches
–Overlay FS
30
E.g. Java - Better start-up time
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Run Small(er) Images
31
Remove parts of Java standard library that you don't use
Function and its dependencies
Java runtime
Operating System
Java 11 vs. Java 11 with jlink
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Run Small(er) Images
Security-oriented, lightweight Linux distribution
with 4MB base image
Lightweight, fast, simple, free, C standard library
implementation
32
E.g. Java
Project Portola’s goal is to run the JVM on Alpine Linux/Musl
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Run Small(er) Images
• GraalVM compiles Java source to a single native binary
• Tiny image sizes
• Low VM overhead
33
E.g. Java
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Fn Project
• Open Source Container Native FaaS Platform
–https://github.com/fnproject
• Development choices
–Go, Java, Node, Python, etc.
• Operation choices
–DIY Serverless
– ➥ Oracle Container Engine for Kubernetes + Fn
–➥ FaaS, i.e. Oracle Functions (soon)
34
Wrap-up
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
Coming Soon: Oracle Functions
Function Dev KitsOpen Source Engine
Oracle Cloud Triggers
Events
HTTP
Timer
Streams
Container Native
Advanced DiagnosticsFine-grained Billing
Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 36
Dank u!
Copyright © 2019, Oracle and/or its affiliates. All rights reserved.
https://cloud.oracle.com/TryIt
Get $500 USD of free credits

More Related Content

What's hot

Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and MorePolyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and MoreShaun Smith
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemBruno Borges
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemBruno Borges
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceTim Ellison
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open InnovationTim Ellison
 
Api design and prototype
Api design and prototypeApi design and prototype
Api design and prototypeDonghuKIM2
 
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud ResourceOracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud ResourceTaewan Kim
 
Building microservice for api with helidon and cicd pipeline
Building microservice for api with helidon and cicd pipelineBuilding microservice for api with helidon and cicd pipeline
Building microservice for api with helidon and cicd pipelineDonghuKIM2
 
20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVMTaewan Kim
 
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish AbramsGraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish AbramsOracle Developers
 
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...jaxLondonConference
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Simon Ritter
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle Developers
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential Oracle Korea
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXBruno Borges
 
Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014Simon Ritter
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Heather VanCura
 
Install Redis on Oracle Linux
Install Redis on Oracle LinuxInstall Redis on Oracle Linux
Install Redis on Oracle LinuxJohan Louwers
 

What's hot (20)

Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and MorePolyglot! A Lightweight Cloud Platform for Java SE, Node, and More
Polyglot! A Lightweight Cloud Platform for Java SE, Node, and More
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
 
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na NuvemTecnologias Oracle em Docker Containers On-premise e na Nuvem
Tecnologias Oracle em Docker Containers On-premise e na Nuvem
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark Performance
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open Innovation
 
Api design and prototype
Api design and prototypeApi design and prototype
Api design and prototype
 
Oracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud ResourceOracle Code in Seoul: Provisioning of Cloud Resource
Oracle Code in Seoul: Provisioning of Cloud Resource
 
Building microservice for api with helidon and cicd pipeline
Building microservice for api with helidon and cicd pipelineBuilding microservice for api with helidon and cicd pipeline
Building microservice for api with helidon and cicd pipeline
 
20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM20191119 Cloud Native Java : GraalVM
20191119 Cloud Native Java : GraalVM
 
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish AbramsGraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
GraphPipe - Blazingly Fast Machine Learning Inference by Vish Abrams
 
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
The Java Virtual Machine is Over - The Polyglot VM is here - Marcus Lagergren...
 
Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?Is An Agile Standard Possible For Java?
Is An Agile Standard Possible For Java?
 
Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018Oracle - Continuous Delivery NYC meetup, June 07, 2018
Oracle - Continuous Delivery NYC meetup, June 07, 2018
 
API Design Principles Essential 
API Design Principles Essential API Design Principles Essential 
API Design Principles Essential 
 
Migrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFXMigrating From Applets to Java Desktop Apps in JavaFX
Migrating From Applets to Java Desktop Apps in JavaFX
 
Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014Oracle Keynote from JMagghreb 2014
Oracle Keynote from JMagghreb 2014
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374Adopt-a-JSR for JSON Processing 1.1, JSR 374
Adopt-a-JSR for JSON Processing 1.1, JSR 374
 
Install Redis on Oracle Linux
Install Redis on Oracle LinuxInstall Redis on Oracle Linux
Install Redis on Oracle Linux
 

Similar to Randstad Docker meetup - Serverless

Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsDavid Delabassee
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOpsShaun Smith
 
Introducing Fn Project
Introducing Fn ProjectIntroducing Fn Project
Introducing Fn ProjectAyumu Aizawa
 
Grow Your Business with Oracle Linux, Virtualization- BL v6.pdf
Grow Your Business with Oracle Linux, Virtualization- BL v6.pdfGrow Your Business with Oracle Linux, Virtualization- BL v6.pdf
Grow Your Business with Oracle Linux, Virtualization- BL v6.pdfsyamsulsakbar
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleSimon Haslam
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingPhil Wilkins
 
9thMeetup-20190316-CI/CD 기반의 Microservice 배포
9thMeetup-20190316-CI/CD 기반의 Microservice 배포9thMeetup-20190316-CI/CD 기반의 Microservice 배포
9thMeetup-20190316-CI/CD 기반의 Microservice 배포DongHee Lee
 
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...David Buck
 
Scaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloadsScaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloadsLuciano Resende
 
Shrinking the container_zurich_july_2018
Shrinking the container_zurich_july_2018Shrinking the container_zurich_july_2018
Shrinking the container_zurich_july_2018Ewan Slater
 
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogArtifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogCloud Study Network
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesNode.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesChristopher Jones
 
Strata - Scaling Jupyter with Jupyter Enterprise Gateway
Strata - Scaling Jupyter with Jupyter Enterprise GatewayStrata - Scaling Jupyter with Jupyter Enterprise Gateway
Strata - Scaling Jupyter with Jupyter Enterprise GatewayLuciano Resende
 
Docker Compose Setup for MySQL InnoDB Cluster
Docker Compose Setup for MySQL InnoDB ClusterDocker Compose Setup for MySQL InnoDB Cluster
Docker Compose Setup for MySQL InnoDB ClusterBalasubramanian Kandasamy
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Phil Wilkins
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsManish Kapur
 
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurCloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurOracle Developers
 

Similar to Randstad Docker meetup - Serverless (20)

Serverless Java Challenges & Triumphs
Serverless Java Challenges & TriumphsServerless Java Challenges & Triumphs
Serverless Java Challenges & Triumphs
 
Serverless Kotlin
Serverless KotlinServerless Kotlin
Serverless Kotlin
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOps
 
Introducing Fn Project
Introducing Fn ProjectIntroducing Fn Project
Introducing Fn Project
 
Grow Your Business with Oracle Linux, Virtualization- BL v6.pdf
Grow Your Business with Oracle Linux, Virtualization- BL v6.pdfGrow Your Business with Oracle Linux, Virtualization- BL v6.pdf
Grow Your Business with Oracle Linux, Virtualization- BL v6.pdf
 
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with OracleDelivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About Logging
 
9thMeetup-20190316-CI/CD 기반의 Microservice 배포
9thMeetup-20190316-CI/CD 기반의 Microservice 배포9thMeetup-20190316-CI/CD 기반의 Microservice 배포
9thMeetup-20190316-CI/CD 기반의 Microservice 배포
 
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
 
Scaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloadsScaling notebooks for Deep Learning workloads
Scaling notebooks for Deep Learning workloads
 
Shrinking the container_zurich_july_2018
Shrinking the container_zurich_july_2018Shrinking the container_zurich_july_2018
Shrinking the container_zurich_july_2018
 
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrogArtifactory Essentials Workshop on August 27, 2020 by JFrog
Artifactory Essentials Workshop on August 27, 2020 by JFrog
 
Node.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development TechniquesNode.js and Oracle Database: New Development Techniques
Node.js and Oracle Database: New Development Techniques
 
Strata - Scaling Jupyter with Jupyter Enterprise Gateway
Strata - Scaling Jupyter with Jupyter Enterprise GatewayStrata - Scaling Jupyter with Jupyter Enterprise Gateway
Strata - Scaling Jupyter with Jupyter Enterprise Gateway
 
Docker Compose Setup for MySQL InnoDB Cluster
Docker Compose Setup for MySQL InnoDB ClusterDocker Compose Setup for MySQL InnoDB Cluster
Docker Compose Setup for MySQL InnoDB Cluster
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native Applications
 
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish KapurCloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
Cloud Native Meetup Santa Clara 07-11-2019 by Manish Kapur
 
ISC HPCW talks
ISC HPCW talksISC HPCW talks
ISC HPCW talks
 

More from David Delabassee

JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best PracticesDavid Delabassee
 
Java Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed BanffJava Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed BanffDavid Delabassee
 
Java EE 8 - February 2017 update
Java EE 8 - February 2017 updateJava EE 8 - February 2017 update
Java EE 8 - February 2017 updateDavid Delabassee
 
Java EE Next - BeJUG JavaOne Afterglow 2016
Java EE Next - BeJUG JavaOne Afterglow 2016Java EE Next - BeJUG JavaOne Afterglow 2016
Java EE Next - BeJUG JavaOne Afterglow 2016David Delabassee
 
Java EE 8 - Work in progress
Java EE 8 - Work in progressJava EE 8 - Work in progress
Java EE 8 - Work in progressDavid Delabassee
 
HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)David Delabassee
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyDavid Delabassee
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontDavid Delabassee
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8David Delabassee
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0David Delabassee
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot David Delabassee
 

More from David Delabassee (20)

JVMs in Containers - Best Practices
JVMs in Containers - Best PracticesJVMs in Containers - Best Practices
JVMs in Containers - Best Practices
 
JVMs in Containers
JVMs in ContainersJVMs in Containers
JVMs in Containers
 
Java Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed BanffJava Serverless in Action - Voxxed Banff
Java Serverless in Action - Voxxed Banff
 
REST in an Async World
REST in an Async WorldREST in an Async World
REST in an Async World
 
JAX-RS 2.1 Reloaded
JAX-RS 2.1 ReloadedJAX-RS 2.1 Reloaded
JAX-RS 2.1 Reloaded
 
Java EE 8 - February 2017 update
Java EE 8 - February 2017 updateJava EE 8 - February 2017 update
Java EE 8 - February 2017 update
 
Java EE Next
Java EE NextJava EE Next
Java EE Next
 
Java EE Next - BeJUG JavaOne Afterglow 2016
Java EE Next - BeJUG JavaOne Afterglow 2016Java EE Next - BeJUG JavaOne Afterglow 2016
Java EE Next - BeJUG JavaOne Afterglow 2016
 
HTTP/2 comes to Java
HTTP/2 comes to JavaHTTP/2 comes to Java
HTTP/2 comes to Java
 
Java EE 8 - Work in progress
Java EE 8 - Work in progressJava EE 8 - Work in progress
Java EE 8 - Work in progress
 
HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)HTTP/2 comes to Java (Dec. 2015 version)
HTTP/2 comes to Java (Dec. 2015 version)
 
EJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and StrategyEJB and CDI - Alignment and Strategy
EJB and CDI - Alignment and Strategy
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Java EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web frontJava EE 8 - What’s new on the Web front
Java EE 8 - What’s new on the Web front
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
What's coming in Java EE 8
What's coming in Java EE 8What's coming in Java EE 8
What's coming in Java EE 8
 
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
 
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
 
Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot Java EE 8 - An instant snapshot
Java EE 8 - An instant snapshot
 
Avatar 2.0
Avatar 2.0Avatar 2.0
Avatar 2.0
 

Recently uploaded

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Recently uploaded (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

Randstad Docker meetup - Serverless

  • 1. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Fn Project Randstad Docker meetup 1 David Delabassee - @delabassee Oracle January 30, 2019
  • 2. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 2 Preamble…
  • 3. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 3
  • 4. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 4
  • 5. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Function As a Service • Function • As a Service 5 Small bits of code with a well defined job Easy to understand and maintain The system takes care of provisioning, patching, scaling, ... Each function can scale independently
  • 6. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 6 https://jaxenter.com/technologies-dominate-2019-poll-152470.html
  • 7. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 7 https://twitter.com/monkchips/status/1088002995525242880
  • 8. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Coming Soon: Oracle Functions 8 Autonomous Platform auto-scales functions No servers to provision, manage Pay Per Use Pay for execution, not for idle time No Lock-in Built on open-source Fn Project and Docker Oracle Functions Functions-as-a-Service Oracle Cloud Integrated Container Native Multi-tenant Secure Open Source Engine
  • 9. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. FaaS Platform – Roles & Responsibilities 9 Users Provider
  • 10. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 10 Open-Source Container-Native FaaS Platform Introducing Fn Project https://github.com/fnproject
  • 11. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. The Ideal FaaS Platform? Open-Source Approachable Container-Native Language Independent Scheduler Independent Platform Independent No vendor lock-in Easy for new users Leverage Docker and its ecosystem Go, Java, Python, … K8S, Swarm, Mesos, ... Cloud, On-Perm, laptop
  • 12. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn Architecture • Fn CLI • Fn FDK's
  • 13. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Introducing Fn Function Code wrapped in a Container Image –Via a “wrapper” • Input from stdin • Output to stdout • Logs to stderr –Or simply use an FDK! Fn handles everything else!
  • 14. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn and java 14
  • 15. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn … not just Java 15 • Go • Python • Node • Ruby • … • bring your own! – Init-image
  • 16. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. fn deploy 16 • Build container (multi-stage) + bumps version • Push container to registry (unless --local) • Create or update function trigger SomeFunc:0.0.1 SomeFunc:0.0.1 SomeFunc:0.0.1 User code Fn Service somefunc → /r/app/somefunc:0.0.1
  • 17. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn Triggers 17 • Entry points for function invocation • Multiple triggers may call the same function • HTTP trigger, more coming $ fn init --runtime node --trigger http hello … $ fn list triggers nodeapp FUNCTION NAME TYPE SOURCE ENDPOINT hello my-trigger http /hi http://10.8.10.103/t/nodeapp/hello
  • 18. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Logging 18 syslog & logspout
  • 19. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn and Developers 19 • Strong Developer Focus – E.g. keep using your preferred tool chain • FDK • Fn CLI # fn init # fn build (optional) # fn deploy # fn invoke
  • 20. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. DIY Serverless 20 • Roles & Responsibilities – Users and Provider • Why? – Don’t Lean into Lock-in, Open is Good, Flexibility is Great – Specific requirement, e.g. local legislation – More controls and customization – Learning, Development, etc.
  • 21. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. DIY Serverless 21 • Requirements – Fn Project – Kubernetes – Infrastructure – DevOps Ninja Skills
  • 22. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. DIY Serverless 22 • Scheduler Agnostic – Optimizations and additional management work underway for K8S • Helm chart – https://github.com/fnproject/fn-helm
  • 23. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. DIY Serverless 23 • Requirements – Fn Project – Kubernetes – DevOps Ninja Skills Oracle Container Engine for Kubernetes
  • 24. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Observability and Analytics with Prometheus & Grafana 24
  • 25. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Tracing with OpenTracing and Jaeger 25
  • 26. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Customizing and Extending Fn 26 • Listeners – App, Call, Fn and Trigger listeners – Can listen to various API events and respond to them • Middleware – Add functionality for every API request – Cancel the request or call the next middleware in the chain – E.g. Authentication middleware that checks headers for a custom token • Custom API endpoint – E.g. Custom API endpoint that handles requests to a custom HTTP route
  • 27. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Low Latency • Hot Functions • Start Fast • Run Small(er) images 27
  • 28. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn Hot functions 28 • Cold start time (~300ms) is incurred on a first invocation • Fn will pause the container for a time, default 30s • Subsequent invocations will be “hot”, and reset the cooldown
  • 29. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Start Fast 29 E.g. Java - Moving Startup Costs to Build-Time • Class Data Sharing –Avoid parsing JDK classes on start • Application CDS –Avoid parsing App classes on start • AOT compilation –Compile App classes to native .so libraries (experimental)
  • 30. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Run Small(er) Images Small container images = faster start-up –Transferring images to a host –COW caches –Overlay FS 30 E.g. Java - Better start-up time
  • 31. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Run Small(er) Images 31 Remove parts of Java standard library that you don't use Function and its dependencies Java runtime Operating System Java 11 vs. Java 11 with jlink
  • 32. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Run Small(er) Images Security-oriented, lightweight Linux distribution with 4MB base image Lightweight, fast, simple, free, C standard library implementation 32 E.g. Java Project Portola’s goal is to run the JVM on Alpine Linux/Musl
  • 33. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Run Small(er) Images • GraalVM compiles Java source to a single native binary • Tiny image sizes • Low VM overhead 33 E.g. Java
  • 34. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Fn Project • Open Source Container Native FaaS Platform –https://github.com/fnproject • Development choices –Go, Java, Node, Python, etc. • Operation choices –DIY Serverless – ➥ Oracle Container Engine for Kubernetes + Fn –➥ FaaS, i.e. Oracle Functions (soon) 34 Wrap-up
  • 35. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. Coming Soon: Oracle Functions Function Dev KitsOpen Source Engine Oracle Cloud Triggers Events HTTP Timer Streams Container Native Advanced DiagnosticsFine-grained Billing
  • 36. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. 36 Dank u!
  • 37. Copyright © 2019, Oracle and/or its affiliates. All rights reserved. https://cloud.oracle.com/TryIt Get $500 USD of free credits