Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Oracle's Fn Serverless Platform Adds Prometheus Support and Helm Chart Installation for Kubernetes

Oracle's Fn Serverless Platform Adds Prometheus Support and Helm Chart Installation for Kubernetes

This item in japanese

At the recent KubeCon NA conference that was held in Austin, USA, InfoQ sat down and discussed Oracle's Function-as-a-Service (FaaS) "serverless" Fn Project with Bob Quillin, vice president of Oracle Container Group. Fn has evolved rapidly since its launch in October 2017, and new additions to the project include: support for Prometheus monitoring; the implementation of Fn Flow high-availability clustering; a new Hybrid Architecture; and an open source Helm Chart Fn installer.

Quillin began the conversation by stating that Fn is an open source "event-driven, FaaS compute platform that you can run anywhere" (InfoQ covered the launch of Fn at last year's JavaOne in San Francisco). He stressed that building "open tooling on open platforms" like Kubernetes was the most effective method for increasing adoption from organisations looking to embrace "cloud native" approaches.

The recent addition of Prometheus metrics support to the Fn Server allows call statistics, performance data, resource consumption, and more, to be sent to the Prometheus monitoring systems and time series database. Currently Fn provides three sets of Prometheus metrics: function counts -- the number of functions running, succeeded or failed; operation durations -- the time taken to perform various operations, such as function execution; Docker metrics -- when Fn executes a function in a Docker container it obtains various statistics from that container, such as CPU and memory usage. Metrics data can be visualised using a series of Grafana dashboards, which are now provided "out of the box".

Quillin discussed how "DevOps is finally being realised" with frameworks like Fn, and suggested that by abstracting some of the operational aspects (for example, packaging code within Docker images) and exposing core "observability" tooling, developers can now become more effective at delivering business value.

Fn Flow allows the creation and orchestration of "long-running, reliable and scalable functions" that only consume compute resources when they have work to do. Fn Flow allows all of the workflow to be defined using only a single language -- currently only Java is supported, but there are early prototypes for other languages -- and also enables the use of idiomatic language constructs, such as the Java 8 CompletableFuture API methods.

The latest release of Fn Flow supports clustering across multiple compute instances, which allows the platform to be run with high-availability. It is worth noting that Fn Flow is competing within an increasingly active market segment of next-generation business process modelling and orchestration tools like RockScript, Apache NiFi and AWS Step Functions.

While integrating Fn into enterprise customer environments, the Oracle team found that some installations require the infrastructure executing customer code be separated from the API infrastructure for various reasons  -- for example, some customers want a serverless platform to be "fully managed", but still allow the code execution to happen behind a firewall where the code and data never leaves that network. Accordingly, the Fn team have designed a "Hybrid Architecture", and this is being worked upon and tracked within the Fn issue tracker.

Also announced at Kubecon was the release of an Fn Project Helm Chart that was developed by the Fn core team. This facilitates easy deployment of the platform onto a Kubernetes cluster. The core design principles behind the project included: simplified deployment and administration -- Fn consists of several components, each of which are configurable to some degree, and this tends to lead to operational cognitive overload; support for deployment to any Kubernetes cluster (and cloud vendor) -- the chart should be deployable to any compute infrastructure that meets this need, whether it be in the cloud, on-premise, or on a laptop running minikube; and open source -- the Fn core team wanted to share the chart with the community.

Wrapping up the discussion at KubeCon, Quillin discussed the benefits of the Cloud Native Computing Foundation (CNCF) -- a foundation that he believes can help craft the vision (and implementation) of the future of "cloud native" computing, and also provide enterprise validation for this technology -- and suggested that Oracle will continue to take advantage of its current Platinum membership. The future roadmap for the Fn Project includes involvement with the CNCF serverless working group, a focus on support for CI/CD of functions, and exploration of the role of service mesh technology like Istio and Envoy.

Developers looking to get started with Fn can consult the project website, explore an extensive set of tutorials within the Fn GitHub repository, watch content on the project's YouTube channel, and ask questions via the Fn community Slack.

Rate this Article